mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-28 23:39:35 +08:00
[gdb/testsuite] Fix gdb.base/batch-preserve-term-settings.exp with check-read1
With check-read1, I run into: ... FAIL: gdb.base/batch-preserve-term-settings.exp: batch run: \ terminal settings preserved ... This is caused by spawn_shell matching too little output, after which things start to go out of sync. More specifically, the regexp: ... -re "PS1=\[^\r\n\]*\r\n.*$shell_prompt_re$" { ... matches the first and part of the second line of this output: ... PS1="gdb-subshell$ "^M sh-4.4$ PS1="gdb-subshell$ "^M gdb-subshell$ ... while it's supposed to match the entire output. Fix this by splitting up the regexp into a part that skips the lines with PS1, and one that reads the shell prompt. Tested on x86_64-linux. gdb/testsuite/ChangeLog: 2021-06-08 Tom de Vries <tdevries@suse.de> * gdb.base/batch-preserve-term-settings.exp (spawn_shell): Fix matching of initial prompt.
This commit is contained in:
@ -1,3 +1,8 @@
|
|||||||
|
2021-06-08 Tom de Vries <tdevries@suse.de>
|
||||||
|
|
||||||
|
* gdb.base/batch-preserve-term-settings.exp (spawn_shell): Fix
|
||||||
|
matching of initial prompt.
|
||||||
|
|
||||||
2021-06-08 Tom de Vries <tdevries@suse.de>
|
2021-06-08 Tom de Vries <tdevries@suse.de>
|
||||||
|
|
||||||
* gdb.threads/multi-create-ns-info-thr.exp: Limit breakpoint regexp to
|
* gdb.threads/multi-create-ns-info-thr.exp: Limit breakpoint regexp to
|
||||||
|
@ -44,10 +44,20 @@ proc spawn_shell {} {
|
|||||||
|
|
||||||
send_gdb "PS1=\"$shell_prompt_ps1\"\n"
|
send_gdb "PS1=\"$shell_prompt_ps1\"\n"
|
||||||
|
|
||||||
|
# Try to match:
|
||||||
|
# PS1="gdb-subshell$ "^M
|
||||||
|
# $ gdb-subshell$
|
||||||
|
# or:
|
||||||
|
# PS1="gdb-subshell$ "^M
|
||||||
|
# sh-4.4$ PS1="gdb-subshell$ "^M
|
||||||
|
# gdb-subshell$
|
||||||
set gotit 0
|
set gotit 0
|
||||||
set test "spawn shell"
|
set test "spawn shell"
|
||||||
gdb_expect {
|
gdb_expect {
|
||||||
-re "PS1=\[^\r\n\]*\r\n.*$shell_prompt_re$" {
|
-re "PS1=\"$shell_prompt_re" {
|
||||||
|
exp_continue
|
||||||
|
}
|
||||||
|
-re "$shell_prompt_re$" {
|
||||||
pass $test
|
pass $test
|
||||||
set gotit 1
|
set gotit 1
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user