* [PATCH][gdb/testsuite] Handle PS1 quirk in gdb.base/multi-line-starts-subshell.exp
@ 2020-12-14 6:55 Tom de Vries
2020-12-14 15:47 ` Tom Tromey
0 siblings, 1 reply; 3+ messages in thread
From: Tom de Vries @ 2020-12-14 6:55 UTC (permalink / raw)
To: gdb-patches
Hi,
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.
Fix this by setting PS1 after spawning the subshell.
Tested on x86_64-linux.
Any comments?
Thanks,
- Tom
[gdb/testsuite] Handle PS1 quirk in gdb.base/multi-line-starts-subshell.exp
2020-12-14 Tom de Vries <tdevries@suse.de>
PR testsuite/26952
* gdb.base/multi-line-starts-subshell.exp: Set PS1 after spawning
shell.
---
gdb/testsuite/gdb.base/multi-line-starts-subshell.exp | 6 +++---
1 file 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 710c3916c6..dc6d70582a 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.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH][gdb/testsuite] Handle PS1 quirk in gdb.base/multi-line-starts-subshell.exp
2020-12-14 6:55 [PATCH][gdb/testsuite] Handle PS1 quirk in gdb.base/multi-line-starts-subshell.exp Tom de Vries
@ 2020-12-14 15:47 ` Tom Tromey
2020-12-14 23:50 ` Tom de Vries
0 siblings, 1 reply; 3+ messages in thread
From: Tom Tromey @ 2020-12-14 15:47 UTC (permalink / raw)
To: Tom de Vries; +Cc: gdb-patches
>>>>> "Tom" == Tom de Vries <tdevries@suse.de> writes:
Tom> The problem is that the PS1 setting has no effect.
Why is that?
Tom> Fix this by setting PS1 after spawning the subshell.
Tom> Tested on x86_64-linux.
Tom> Any comments?
It seems fine but it may be good to understand why it is needed and
perhaps add a comment explaining it.
Tom
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH][gdb/testsuite] Handle PS1 quirk in gdb.base/multi-line-starts-subshell.exp
2020-12-14 15:47 ` Tom Tromey
@ 2020-12-14 23:50 ` Tom de Vries
0 siblings, 0 replies; 3+ messages in thread
From: Tom de Vries @ 2020-12-14 23:50 UTC (permalink / raw)
To: Tom Tromey; +Cc: gdb-patches
On 12/14/20 4:47 PM, Tom Tromey wrote:
>>>>>> "Tom" == Tom de Vries <tdevries@suse.de> writes:
>
> Tom> The problem is that the PS1 setting has no effect.
>
> Why is that?
>
The mechanism is as follows:
- /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
AFAIU, this is caused by this PR (
https://bugzilla.opensuse.org/show_bug.cgi?id=611966 ) which lurks in
older version of openSUSE/SUSE.
> Tom> Fix this by setting PS1 after spawning the subshell.
>
> Tom> Tested on x86_64-linux.
>
> Tom> Any comments?
>
> It seems fine but it may be good to understand why it is needed and
> perhaps add a comment explaining it.
Ack, will do.
Thanks,
- Tom
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-12-14 23:50 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-14 6:55 [PATCH][gdb/testsuite] Handle PS1 quirk in gdb.base/multi-line-starts-subshell.exp Tom de Vries
2020-12-14 15:47 ` Tom Tromey
2020-12-14 23:50 ` Tom de Vries
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox