diff options
author | Tom de Vries <tdevries@suse.de> | 2020-12-14 17:05:11 +0100 |
---|---|---|
committer | Tom de Vries <tdevries@suse.de> | 2020-12-14 17:05:11 +0100 |
commit | 153f6e6cb0266f8312ba85956b256ce1e3a2cb8e (patch) | |
tree | 4d92f28fef3f71b04138035c6befe7f2ce2cdf2d /gdb/testsuite/gdb.base | |
parent | 86b442599bca468f997a3f1f58cba68b752ef6b2 (diff) | |
download | gdb-153f6e6cb0266f8312ba85956b256ce1e3a2cb8e.zip gdb-153f6e6cb0266f8312ba85956b256ce1e3a2cb8e.tar.gz gdb-153f6e6cb0266f8312ba85956b256ce1e3a2cb8e.tar.bz2 |
[gdb/testsuite] Handle shell prompt in batch-preserve-term-settings.exp
On SLE-11, I run into:
...
FAIL: gdb.base/batch-preserve-term-settings.exp: batch run: spawn shell \
(timeout)
...
The problem is that the shell prompt has PS1="\h:\w> ", but the test expects
a shell prompt ending in a space preceded by either '$' or '#':
...
set shell_prompt_re "\[$#\] "
...
We could easily fix this by adding '>' to shell_prompt_re, but this wouldn't
work for other PS1 setting.
Fix this instead by setting the shell prompt to "gdb-subshell$ " (as in
gdb.base/multi-line-starts-subshell.exp).
Tested on x86_64-linux.
gdb/testsuite/ChangeLog:
2020-12-14 Tom de Vries <tdevries@suse.de>
PR testsuite/26951
* gdb.base/batch-preserve-term-settings.exp: Use "gdb-subshell$ " as
shell prompt.
Diffstat (limited to 'gdb/testsuite/gdb.base')
-rw-r--r-- | gdb/testsuite/gdb.base/batch-preserve-term-settings.exp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/gdb/testsuite/gdb.base/batch-preserve-term-settings.exp b/gdb/testsuite/gdb.base/batch-preserve-term-settings.exp index 7ae3518..c39d638 100644 --- a/gdb/testsuite/gdb.base/batch-preserve-term-settings.exp +++ b/gdb/testsuite/gdb.base/batch-preserve-term-settings.exp @@ -28,12 +28,13 @@ if [is_remote host] { } # The shell's prompt. -set shell_prompt_re "\[$#\] " +set shell_prompt_ps1 "gdb-subshell$ " +set shell_prompt_re [string_to_regexp $shell_prompt_ps1] # Spawn shell. Returns true on success, false otherwise. proc spawn_shell {} { - global shell_prompt_re + global shell_prompt_ps1 shell_prompt_re set res [remote_spawn host "/bin/sh"] if { $res < 0 || $res == "" } { @@ -41,10 +42,12 @@ proc spawn_shell {} { return 0 } + send_gdb "PS1=\"$shell_prompt_ps1\"\n" + set gotit 0 set test "spawn shell" gdb_expect { - -re "$shell_prompt_re$" { + -re "PS1=\[^\r\n\]*\r\n$shell_prompt_re$" { pass $test set gotit 1 } |