diff options
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/testsuite/gdb.base/early-init-file.exp | 9 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/libsegfault.exp | 5 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/paginate-execution-startup.exp | 14 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/style.exp | 7 | ||||
-rw-r--r-- | gdb/testsuite/gdb.gdb/selftest.exp | 5 | ||||
-rw-r--r-- | gdb/testsuite/gdb.python/py-prompt.exp | 176 | ||||
-rw-r--r-- | gdb/testsuite/lib/gdb.exp | 9 | ||||
-rw-r--r-- | gdb/testsuite/lib/mi-support.exp | 4 |
8 files changed, 132 insertions, 97 deletions
diff --git a/gdb/testsuite/gdb.base/early-init-file.exp b/gdb/testsuite/gdb.base/early-init-file.exp index 07159d4..fcd1ff0 100644 --- a/gdb/testsuite/gdb.base/early-init-file.exp +++ b/gdb/testsuite/gdb.base/early-init-file.exp @@ -101,7 +101,10 @@ save_vars { env(TERM) } { setenv TERM ansi # Start GDB and confirm that the version string is styled. - check_gdb_startup_version_string version + save_vars { INTERNAL_GDBFLAGS env(HOME) env(XDG_CONFIG_HOME) } { + set INTERNAL_GDBFLAGS [string map {"-q" ""} $INTERNAL_GDBFLAGS] + check_gdb_startup_version_string version + } # Create an empty directory we can use as HOME for some of the # tests below. When we set XDG_CONFIG_HOME we still need to point @@ -120,7 +123,7 @@ save_vars { env(TERM) } { # Now arrange to use the fake home directory early init file. save_vars { INTERNAL_GDBFLAGS env(HOME) env(XDG_CONFIG_HOME) } { - set INTERNAL_GDBFLAGS [string map {"-nx" ""} $INTERNAL_GDBFLAGS] + set INTERNAL_GDBFLAGS [string map {"-nx" "" "-q" ""} $INTERNAL_GDBFLAGS] # Now test GDB when using the HOME directory. set env(HOME) $home_dir @@ -144,7 +147,7 @@ save_vars { env(TERM) } { # Now arrange to use the fake home directory startup file. save_vars { INTERNAL_GDBFLAGS env(HOME) env(XDG_CONFIG_HOME) } { - set INTERNAL_GDBFLAGS [string map {"-nx" ""} $INTERNAL_GDBFLAGS] + set INTERNAL_GDBFLAGS [string map {"-nx" "" "-q" ""} $INTERNAL_GDBFLAGS] # Now test GDB when using the HOME directory. set env(HOME) $home_dir diff --git a/gdb/testsuite/gdb.base/libsegfault.exp b/gdb/testsuite/gdb.base/libsegfault.exp index 7862c96..0af9615 100644 --- a/gdb/testsuite/gdb.base/libsegfault.exp +++ b/gdb/testsuite/gdb.base/libsegfault.exp @@ -84,4 +84,7 @@ proc test_libsegfault {} { } } -test_libsegfault +save_vars { ::INTERNAL_GDBFLAGS } { + set ::INTERNAL_GDBFLAGS [string map {"-q" ""} $::INTERNAL_GDBFLAGS] + test_libsegfault +} diff --git a/gdb/testsuite/gdb.base/paginate-execution-startup.exp b/gdb/testsuite/gdb.base/paginate-execution-startup.exp index 0b14db2..4c52d0f 100644 --- a/gdb/testsuite/gdb.base/paginate-execution-startup.exp +++ b/gdb/testsuite/gdb.base/paginate-execution-startup.exp @@ -172,12 +172,16 @@ proc test_fg_execution_pagination_cancel { how } { } } -if {[probe_can_run_cmdline] > 0} { - test_fg_execution_pagination_return - if ![target_info exists gdb,nointerrupts] { - test_fg_execution_pagination_cancel "ctrl-c" +save_vars { INTERNAL_GDBFLAGS } { + set INTERNAL_GDBFLAGS [string map {"-q" ""} $INTERNAL_GDBFLAGS] + + if {[probe_can_run_cmdline] > 0} { + test_fg_execution_pagination_return + if ![target_info exists gdb,nointerrupts] { + test_fg_execution_pagination_cancel "ctrl-c" + } + test_fg_execution_pagination_cancel "quit" } - test_fg_execution_pagination_cancel "quit" } set GDBFLAGS $saved_gdbflags diff --git a/gdb/testsuite/gdb.base/style.exp b/gdb/testsuite/gdb.base/style.exp index 0a7228c..0370550 100644 --- a/gdb/testsuite/gdb.base/style.exp +++ b/gdb/testsuite/gdb.base/style.exp @@ -459,7 +459,12 @@ proc test_disassembler_error_handling { } { # startup process). proc test_startup_version_string { } { gdb_exit - gdb_spawn + + save_vars { ::INTERNAL_GDBFLAGS } { + set ::INTERNAL_GDBFLAGS [string map {"-q" ""} $::INTERNAL_GDBFLAGS] + + gdb_spawn + } # Deliberate use of base STYLE proc here as the style of the # startup version string can't (currently) be controlled. diff --git a/gdb/testsuite/gdb.gdb/selftest.exp b/gdb/testsuite/gdb.gdb/selftest.exp index ac3f3fc..23d180a 100644 --- a/gdb/testsuite/gdb.gdb/selftest.exp +++ b/gdb/testsuite/gdb.gdb/selftest.exp @@ -165,4 +165,7 @@ proc test_with_self { } { return 0 } -do_self_tests captured_main test_with_self +save_vars { INTERNAL_GDBFLAGS } { + set INTERNAL_GDBFLAGS [string map {"-q" ""} $INTERNAL_GDBFLAGS] + do_self_tests captured_main test_with_self +} diff --git a/gdb/testsuite/gdb.python/py-prompt.exp b/gdb/testsuite/gdb.python/py-prompt.exp index 35e8144..d45bf0f 100644 --- a/gdb/testsuite/gdb.python/py-prompt.exp +++ b/gdb/testsuite/gdb.python/py-prompt.exp @@ -27,92 +27,96 @@ if {[build_executable $testfile.exp $testfile $srcfile debug] == -1} { return -1 } -global GDBFLAGS -set saved_gdbflags $GDBFLAGS -set GDBFLAGS [concat $GDBFLAGS " -ex \"set height 0\""] -set GDBFLAGS [concat $GDBFLAGS " -ex \"set width 0\""] -set GDBFLAGS [concat $GDBFLAGS " -ex \"python p = list()\""] -set prompt_func "python def foo(x): global p; p.append(x); return \'(Foo) \'" -set GDBFLAGS [concat $GDBFLAGS " -ex \"$prompt_func\""] -set GDBFLAGS [concat $GDBFLAGS " -ex \"python gdb.prompt_hook=foo\""] - -set tmp_gdbflags $GDBFLAGS -set gdb_prompt_fail $gdb_prompt - -global gdb_prompt -# Does not include the space at the end of the prompt. -# gdb_test expects it not to be there. -set gdb_prompt "\[(\]Foo\[)\]" - -with_test_prefix "set editing on" { - set GDBFLAGS [concat $tmp_gdbflags " -ex \"set editing on\""] - prompt_gdb_start - gdb_test "python x = len(p); print (gdb.execute(\"show prompt\", to_string = True))" \ - ".*prompt is \"$gdb_prompt \".*" \ - "show prompt gets the correct result" - gdb_test "python print ('%d %d' % (x, len(p)))" "1 2" \ - "retrieving the prompt causes no extra prompt_hook calls" - gdb_test "python print (\"'\" + str(p\[0\]) + \"'\")" "'$gdb_prompt_fail '" \ - "prompt_hook argument is default prompt." - gdb_exit -} - -with_test_prefix "set editing off" { - set GDBFLAGS [concat $tmp_gdbflags " -ex \"set editing off\""] - prompt_gdb_start - gdb_test "python x = len(p); print (gdb.execute(\"show prompt\", to_string = True))" \ - ".*prompt is \"$gdb_prompt \".*" \ - "show prompt gets the correct result 2" - gdb_test "python print ('%d %d' % (x, len(p)))" "1 2" \ - "retrieving the prompt causes no extra prompt_hook calls 2" - gdb_test "python print (\"'\" + str(p\[0\]) + \"'\")" "'$gdb_prompt_fail '" \ - "prompt_hook argument is default prompt. 2" - gdb_exit -} +save_vars { INTERNAL_GDBFLAGS } { + set INTERNAL_GDBFLAGS [string map {"-q" ""} $INTERNAL_GDBFLAGS] + + global GDBFLAGS + set saved_gdbflags $GDBFLAGS + set GDBFLAGS [concat $GDBFLAGS " -ex \"set height 0\""] + set GDBFLAGS [concat $GDBFLAGS " -ex \"set width 0\""] + set GDBFLAGS [concat $GDBFLAGS " -ex \"python p = list()\""] + set prompt_func "python def foo(x): global p; p.append(x); return \'(Foo) \'" + set GDBFLAGS [concat $GDBFLAGS " -ex \"$prompt_func\""] + set GDBFLAGS [concat $GDBFLAGS " -ex \"python gdb.prompt_hook=foo\""] + + set tmp_gdbflags $GDBFLAGS + set gdb_prompt_fail $gdb_prompt + + global gdb_prompt + # Does not include the space at the end of the prompt. + # gdb_test expects it not to be there. + set gdb_prompt "\[(\]Foo\[)\]" + + with_test_prefix "set editing on" { + set GDBFLAGS [concat $tmp_gdbflags " -ex \"set editing on\""] + prompt_gdb_start + gdb_test "python x = len(p); print (gdb.execute(\"show prompt\", to_string = True))" \ + ".*prompt is \"$gdb_prompt \".*" \ + "show prompt gets the correct result" + gdb_test "python print ('%d %d' % (x, len(p)))" "1 2" \ + "retrieving the prompt causes no extra prompt_hook calls" + gdb_test "python print (\"'\" + str(p\[0\]) + \"'\")" "'$gdb_prompt_fail '" \ + "prompt_hook argument is default prompt." + gdb_exit + } + + with_test_prefix "set editing off" { + set GDBFLAGS [concat $tmp_gdbflags " -ex \"set editing off\""] + prompt_gdb_start + gdb_test "python x = len(p); print (gdb.execute(\"show prompt\", to_string = True))" \ + ".*prompt is \"$gdb_prompt \".*" \ + "show prompt gets the correct result 2" + gdb_test "python print ('%d %d' % (x, len(p)))" "1 2" \ + "retrieving the prompt causes no extra prompt_hook calls 2" + gdb_test "python print (\"'\" + str(p\[0\]) + \"'\")" "'$gdb_prompt_fail '" \ + "prompt_hook argument is default prompt. 2" + gdb_exit + } + + if {![can_spawn_for_attach]} { + set GDBFLAGS $saved_gdbflags + return 0 + } + + set test_spawn_id [spawn_wait_for_attach $binfile] + set testpid [spawn_id_get_pid $test_spawn_id] + + set GDBFLAGS [concat $tmp_gdbflags " -ex \"set pagination off\""] + set GDBFLAGS [concat $GDBFLAGS " -ex \"set editing on\""] + set GDBFLAGS [concat $GDBFLAGS " -ex \"attach $testpid\""] + set GDBFLAGS [concat $GDBFLAGS " -ex \"continue&\""] + + # sync_execution = 1 is_running = 1 + with_test_prefix "sync_execution = 1, is_running = 1" { + prompt_gdb_start + gdb_test "python x = len(p); print (gdb.execute(\"show prompt\", to_string = True))" \ + ".*prompt is \"$gdb_prompt \".*" \ + "show prompt gets the correct result 3" + gdb_test "python print ('%d %d' % (x, len(p)))" "1 2" \ + "retrieving the prompt causes no extra prompt_hook calls 3" + gdb_test "python print (\"'\" + str(p\[0\]) + \"'\")" "'$gdb_prompt_fail '" \ + "prompt_hook argument is default prompt. 3" + gdb_exit + } + + set GDBFLAGS [concat $tmp_gdbflags " -ex \"set pagination off\""] + set GDBFLAGS [concat $GDBFLAGS " -ex \"set editing on\""] + set GDBFLAGS [concat $GDBFLAGS " -ex \"attach $testpid\""] + set GDBFLAGS [concat $GDBFLAGS " -ex \"interrupt\""] + + # sync_execution = 1 is_running = 0 + with_test_prefix "sync_execution = 1, is_running = 0" { + prompt_gdb_start + gdb_test "python x = len(p); print (gdb.execute(\"show prompt\", to_string = True))" \ + ".*prompt is \"$gdb_prompt \".*" \ + "show prompt gets the correct result 4" + gdb_test "python print ('%d %d' % (x, len(p)))" "1 2" \ + "retrieving the prompt causes no extra prompt_hook calls 4" + gdb_test "python print (\"'\" + str(p\[0\]) + \"'\")" "'$gdb_prompt_fail '" \ + "prompt_hook argument is default prompt. 4" + gdb_exit + } -if {![can_spawn_for_attach]} { set GDBFLAGS $saved_gdbflags - return 0 -} - -set test_spawn_id [spawn_wait_for_attach $binfile] -set testpid [spawn_id_get_pid $test_spawn_id] - -set GDBFLAGS [concat $tmp_gdbflags " -ex \"set pagination off\""] -set GDBFLAGS [concat $GDBFLAGS " -ex \"set editing on\""] -set GDBFLAGS [concat $GDBFLAGS " -ex \"attach $testpid\""] -set GDBFLAGS [concat $GDBFLAGS " -ex \"continue&\""] - -# sync_execution = 1 is_running = 1 -with_test_prefix "sync_execution = 1, is_running = 1" { - prompt_gdb_start - gdb_test "python x = len(p); print (gdb.execute(\"show prompt\", to_string = True))" \ - ".*prompt is \"$gdb_prompt \".*" \ - "show prompt gets the correct result 3" - gdb_test "python print ('%d %d' % (x, len(p)))" "1 2" \ - "retrieving the prompt causes no extra prompt_hook calls 3" - gdb_test "python print (\"'\" + str(p\[0\]) + \"'\")" "'$gdb_prompt_fail '" \ - "prompt_hook argument is default prompt. 3" - gdb_exit -} - -set GDBFLAGS [concat $tmp_gdbflags " -ex \"set pagination off\""] -set GDBFLAGS [concat $GDBFLAGS " -ex \"set editing on\""] -set GDBFLAGS [concat $GDBFLAGS " -ex \"attach $testpid\""] -set GDBFLAGS [concat $GDBFLAGS " -ex \"interrupt\""] - -# sync_execution = 1 is_running = 0 -with_test_prefix "sync_execution = 1, is_running = 0" { - prompt_gdb_start - gdb_test "python x = len(p); print (gdb.execute(\"show prompt\", to_string = True))" \ - ".*prompt is \"$gdb_prompt \".*" \ - "show prompt gets the correct result 4" - gdb_test "python print ('%d %d' % (x, len(p)))" "1 2" \ - "retrieving the prompt causes no extra prompt_hook calls 4" - gdb_test "python print (\"'\" + str(p\[0\]) + \"'\")" "'$gdb_prompt_fail '" \ - "prompt_hook argument is default prompt. 4" - gdb_exit + kill_wait_spawned_process $test_spawn_id } - -set GDBFLAGS $saved_gdbflags -kill_wait_spawned_process $test_spawn_id diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index bb4bd65..7538071 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -216,6 +216,7 @@ if ![info exists INTERNAL_GDBFLAGS] { [join [list \ "-nw" \ "-nx" \ + "-q" \ {-iex "set height 0"} \ {-iex "set width 0"}]] @@ -2302,6 +2303,14 @@ proc default_gdb_start { } { # that case, this case is hit. verbose "GDB initialized." } + -re "^$gdb_prompt $" { + # Output with -q. + verbose "GDB initialized." + } + -re "^\033\\\[.2004h$gdb_prompt $" { + # Output with -q, and bracketed paste mode enabled, see above. + verbose "GDB initialized." + } -re "$gdb_prompt $" { perror "GDB never initialized." unset gdb_spawn_id diff --git a/gdb/testsuite/lib/mi-support.exp b/gdb/testsuite/lib/mi-support.exp index c914ed4..1841816 100644 --- a/gdb/testsuite/lib/mi-support.exp +++ b/gdb/testsuite/lib/mi-support.exp @@ -265,6 +265,10 @@ proc default_mi_gdb_start { { flags {} } } { # We have a new format mi startup prompt. verbose "GDB initialized." } + -re "^(=\[^\r\n\]*\r\n)*$mi_gdb_prompt$" { + # Output with -q. + verbose "GDB initialized." + } -re ".*unrecognized option.*for a complete list of options." { untested "skip mi tests (not compiled with mi support)." remote_close host |