aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2020-12-15 10:18:23 +0100
committerTom de Vries <tdevries@suse.de>2020-12-15 10:18:23 +0100
commit77c8aaf716d9f93dc5850f8b2481da5eb7a53662 (patch)
treeb97d2603184b88019d2b132d005f12834dacdd87 /gdb
parent8a87b2791181eb7fc1533ffaeb95df8d87d41493 (diff)
downloadgdb-77c8aaf716d9f93dc5850f8b2481da5eb7a53662.zip
gdb-77c8aaf716d9f93dc5850f8b2481da5eb7a53662.tar.gz
gdb-77c8aaf716d9f93dc5850f8b2481da5eb7a53662.tar.bz2
[gdb/testsuite] Handle PS1 quirk in gdb.base/multi-line-starts-subshell.exp
On SLE-11, I run into: ... (gdb) if 1^M >shell HOME=/dev/null PS1="gdb-subshell$ " /bin/sh^M >end^M hostname:/dir> FAIL: gdb.base/multi-line-starts-subshell.exp: \ spawn subshell from multi-line (timeout) ... The problem is that the PS1 setting has no effect, due to a bug on older openSUSE/SLE version. The mechanism there is: - /etc/profile sets ENV=/etc/bash.bashrc - /bin/sh is started - /bin/sh executes ENV, in other words /etc/bash.bashrc - during the execution of /etc/bash.bashrc, PS1 is set unconditionally Fix this by setting PS1 after spawning the subshell. Tested on x86_64-linux. 2020-12-15 Tom de Vries <tdevries@suse.de> PR testsuite/26952 * gdb.base/multi-line-starts-subshell.exp: Set PS1 after spawning shell.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/testsuite/gdb.base/multi-line-starts-subshell.exp6
1 files changed, 3 insertions, 3 deletions
diff --git a/gdb/testsuite/gdb.base/multi-line-starts-subshell.exp b/gdb/testsuite/gdb.base/multi-line-starts-subshell.exp
index 710c391..dc6d705 100644
--- a/gdb/testsuite/gdb.base/multi-line-starts-subshell.exp
+++ b/gdb/testsuite/gdb.base/multi-line-starts-subshell.exp
@@ -27,11 +27,11 @@ set shell_prompt_re [string_to_regexp $shell_prompt]
# Point HOME nowhere to avoid the shell sourcing the user's init
# scripts.
-set shell_cmd "HOME=/dev/null PS1=\"$shell_prompt\" /bin/sh"
+set shell_cmd "HOME=/dev/null /bin/sh"
set test "spawn subshell from multi-line"
-gdb_test_multiple "if 1\nshell ${shell_cmd}\nend" $test {
- -re "$shell_prompt_re$" {
+gdb_test_multiple "if 1\nshell ${shell_cmd}\nend\nPS1=\"$shell_prompt\"" $test {
+ -re "PS1=\[^\r\n\]*\r\n$shell_prompt_re$" {
pass $test
# Now check that shell input works and that echo is enabled.