diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 65c322562cd..413cd4c7f91 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2021-03-26 Andrew Burgess + + * gdb.cp/nsusing.exp: Rewrite test, remove a duplicate test block. + Avoid repeated uses of 'runto', and instread just progress once + through the test stopping at different breakpoints. Give comments + a capital letter and full stop. Give duplicate tests unique names. + 2021-03-25 Pedro Alves * gdb.server/stop-reply-no-thread-multi.exp (run_test): Add diff --git a/gdb/testsuite/gdb.cp/nsusing.exp b/gdb/testsuite/gdb.cp/nsusing.exp index ce906b096e8..8020eb03f45 100644 --- a/gdb/testsuite/gdb.cp/nsusing.exp +++ b/gdb/testsuite/gdb.cp/nsusing.exp @@ -13,7 +13,6 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . - standard_testfile .cc if [get_compiler_info] { @@ -25,8 +24,7 @@ if {[prepare_for_testing "failed to prepare" $testfile $srcfile {debug c++}]} { } ############################################ -# test printing of namespace imported within -# the function. +# Test printing of namespace imported within the function. if ![runto_main] then { perror "couldn't run to breakpoint main" @@ -35,69 +33,19 @@ if ![runto_main] then { gdb_test "print _a" "= 1" -# Test that names are not printed when they -# are not imported - -gdb_breakpoint marker3 -gdb_continue_to_breakpoint "marker3" - -#send_gdb "break marker3\n" -#send_gdb "continue\n" - -gdb_test "print _a" "No symbol \"_a\" in current context." \ - "Print _a without import" - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - - ############################################ -# test printing of namespace imported into -# a scope containing the pc. - -if ![runto_main] then { - perror "couldn't run to breakpoint main" - continue -} +# Test printing of namespace imported into a scope containing the pc. gdb_breakpoint [gdb_get_line_number "marker1 stop"] gdb_continue_to_breakpoint "marker1 stop" gdb_test "print _a" "= 1" "print _a in a nested scope" - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - ############################################ -# test printing of namespace imported into -# file scope. +# Test printing of namespace aliases. - -if ![runto marker5] then { - perror "couldn't run to breakpoint marker5" - continue -} - -gdb_test "print cc" "= 3" - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - - -############################################ -# Test printing of namespace aliases - -if ![runto marker2] then { - perror "couldn't run to breakpoint marker2" - continue -} +gdb_breakpoint marker2 +gdb_continue_to_breakpoint "marker2" gdb_test "print B::_a" "= 1" @@ -107,19 +55,12 @@ gdb_test "print _a" "No symbol \"_a\" in current context." \ gdb_test "print x" "No symbol \"x\" in current context." \ "print x in namespace alias scope" -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - - ############################################ # Test that names are not printed when they -# are not imported +# are not imported. -if {![runto marker3]} { - perror "couldn't run to breakpoint marker3" -} +gdb_breakpoint marker3 +gdb_continue_to_breakpoint "marker3" # gcc-4-3 puts import statements for aliases in # the global scope instead of the corresponding @@ -128,70 +69,62 @@ if {![runto marker3]} { if [test_compiler_info gcc-4-3-*] then { setup_xfail *-*-* } gdb_test "print _a" "No symbol \"_a\" in current context." \ - "Print _a without import" + "Print _a without import at marker3" ############################################ -# Test printing of individually imported elements +# Test printing of individually imported elements. -if ![runto marker4] then { - perror "couldn't run to breakpoint marker4" - continue -} +gdb_breakpoint marker4 +gdb_continue_to_breakpoint "marker4" gdb_test "print dx" "= 4" ############################################ -# Test printing of namespace aliases +# Test printing of namespace imported into file scope. -if ![runto marker5] then { - perror "couldn't run to marker5" - continue -} +gdb_breakpoint marker5 +gdb_continue_to_breakpoint "marker5" + +gdb_test "print cc" "= 3" + +# Also test printing of namespace aliases gdb_test "print efx" "= 5" ############################################ -# Test printing of variables imported from -# nested namespaces +# Test printing of variables imported from nested namespaces. -if ![runto I::marker7] then { - perror "couldn't run to breakpoint I::marker7" - continue -} +gdb_breakpoint I::marker7 +gdb_continue_to_breakpoint "I::marker7" gdb_test "print ghx" "= 6" ############################################ -# Test that variables are not printed in a namespace -# that is sibling to the namespace containing an import +# Test that variables are not printed in a namespace that is sibling +# to the namespace containing an import. -if ![runto L::marker8] then { - perror "couldn't run to breakpoint L::marker8" - continue -} +gdb_breakpoint L::marker8 +gdb_continue_to_breakpoint "L::marker8" -gdb_test "print jx" "= 44" +gdb_test "print jx" "= 44" \ + "print jx when the symbol is available" gdb_breakpoint "K::marker9" gdb_continue_to_breakpoint "K::marker9" -gdb_test "print jx" "No symbol \"jx\" in current context." +gdb_test "print jx" "No symbol \"jx\" in current context." \ + "print jx when the symbol is not available" ############################################ -# Test that variables are only printed after the line -# containing the import - -if ![runto_main] then { - perror "couldn't run to breakpoint main" - continue -} +# Test that variables are only printed after the line containing the +# import. gdb_breakpoint [gdb_get_line_number "marker10 stop"] gdb_continue_to_breakpoint "marker10 stop" if { [test_compiler_info {gcc-[0-3]-*}] || [test_compiler_info {gcc-4-[0-3]-*}]} { - setup_xfail *-*-* + setup_xfail *-*-* } # Assert that M::x is printed and not N::x