OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gdb-7.1/] [gdb/] [testsuite/] [gdb.python/] [python.exp] - Diff between revs 227 and 816

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 227 Rev 816
# Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
# Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
# (at your option) any later version.
#
#
# This program is distributed in the hope that it will be useful,
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# GNU General Public License for more details.
#
#
# You should have received a copy of the GNU General Public License
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see .
# along with this program.  If not, see .
# This file is part of the GDB testsuite.  It tests the mechanism
# This file is part of the GDB testsuite.  It tests the mechanism
# exposing values to Python.
# exposing values to Python.
if $tracelevel then {
if $tracelevel then {
    strace $tracelevel
    strace $tracelevel
}
}
# Start with a fresh gdb.
# Start with a fresh gdb.
gdb_exit
gdb_exit
gdb_start
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
gdb_reinitialize_dir $srcdir/$subdir
gdb_test_multiple "python print 23" "verify python support" {
gdb_test_multiple "python print 23" "verify python support" {
    -re "not supported.*$gdb_prompt $"  {
    -re "not supported.*$gdb_prompt $"  {
      unsupported "python support is disabled"
      unsupported "python support is disabled"
      # If Python is not supported, verify that sourcing a python script
      # If Python is not supported, verify that sourcing a python script
      # causes an error.
      # causes an error.
      gdb_test "source $srcdir/$subdir/source2.py" "Error in sourced command file:.*"
      gdb_test "source $srcdir/$subdir/source2.py" "Error in sourced command file:.*"
      return -1
      return -1
    }
    }
    -re "$gdb_prompt $" {}
    -re "$gdb_prompt $" {}
}
}
# Usage: gdb_py_test_multiple NAME INPUT RESULT {INPUT RESULT}...
# Usage: gdb_py_test_multiple NAME INPUT RESULT {INPUT RESULT}...
# Run a test named NAME, consisting of multiple lines of input.
# Run a test named NAME, consisting of multiple lines of input.
# After each input line INPUT, search for result line RESULT.
# After each input line INPUT, search for result line RESULT.
# Succeed if all results are seen; fail otherwise.
# Succeed if all results are seen; fail otherwise.
proc gdb_py_test_multiple {name args} {
proc gdb_py_test_multiple {name args} {
    global gdb_prompt
    global gdb_prompt
    foreach {input result} $args {
    foreach {input result} $args {
        if {[gdb_test_multiple $input "$name - $input" {
        if {[gdb_test_multiple $input "$name - $input" {
            -re "\[\r\n\]*($result)\[\r\n\]+($gdb_prompt | *>)$" {
            -re "\[\r\n\]*($result)\[\r\n\]+($gdb_prompt | *>)$" {
                pass "$name - $input"
                pass "$name - $input"
            }
            }
        }]} {
        }]} {
            return 1
            return 1
        }
        }
    }
    }
    return 0
    return 0
}
}
gdb_py_test_multiple "multi-line python command" \
gdb_py_test_multiple "multi-line python command" \
  "python" "" \
  "python" "" \
  "print 23" "" \
  "print 23" "" \
  "end" "23"
  "end" "23"
gdb_py_test_multiple "show python command" \
gdb_py_test_multiple "show python command" \
  "define zzq" "Type commands for definition of .* just \"end\"\\.*" \
  "define zzq" "Type commands for definition of .* just \"end\"\\.*" \
  "python" "" \
  "python" "" \
  "print 23" "" \
  "print 23" "" \
  "end" "" \
  "end" "" \
  "end" "" \
  "end" "" \
  "show user zzq" "User command \"zzq\":.*  python.*print 23.*  end"
  "show user zzq" "User command \"zzq\":.*  python.*print 23.*  end"
gdb_py_test_multiple "indented multi-line python command" \
gdb_py_test_multiple "indented multi-line python command" \
  "python" "" \
  "python" "" \
  "def foo ():" "" \
  "def foo ():" "" \
  "  print 'hello, world!'" "" \
  "  print 'hello, world!'" "" \
  "foo ()" "" \
  "foo ()" "" \
  "end" "hello, world!"
  "end" "hello, world!"
gdb_test "source $srcdir/$subdir/source2.py" "yes"
gdb_test "source $srcdir/$subdir/source2.py" "yes"
gdb_test "python print gdb.current_objfile()" "None"
gdb_test "python print gdb.current_objfile()" "None"
gdb_test "python print gdb.objfiles()" "\\\[\\\]"
gdb_test "python print gdb.objfiles()" "\\\[\\\]"
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.