Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(528)

Side by Side Diff: gdb/testsuite/gdb.python/py-symtab.exp

Issue 11969036: Merge GDB 7.5.1 (Closed) Base URL: http://git.chromium.org/native_client/nacl-gdb.git@master
Patch Set: Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « gdb/testsuite/gdb.python/py-symbol.exp ('k') | gdb/testsuite/gdb.python/py-template.exp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (C) 2010-2012 Free Software Foundation, Inc. 1 # Copyright (C) 2010-2012 Free Software Foundation, Inc.
2 2
3 # This program is free software; you can redistribute it and/or modify 3 # This program is free software; you can redistribute it and/or modify
4 # it under the terms of the GNU General Public License as published by 4 # it under the terms of the GNU General Public License as published by
5 # the Free Software Foundation; either version 3 of the License, or 5 # the Free Software Foundation; either version 3 of the License, or
6 # (at your option) any later version. 6 # (at your option) any later version.
7 # 7 #
8 # This program is distributed in the hope that it will be useful, 8 # This program is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of 9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 # GNU General Public License for more details. 11 # GNU General Public License for more details.
12 # 12 #
13 # You should have received a copy of the GNU General Public License 13 # You should have received a copy of the GNU General Public License
14 # along with this program. If not, see <http://www.gnu.org/licenses/>. 14 # along with this program. If not, see <http://www.gnu.org/licenses/>.
15 15
16 # This file is part of the GDB testsuite. It tests the mechanism 16 # This file is part of the GDB testsuite. It tests the mechanism
17 # exposing values to Python. 17 # exposing values to Python.
18 18
19 if $tracelevel then {
20 strace $tracelevel
21 }
22
23 load_lib gdb-python.exp 19 load_lib gdb-python.exp
24 20
25 set testfile "py-symbol" 21 standard_testfile py-symbol.c
26 set srcfile ${testfile}.c 22
27 set binfile ${objdir}/${subdir}/${testfile} 23 if {[prepare_for_testing $testfile.exp $testfile $srcfile debug]} {
28 if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debu g}] != "" } {
29 untested "Couldn't compile ${srcfile}"
30 return -1 24 return -1
31 } 25 }
32 26
33 # Start with a fresh gdb.
34 gdb_exit
35 gdb_start
36 gdb_reinitialize_dir $srcdir/$subdir
37 gdb_load ${binfile}
38
39 # Skip all tests if Python scripting is not enabled. 27 # Skip all tests if Python scripting is not enabled.
40 if { [skip_python_tests] } { continue } 28 if { [skip_python_tests] } { continue }
41 29
42 if ![runto_main] then { 30 if ![runto_main] then {
43 fail "Can't run to main" 31 fail "Can't run to main"
44 return 0 32 return 0
45 } 33 }
46 34
47 global hex decimal 35 global hex decimal
48 36
49 # Setup and get the symbol table. 37 # Setup and get the symbol table.
50 gdb_breakpoint [gdb_get_line_number "Block break here."] 38 set line_no [gdb_get_line_number "Block break here."]
39 gdb_breakpoint $line_no
51 gdb_continue_to_breakpoint "Block break here." 40 gdb_continue_to_breakpoint "Block break here."
52 gdb_py_test_silent_cmd "python frame = gdb.selected_frame()" "Get Frame" 0 41 gdb_py_test_silent_cmd "python frame = gdb.selected_frame()" "Get Frame" 0
53 gdb_py_test_silent_cmd "python sal = frame.find_sal()" "Get block" 0 42 gdb_py_test_silent_cmd "python sal = frame.find_sal()" "Get block" 0
54 gdb_py_test_silent_cmd "python symtab = sal.symtab" "Get block" 0 43 gdb_py_test_silent_cmd "python symtab = sal.symtab" "Get block" 0
44 gdb_py_test_silent_cmd "python global_block = symtab.global_block()" "Get global block" 0
45 gdb_py_test_silent_cmd "python static_block = symtab.static_block()" "Get static block" 0
46 gdb_py_test_silent_cmd "python global_symbols = \[\]; static_symbols = \[\]" "Se t up symbol name lists" 0
47 gdb_py_test_silent_cmd "python for sym in global_block: global_symbols.append(sy m.name)" "Get global symbol names" 0
48 gdb_py_test_silent_cmd "python for sym in static_block: static_symbols.append(sy m.name)" "Get static symbol names" 0
49 gdb_py_test_silent_cmd "step" "Step to the next line" 0
50 gdb_py_test_silent_cmd "python new_pc = gdb.selected_frame().find_sal().pc" "Get new PC" 0
55 51
56 # Test sal. 52 # Test sal.
57 gdb_test "python print sal.symtab" ".*gdb.python/py-symbol.c.*" "Test symtab" 53 gdb_test "python print sal.symtab" ".*gdb.python/py-symbol.c.*" "Test symtab"
58 gdb_test "python print sal.pc" "${decimal}" "Test sal.pc" 54 gdb_test "python print sal.pc" "${decimal}" "Test sal.pc"
59 gdb_test "python print sal.line" "42" "Test sal.line" 55 gdb_test "python print sal.last == (new_pc - 1)" "True" "Test sal.last"
56 gdb_test "python print sal.line" "$line_no" "Test sal.line"
60 gdb_test "python print sal.is_valid()" "True" "Test sal.is_valid" 57 gdb_test "python print sal.is_valid()" "True" "Test sal.is_valid"
61 58
62 # Test symbol table. 59 # Test symbol table.
63 gdb_test "python print symtab.filename" ".*gdb.python/py-symbol.c.*" "Test symta b.filename" 60 gdb_test "python print symtab.filename" ".*gdb.python/py-symbol.c.*" "Test symta b.filename"
64 gdb_test "python print symtab.objfile" "<gdb.Objfile object at ${hex}>" "Test sy mtab.objfile" 61 gdb_test "python print symtab.objfile" "<gdb.Objfile object at ${hex}>" "Test sy mtab.objfile"
65 gdb_test "python print symtab.fullname()" "testsuite/gdb.python/py-symbol.c.*" " Test symtab.fullname" 62 gdb_test "python print symtab.fullname()" "testsuite/gdb.python/py-symbol.c.*" " Test symtab.fullname"
66 gdb_test "python print symtab.is_valid()" "True" "Test symtab.is_valid()" 63 gdb_test "python print symtab.is_valid()" "True" "Test symtab.is_valid()"
64 gdb_test "python print \"qq\" in global_symbols" "True" "Test qq in global symbo ls"
65 gdb_test "python print \"func\" in global_symbols" "True" "Test func in global s ymbols"
66 gdb_test "python print \"main\" in global_symbols" "True" "Test main in global s ymbols"
67 gdb_test "python print \"int\" in static_symbols" "True" "Test int in static sym bols"
68 gdb_test "python print \"char\" in static_symbols" "True" "Test char in static s ymbols"
69 gdb_test "python print \"simple_struct\" in static_symbols" "True" "Test simple_ struct in static symbols"
67 70
68 # Test is_valid when the objfile is unloaded. This must be the last 71 # Test is_valid when the objfile is unloaded. This must be the last
69 # test as it unloads the object file in GDB. 72 # test as it unloads the object file in GDB.
70 gdb_unload 73 gdb_unload
71 gdb_test "python print sal.is_valid()" "False" "Test sal.is_valid" 74 gdb_test "python print sal.is_valid()" "False" "Test sal.is_valid"
72 gdb_test "python print symtab.is_valid()" "False" "Test symtab.is_valid()" 75 gdb_test "python print symtab.is_valid()" "False" "Test symtab.is_valid()"
OLDNEW
« no previous file with comments | « gdb/testsuite/gdb.python/py-symbol.exp ('k') | gdb/testsuite/gdb.python/py-template.exp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698