From 985c818c2d77d70379d7b866eae73e0baa079d1b Mon Sep 17 00:00:00 2001 From: Doug Evans Date: Sat, 23 Nov 2013 15:45:43 -0800 Subject: [PATCH] * gdb.python/py-symbol.exp: Add some comments. Make all test names unique. --- gdb/testsuite/ChangeLog | 5 +++ gdb/testsuite/gdb.python/py-symbol.exp | 45 +++++++++++++++++--------- 2 files changed, 34 insertions(+), 16 deletions(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 9e263d746dc..24bcfc62d5c 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2013-11-23 Doug Evans + + * gdb.python/py-symbol.exp: Add some comments. Make all test names + unique. + 2013-11-23 Doug Evans * gdb.python/py-symbol.exp: Fix whitespace. diff --git a/gdb/testsuite/gdb.python/py-symbol.exp b/gdb/testsuite/gdb.python/py-symbol.exp index 5befd2d528f..85ee5ff85ae 100644 --- a/gdb/testsuite/gdb.python/py-symbol.exp +++ b/gdb/testsuite/gdb.python/py-symbol.exp @@ -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" -- 2.30.2