Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:15.2:Staging:A
gdb
gdb-testsuite-read1-fixes.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File gdb-testsuite-read1-fixes.patch of Package gdb
- Fix test_gdb_complete_tab_multiple race - [gdb/testsuite] Don't expect gdb_prompt in mi_skip_python_test - [gdb/testsuite] Fix gdb.base/maint.exp with check-read1 - [gdb/testsuite] Fix mi-catch-cpp-exceptions.exp and mi-nonstop.exp with check-read1 - [gdb/testsuite] Fix python.exp with check-read1 - [gdb/testsuite, 1/2] Fix gdb.linespec/explicit.exp with check-read1 - [gdb/testsuite, 2/2] Fix gdb.linespec/explicit.exp with check-read1 - [gdb/testsuite] Test skip_libstdcxx_probe_tests in mi-catch-cpp-exceptions.exp diff --git a/gdb/testsuite/gdb.base/maint.exp b/gdb/testsuite/gdb.base/maint.exp index 38e9a1ec4b..810c7c9b8c 100644 --- a/gdb/testsuite/gdb.base/maint.exp +++ b/gdb/testsuite/gdb.base/maint.exp @@ -69,15 +69,15 @@ set saw_registers 0 set saw_headers 0 set test "maint print registers" gdb_test_multiple $test $test { - -re "\[^\r\n\]+Name\[^\r\n\]+Nr\[^\r\n\]+Rel\[^\r\n\]+Offset\[^\r\n\]+Size\[^\r\n\]+Type\[^\r\n\]+\[\r\n\]+" { + -re "\[^\r\n\]+Name\[^\r\n\]+Nr\[^\r\n\]+Rel\[^\r\n\]+Offset\[^\r\n\]+Size\[^\r\n\]+Type\[^\r\n\]+\r\n" { set saw_headers 1 exp_continue } - -re "^\[^\r\n\]+\[0-9\]+\[^\r\n\]+\[0-9\]+\[^\r\n\]+\[0-9\]+\[^\r\n\]+\[0-9\]+\[^\r\n\]+\[\r\n\]+" { + -re "^\[^\r\n\]+\[0-9\]+\[^\r\n\]+\[0-9\]+\[^\r\n\]+\[0-9\]+\[^\r\n\]+\[0-9\]+\[^\r\n\]+\r\n" { set saw_registers 1 exp_continue } - -re "^\\*\[0-9\]+\[^\r\n\]+\[\r\n\]+" { + -re "^\\*\[0-9\]+\[^\r\n\]+\r\n" { exp_continue } -re "$gdb_prompt $" { diff --git a/gdb/testsuite/gdb.linespec/explicit.exp b/gdb/testsuite/gdb.linespec/explicit.exp index 11656ca5c5..e50e503343 100644 --- a/gdb/testsuite/gdb.linespec/explicit.exp +++ b/gdb/testsuite/gdb.linespec/explicit.exp @@ -241,20 +241,7 @@ namespace eval $testfile { -re "break -source exp\\\x07licit" { send_gdb "\t\t" gdb_test_multiple "" $tst { - -re "\\\x07\r\nexplicit.c\[ \t\]+explicit2.c\[ \t\]+\r\n$gdb_prompt" { - send_gdb "\n" - gdb_test "" \ - {Source filename requires function, label, or line offset.} \ - $tst - } - } - } - - -re "break -source exp\\\x07l" { - # This pattern may occur when glibc debuginfo is installed. - send_gdb "\t\t" - gdb_test_multiple "" $tst { - -re "\\\x07\r\nexplicit.c\[ \t\]+explicit2.c\[ \t\]+expl.*\r\n$gdb_prompt" { + -re "\\\x07\r\nexplicit.c\[ \t\]+explicit2.c\[ \t\]+\(expl.*\)?\r\n$gdb_prompt" { send_gdb "\n" gdb_test "" \ {Source filename requires function, label, or line offset.} \ @@ -486,7 +473,7 @@ namespace eval $testfile { send_gdb "break \t" gdb_test_multiple "" $tst { "break \\\x07" { - send_gdb "\t\t" + send_gdb "\t" gdb_test_multiple "" $tst { "Display all" { send_gdb "y" diff --git a/gdb/testsuite/gdb.python/python.exp b/gdb/testsuite/gdb.python/python.exp index b62572ceb8..f5c1d1b261 100644 --- a/gdb/testsuite/gdb.python/python.exp +++ b/gdb/testsuite/gdb.python/python.exp @@ -450,7 +450,7 @@ gdb_py_test_multiple "prompt substitution readline" \ "end" "" gdb_test_multiple "python gdb.prompt_hook = error_prompt" "set the hook" { - -re "Python Exception (exceptions.RuntimeError|<(type 'exceptions.|class ')RuntimeError'>) Python exception called.*" { + -re "Python Exception (exceptions.RuntimeError|<(type 'exceptions.|class ')RuntimeError'>) Python exception called.*$gdb_prompt $" { pass "set hook" } } @@ -462,7 +462,7 @@ gdb_py_test_silent_cmd "set python print-stack full" \ "set print-stack full for prompt error test" 1 gdb_test_multiple "python gdb.prompt_hook = error_prompt" "set the hook" { - -re "Traceback.*File.*line.*RuntimeError.*Python exception called.*" { + -re "Traceback.*File.*line.*RuntimeError.*Python exception called.*$gdb_prompt $" { pass "set hook" } } diff --git a/gdb/testsuite/lib/completion-support.exp b/gdb/testsuite/lib/completion-support.exp index 3e498d3c63..8a75b0d785 100644 --- a/gdb/testsuite/lib/completion-support.exp +++ b/gdb/testsuite/lib/completion-support.exp @@ -144,8 +144,12 @@ proc test_gdb_complete_tab_multiple { input_line add_completed_line \ set maybe_bell "" } gdb_test_multiple "" "$test (second tab)" { - -re "^${maybe_bell}\r\n$expected_re\r\n$gdb_prompt $input_line_re$add_completed_line_re$" { - pass "$test" + -re "^${maybe_bell}\r\n$expected_re\r\n$gdb_prompt " { + gdb_test_multiple "" "$test (second tab)" { + -re "^$input_line_re$add_completed_line_re$" { + pass "$test" + } + } } } } diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index 896e0f1b40..2eb00d58b9 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -695,7 +695,7 @@ proc gdb_internal_error_resync {} { } -# gdb_test_multiple COMMAND MESSAGE EXPECT_ARGUMENTS +# gdb_test_multiple COMMAND MESSAGE EXPECT_ARGUMENTS PROMPT_REGEXP # Send a command to gdb; test the result. # # COMMAND is the command to execute, send to GDB with send_gdb. If @@ -707,6 +707,8 @@ proc gdb_internal_error_resync {} { # context; action elements will be executed in the caller's context. # Unlike patterns for gdb_test, these patterns should generally include # the final newline and prompt. +# PROMPT_REGEXP is a regexp matching the expected prompt after the command +# output. If empty, defaults to "$gdb_prompt $" # # Returns: # 1 if the test failed, according to a built-in failure pattern @@ -744,7 +746,7 @@ proc gdb_internal_error_resync {} { # expected from $gdb_spawn_id. IOW, callers do not need to worry # about resetting "-i" back to $gdb_spawn_id explicitly. # -proc gdb_test_multiple { command message user_code } { +proc gdb_test_multiple { command message user_code { prompt_regexp "" } } { global verbose use_gdb_stub global gdb_prompt pagination_prompt global GDB @@ -754,6 +756,10 @@ proc gdb_test_multiple { command message user_code } { upvar expect_out expect_out global any_spawn_id + if { "$prompt_regexp" == "" } { + set prompt_regexp "$gdb_prompt $" + } + if { $message == "" } { set message $command } @@ -913,7 +919,7 @@ proc gdb_test_multiple { command message user_code } { } append code { - -re "Ending remote debugging.*$gdb_prompt $" { + -re "Ending remote debugging.*$prompt_regexp" { if ![isnative] then { warning "Can`t communicate to remote target." } @@ -921,17 +927,17 @@ proc gdb_test_multiple { command message user_code } { gdb_start set result -1 } - -re "Undefined\[a-z\]* command:.*$gdb_prompt $" { + -re "Undefined\[a-z\]* command:.*$prompt_regexp" { perror "Undefined command \"$command\"." fail "$message" set result 1 } - -re "Ambiguous command.*$gdb_prompt $" { + -re "Ambiguous command.*$prompt_regexp" { perror "\"$command\" is not a unique command name." fail "$message" set result 1 } - -re "$inferior_exited_re with code \[0-9\]+.*$gdb_prompt $" { + -re "$inferior_exited_re with code \[0-9\]+.*$prompt_regexp" { if ![string match "" $message] then { set errmsg "$message (the program exited)" } else { @@ -940,7 +946,7 @@ proc gdb_test_multiple { command message user_code } { fail "$errmsg" set result -1 } - -re "$inferior_exited_re normally.*$gdb_prompt $" { + -re "$inferior_exited_re normally.*$prompt_regexp" { if ![string match "" $message] then { set errmsg "$message (the program exited)" } else { @@ -949,7 +955,7 @@ proc gdb_test_multiple { command message user_code } { fail "$errmsg" set result -1 } - -re "The program is not being run.*$gdb_prompt $" { + -re "The program is not being run.*$prompt_regexp" { if ![string match "" $message] then { set errmsg "$message (the program is no longer running)" } else { @@ -958,7 +964,7 @@ proc gdb_test_multiple { command message user_code } { fail "$errmsg" set result -1 } - -re "\r\n$gdb_prompt $" { + -re "\r\n$prompt_regexp" { if ![string match "" $message] then { fail "$message" } @@ -972,13 +978,13 @@ proc gdb_test_multiple { command message user_code } { } -re "\\((y or n|y or \\\[n\\\]|\\\[y\\\] or n)\\) " { send_gdb "n\n" - gdb_expect -re "$gdb_prompt $" + gdb_expect -re "$prompt_regexp" fail "$message (got interactive prompt)" set result -1 } -re "\\\[0\\\] cancel\r\n\\\[1\\\] all.*\r\n> $" { send_gdb "0\n" - gdb_expect -re "$gdb_prompt $" + gdb_expect -re "$prompt_regexp" fail "$message (got breakpoint menu)" set result -1 } @@ -1842,7 +1848,7 @@ proc skip_python_tests_prompt { prompt_regexp } { return 1 } -re "$prompt_regexp" {} - } + } "$prompt_regexp" set gdb_py_is_py24 0 gdb_test_multiple "python print (sys.version_info\[0\])" "check if python 3" { @@ -1852,7 +1858,7 @@ proc skip_python_tests_prompt { prompt_regexp } { -re ".*$prompt_regexp" { set gdb_py_is_py3k 0 } - } + } "$prompt_regexp" if { $gdb_py_is_py3k == 0 } { gdb_test_multiple "python print (sys.version_info\[1\])" "check if python 2.4" { -re "\[45\].*$prompt_regexp" { @@ -1861,7 +1867,7 @@ proc skip_python_tests_prompt { prompt_regexp } { -re ".*$prompt_regexp" { set gdb_py_is_py24 0 } - } + } "$prompt_regexp" } return 0 @@ -3079,22 +3085,27 @@ proc skip_unwinder_tests {} { # Return 0 if we should skip tests that require the libstdc++ stap # probes. This must be invoked while gdb is running, after shared -# libraries have been loaded. - -proc skip_libstdcxx_probe_tests {} { - global gdb_prompt +# libraries have been loaded. PROMPT_REGEXP is the expected prompt. +proc skip_libstdcxx_probe_tests_prompt { prompt_regexp } { set ok 0 gdb_test_multiple "info probe" "check for stap probe in libstdc++" { - -re ".*libstdcxx.*catch.*\r\n$gdb_prompt $" { + -re ".*libstdcxx.*catch.*\r\n$prompt_regexp" { set ok 1 } - -re "\r\n$gdb_prompt $" { + -re "\r\n$prompt_regexp" { } - } + } "$prompt_regexp" return $ok } +# As skip_libstdcxx_probe_tests_prompt, with gdb_prompt. + +proc skip_libstdcxx_probe_tests {} { + global gdb_prompt + return [skip_libstdcxx_probe_tests_prompt "$gdb_prompt $"] +} + # Return 1 if we should skip tests of the "compile" feature. # This must be invoked after the inferior has been started. @@ -3131,7 +3142,7 @@ proc gdb_is_target_1 { target_name target_stack_regexp prompt_regexp } { -re "$prompt_regexp" { pass $test } - } + } "$prompt_regexp" return 0 } diff --git a/gdb/testsuite/lib/mi-support.exp b/gdb/testsuite/lib/mi-support.exp index a58c4f6e11..d0ee5ca744 100644 --- a/gdb/testsuite/lib/mi-support.exp +++ b/gdb/testsuite/lib/mi-support.exp @@ -2596,6 +2596,13 @@ proc mi_skip_python_tests {} { return [skip_python_tests_prompt "$mi_gdb_prompt$"] } +# As skip_libstdcxx_probe_tests_prompt, with mi_gdb_prompt. + +proc mi_skip_libstdcxx_probe_tests {} { + global mi_gdb_prompt + return [skip_libstdcxx_probe_tests_prompt "$mi_gdb_prompt$"] +} + # Check whether we're testing with the remote or extended-remote # targets.
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor