* gdb.python/py-symbol.exp: Add some comments. Make all test names unique.

This commit is contained in:
Doug Evans 2013-11-23 15:45:43 -08:00
parent f873dd7ade
commit 985c818c2d
2 changed files with 34 additions and 16 deletions

View File

@ -1,3 +1,8 @@
2013-11-23 Doug Evans <xdje42@gmail.com>
* gdb.python/py-symbol.exp: Add some comments. Make all test names
unique.
2013-11-23 Doug Evans <xdje42@gmail.com>
* gdb.python/py-symbol.exp: Fix whitespace.

View File

@ -62,25 +62,27 @@ gdb_py_test_silent_cmd "python frame = gdb.selected_frame()" "Get Frame" 0
gdb_py_test_silent_cmd "python block = frame.block()" "Get block" 0
# Test is_argument attribute.
gdb_py_test_silent_cmd "python arg = gdb.lookup_symbol(\"arg\")" "Get variable a" 0
gdb_py_test_silent_cmd "python arg = gdb.lookup_symbol(\"arg\")" "Get variable arg" 0
gdb_test "python print (arg\[0\].is_variable)" "False" "Test arg.is_variable"
gdb_test "python print (arg\[0\].is_constant)" "False" "Test arg.is_constant"
gdb_test "python print (arg\[0\].is_argument)" "True" "Test arg.is_argument"
gdb_test "python print (arg\[0\].is_function)" "False" "Test arg.is_function"
# Test is_function attribute.
gdb_py_test_silent_cmd "python func = frame.block().function" "Get block" 0
gdb_py_test_silent_cmd "python func = block.function" "Get block function" 0
gdb_test "python print (func.is_variable)" "False" "Test func.is_variable"
gdb_test "python print (func.is_constant)" "False" "Test func.is_constant"
gdb_test "python print (func.is_argument)" "False" "Test func.is_argument"
gdb_test "python print (func.is_function)" "True" "Test func.is_function"
# Test attributes of func.
gdb_test "python print (func.name)" "func" "Test func.name"
gdb_test "python print (func.print_name)" "func" "Test func.print_name"
gdb_test "python print (func.linkage_name)" "func" "Test func.linkage_name"
gdb_test "python print (func.addr_class == gdb.SYMBOL_LOC_BLOCK)" "True" "Test func.addr_class"
gdb_breakpoint [gdb_get_line_number "Break at end."]
gdb_continue_to_breakpoint "Break at end."
gdb_continue_to_breakpoint "Break at end for variable a" ".*Break at end.*"
gdb_py_test_silent_cmd "python frame = gdb.selected_frame()" "Get Frame" 0
# Test is_variable attribute.
@ -89,6 +91,8 @@ gdb_test "python print (a\[0\].is_variable)" "True" "Test a.is_variable"
gdb_test "python print (a\[0\].is_constant)" "False" "Test a.is_constant"
gdb_test "python print (a\[0\].is_argument)" "False" "Test a.is_argument"
gdb_test "python print (a\[0\].is_function)" "False" "Test a.is_function"
# Test attributes of a.
gdb_test "python print (a\[0\].addr_class == gdb.SYMBOL_LOC_COMPUTED)" "True" "Test a.addr_class"
gdb_test "python print (a\[0\].value())" \
@ -100,11 +104,13 @@ gdb_test "python print (a\[0\].needs_frame)" "True" \
"print whether a needs a frame"
# Test is_constant attribute
gdb_py_test_silent_cmd "python t = gdb.lookup_symbol(\"one\")" "Get variable a" 0
gdb_py_test_silent_cmd "python t = gdb.lookup_symbol(\"one\")" "Get constant t" 0
gdb_test "python print (t\[0\].is_variable)" "False" "Test t.is_variable"
gdb_test "python print (t\[0\].is_constant)" "True" "Test t.is_constant"
gdb_test "python print (t\[0\].is_argument)" "False" "Test t.is_argument"
gdb_test "python print (t\[0\].is_function)" "False" "Test t.is_function"
# Test attributes of t.
gdb_test "python print (t\[0\].addr_class == gdb.SYMBOL_LOC_CONST)" "True" "Test t.addr_class"
# Test type attribute.
@ -134,16 +140,22 @@ if ![runto_main] then {
gdb_breakpoint [gdb_get_line_number "Break in class."]
gdb_continue_to_breakpoint "Break in class."
gdb_py_test_silent_cmd "python cplusframe = gdb.selected_frame()" "Get Frame" 0
gdb_py_test_silent_cmd "python cplusfunc = cplusframe.block().function" "Get block" 0
gdb_test "python print (cplusfunc.is_variable)" "False" "Test func.is_variable"
gdb_test "python print (cplusfunc.is_constant)" "False" "Test func.is_constant"
gdb_test "python print (cplusfunc.is_argument)" "False" "Test func.is_argument"
gdb_test "python print (cplusfunc.is_function)" "True" "Test func.is_function"
gdb_test "python print (cplusfunc.name)" "SimpleClass::valueofi().*" "Test func.name"
gdb_test "python print (cplusfunc.print_name)" "SimpleClass::valueofi().*" "Test func.print_name"
gdb_test "python print (cplusfunc.linkage_name)" "SimpleClass::valueofi().*" "Test func.linkage_name"
gdb_test "python print (cplusfunc.addr_class == gdb.SYMBOL_LOC_BLOCK)" "True" "Test func.addr_class"
gdb_py_test_silent_cmd "python cplusframe = gdb.selected_frame()" "Get Frame at class" 0
gdb_py_test_silent_cmd "python cplusfunc = cplusframe.block().function" "Get function at class" 0
gdb_test "python print (cplusfunc.is_variable)" \
"False" "Test cplusfunc.is_variable"
gdb_test "python print (cplusfunc.is_constant)" \
"False" "Test cplusfunc.is_constant"
gdb_test "python print (cplusfunc.is_argument)" \
"False" "Test cplusfunc.is_argument"
gdb_test "python print (cplusfunc.is_function)" \
"True" "Test cplusfunc.is_function"
gdb_test "python print (cplusfunc.name)" "SimpleClass::valueofi().*" "Test method.name"
gdb_test "python print (cplusfunc.print_name)" "SimpleClass::valueofi().*" "Test method.print_name"
gdb_test "python print (cplusfunc.linkage_name)" "SimpleClass::valueofi().*" "Test method.linkage_name"
gdb_test "python print (cplusfunc.addr_class == gdb.SYMBOL_LOC_BLOCK)" "True" "Test method.addr_class"
# Test is_valid when the objfile is unloaded. This must be the last
# test as it unloads the object file in GDB.
@ -153,11 +165,12 @@ if ![runto_main] then {
fail "Cannot run to main."
return 0
}
gdb_breakpoint [gdb_get_line_number "Break at end."]
gdb_continue_to_breakpoint "Break at end."
gdb_continue_to_breakpoint "Break at end for symbol validity" ".*Break at end.*"
gdb_py_test_silent_cmd "python a = gdb.lookup_symbol(\'a\')" "Get variable a" 0
gdb_test "python print (a\[0\].is_valid())" "True" "Test symbol validity"
delete_breakpoints
gdb_unload
gdb_test "python print (a\[0\].is_valid())" "False" "Test symbol validity"
gdb_test "python print (a\[0\].is_valid())" "False" "Test symbol non-validity"
gdb_test_no_output "python a = None" "Test symbol destructor"