Results for prompt.test.sh

statusbashmkshkshtoyshsushbrushosh
pass 3160001925
FAIL 027333333138
TIME 2000010
total33333333333333
casebashmkshkshtoyshsushbrushoshdescription
0TIME FAIL FAIL FAIL FAIL FAIL pass sh -i
detailsdetailsdetailsdetailsdetailsdetails
1pass FAIL FAIL FAIL FAIL pass pass \[\] are non-printing
detailsdetailsdetailsdetails
2pass pass FAIL FAIL FAIL pass pass literal escapes
detailsdetailsdetails
3pass FAIL FAIL FAIL FAIL FAIL pass special case for $
detailsdetailsdetailsdetailsdetails
4pass FAIL FAIL FAIL FAIL FAIL pass PS1 evaluation order
detailsdetailsdetailsdetailsdetails
5pass FAIL FAIL FAIL FAIL FAIL pass PS1 evaluation order 2
detailsdetailsdetailsdetailsdetails
6pass FAIL FAIL FAIL FAIL pass pass \1004
detailsdetailsdetailsdetails
7pass pass FAIL FAIL FAIL pass pass \001 octal literals are supported
detailsdetailsdetails
8pass FAIL FAIL FAIL FAIL FAIL pass \555 is beyond max octal byte of \377 and wrapped to m
detailsdetailsdetailsdetailsdetails
9pass FAIL FAIL FAIL FAIL pass pass \x55 hex literals not supported
detailsdetailsdetailsdetails
10pass pass FAIL FAIL FAIL pass pass Single backslash
detailsdetailsdetails
11pass pass FAIL FAIL FAIL pass pass Escaped backslash
detailsdetailsdetails
12pass FAIL FAIL FAIL FAIL pass pass \0001 octal literals are not supported
detailsdetailsdetailsdetails
13pass FAIL FAIL FAIL FAIL pass pass \u0001 unicode literals not supported
detailsdetailsdetailsdetails
14pass pass FAIL FAIL FAIL pass pass constant string
detailsdetailsdetails
15pass FAIL FAIL FAIL FAIL pass pass hostname
detailsdetailsdetailsdetails
16pass FAIL FAIL FAIL FAIL pass pass username
detailsdetailsdetailsdetails
17pass FAIL FAIL FAIL FAIL FAIL pass current working dir
detailsdetailsdetailsdetailsdetails
18pass FAIL FAIL FAIL FAIL pass pass \W is basename of working dir
detailsdetailsdetailsdetails
19pass FAIL FAIL FAIL FAIL pass FAIL \t for 24h time (HH:MM:SS)
detailsdetailsdetailsdetailsdetails
20pass FAIL FAIL FAIL FAIL pass FAIL \T for 12h time (HH:MM:SS)
detailsdetailsdetailsdetailsdetails
21pass FAIL FAIL FAIL FAIL pass FAIL \@ for 12h time (HH:MM AM/PM)
detailsdetailsdetailsdetailsdetails
22pass FAIL FAIL FAIL FAIL FAIL pass \A for 24h time (HH:MM)
detailsdetailsdetailsdetailsdetails
23pass FAIL FAIL FAIL FAIL pass FAIL \d for date
detailsdetailsdetailsdetailsdetails
24pass FAIL FAIL FAIL FAIL pass pass \D{%H:%M} for strftime
detailsdetailsdetailsdetails
25pass FAIL FAIL FAIL FAIL FAIL pass \D{} for locale specific strftime
detailsdetailsdetailsdetailsdetails
26pass FAIL FAIL FAIL FAIL FAIL pass \s for shell, \v for major.minor version, and \V for full version
detailsdetailsdetailsdetailsdetails
27pass FAIL FAIL FAIL FAIL TIME FAIL \j for number of jobs
detailsdetailsdetailsdetailsdetailsdetails
28pass FAIL FAIL FAIL FAIL FAIL FAIL \l for TTY device basename
detailsdetailsdetailsdetailsdetailsdetails
29pass FAIL FAIL FAIL FAIL FAIL FAIL \! for history number
detailsdetailsdetailsdetailsdetailsdetails
30pass FAIL FAIL FAIL FAIL FAIL FAIL \# for command number
detailsdetailsdetailsdetailsdetailsdetails
31pass pass FAIL FAIL FAIL pass pass @P with array
detailsdetailsdetails
32TIME FAIL FAIL FAIL FAIL FAIL pass default PS1
detailsdetailsdetailsdetailsdetailsdetails
81 passed, 0 OK, 0 not implemented, 0 BUG, 147 failed, 3 timeouts, 0 cases skipped
8 failed under osh

Details on runs that didn't PASS

mksh0 sh -i

[mksh stdout] Expected 'match=0\n', got 'match=1\n'

stdout:
match=1
stderr:
ksh0 sh -i

[ksh stdout] Expected 'match=0\n', got 'match=1\n'

stdout:
match=1
stderr:
toysh0 sh -i

[toysh stdout] Expected 'match=0\n', got 'match=1\n'

stdout:
match=1
stderr:
sush0 sh -i

[sush stdout] Expected 'match=0\n', got 'match=1\n'

stdout:
match=1
stderr:
brush0 sh -i

[brush stdout] Expected 'match=0\n', got 'match=1\n'

stdout:
match=1
stderr:
mksh1 \[\] are non-printing

[mksh stdout] Expected 'foo$\n', got '\\[foo\\]\\$\n'

stdout:
\[foo\]\$
stderr:
ksh1 \[\] are non-printing

[ksh stdout] Expected 'foo$\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[2]: ${PS1@P}: bad substitution
toysh1 \[\] are non-printing

[toysh stdout] Expected 'foo$\n', got ''
[toysh status] Expected 0, got 1

stdout:
stderr: 
main: line 2: sh: PS1: @P}"
sush1 \[\] are non-printing

[sush stdout] Expected 'foo$\n', got ''
[sush status] Expected 0, got 1

stdout:
stderr: 
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: `${PS1@P}': bad substitution
ksh2 literal escapes

[ksh stdout] Expected u'\x07\x1b\r\n\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[2]: ${PS1@P}: bad substitution
toysh2 literal escapes

[toysh stdout] Expected u'\x07\x1b\r\n\n', got ''
[toysh status] Expected 0, got 1

stdout:
stderr: 
main: line 2: sh: PS1: @P}"
sush2 literal escapes

[sush stdout] Expected u'\x07\x1b\r\n\n', got ''
[sush status] Expected 0, got 1

stdout:
stderr: 
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: `${PS1@P}': bad substitution
mksh3 special case for $

[mksh stdout] Expected '$\n$\n$\n\\$\n\\$\n', got '$\n\\$\n\\$\n\\\\$\n\\\\$\n'

stdout:
$
\$
\$
\\$
\\$
stderr:
ksh3 special case for $

[ksh stdout] Expected '$\n$\n$\n\\$\n\\$\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[2]: ${PS1@P}: bad substitution
toysh3 special case for $

[toysh stdout] Expected '$\n$\n$\n\\$\n\\$\n', got ''
[toysh status] Expected 0, got 1

stdout:
stderr: 
main: line 2: sh: PS1: @P}"
main: line 4: sh: PS1: @P}"
main: line 6: sh: PS1: @P}"
main: line 8: sh: PS1: @P}"
main: line 10: sh: PS1: @P}"
sush3 special case for $

[sush stdout] Expected '$\n$\n$\n\\$\n\\$\n', got ''
[sush status] Expected 0, got 1

stdout:
stderr: 
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: `${PS1@P}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: `${PS1@P}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 6: `${PS1@P}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 8: `${PS1@P}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 10: `${PS1@P}': bad substitution
brush3 special case for $

[brush stdout] Expected '$\n$\n$\n\\$\n\\$\n', got '$\n$\n\\$\n\\$\n\\\\$\n'

stdout:
$
$
\$
\$
\\$
stderr:
mksh4 PS1 evaluation order

[mksh stdout] Expected '\\h\n', got '$x$y\n'

stdout:
$x$y
stderr:
ksh4 PS1 evaluation order

[ksh stdout] Expected '\\h\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[4]: ${PS1@P}: bad substitution
toysh4 PS1 evaluation order

[toysh stdout] Expected '\\h\n', got ''
[toysh status] Expected 0, got 1

stdout:
stderr: 
main: line 4: sh: PS1: @P}"
sush4 PS1 evaluation order

[sush stdout] Expected '\\h\n', got ''
[sush status] Expected 0, got 1

stdout:
stderr: 
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: `${PS1@P}': bad substitution
brush4 PS1 evaluation order

[brush stdout] Expected '\\h\n', got '$x$y\n'

stdout:
$x$y
stderr:
mksh5 PS1 evaluation order 2

[mksh stdout] Expected 'status=0\n', got 'status=1\n'

stdout:
status=1
stderr:
ksh5 PS1 evaluation order 2

[ksh stdout] Expected 'status=0\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[6]: ${PS1@P}: bad substitution
toysh5 PS1 evaluation order 2

[toysh stdout] Expected 'status=0\n', got 'status=1\n'

stdout:
status=1
stderr:
main: line 6: sh: PS1: @P}"
sush5 PS1 evaluation order 2

[sush stdout] Expected 'status=0\n', got 'status=1\n'

stdout:
status=1
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 6: `${PS1@P}': bad substitution
brush5 PS1 evaluation order 2

[brush stdout] Expected 'status=0\n', got 'status=1\n'

stdout:
status=1
stderr:
mksh6 \1004

[mksh stdout] Expected '@4$\n', got '\\1004$\n'

stdout:
\1004$
stderr:
ksh6 \1004

[ksh stdout] Expected '@4$\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[2]: ${PS1@P}: bad substitution
toysh6 \1004

[toysh stdout] Expected '@4$\n', got ''
[toysh status] Expected 0, got 1

stdout:
stderr: 
main: line 2: sh: PS1: @P}"
sush6 \1004

[sush stdout] Expected '@4$\n', got ''
[sush status] Expected 0, got 1

stdout:
stderr: 
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: `${PS1@P}': bad substitution
ksh7 \001 octal literals are supported

[ksh stdout] Expected '[%]\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[2]: ${PS1@P}: bad substitution
toysh7 \001 octal literals are supported

[toysh stdout] Expected '[%]\n', got ''
[toysh status] Expected 0, got 1

stdout:
stderr: 
main: line 2: sh: PS1: @P}"
sush7 \001 octal literals are supported

[sush stdout] Expected '[%]\n', got ''
[sush status] Expected 0, got 1

stdout:
stderr: 
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: `${PS1@P}': bad substitution
mksh8 \555 is beyond max octal byte of \377 and wrapped to m

[mksh stdout] Expected 'm$\n', got '\\555$\n'

stdout:
\555$
stderr:
ksh8 \555 is beyond max octal byte of \377 and wrapped to m

[ksh stdout] Expected 'm$\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[2]: ${PS1@P}: bad substitution
toysh8 \555 is beyond max octal byte of \377 and wrapped to m

[toysh stdout] Expected 'm$\n', got ''
[toysh status] Expected 0, got 1

stdout:
stderr: 
main: line 2: sh: PS1: @P}"
sush8 \555 is beyond max octal byte of \377 and wrapped to m

[sush stdout] Expected 'm$\n', got ''
[sush status] Expected 0, got 1

stdout:
stderr: 
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: `${PS1@P}': bad substitution
brush8 \555 is beyond max octal byte of \377 and wrapped to m

[brush stdout] Expected 'm$\n', got '\xc5\xad$\n'

stdout:
ŭ$
stderr:
mksh9 \x55 hex literals not supported

[mksh stdout] Expected '[\\x55]\n', got '[U]\n'

stdout:
[U]
stderr:
ksh9 \x55 hex literals not supported

[ksh stdout] Expected '[\\x55]\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[2]: ${PS1@P}: bad substitution
toysh9 \x55 hex literals not supported

[toysh stdout] Expected '[\\x55]\n', got ''
[toysh status] Expected 0, got 1

stdout:
stderr: 
main: line 2: sh: PS1: @P}"
sush9 \x55 hex literals not supported

[sush stdout] Expected '[\\x55]\n', got ''
[sush status] Expected 0, got 1

stdout:
stderr: 
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: `${PS1@P}': bad substitution
ksh10 Single backslash

[ksh stdout] Expected '\\\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[2]: ${PS1@P}: bad substitution
toysh10 Single backslash

[toysh stdout] Expected '\\\n', got ''
[toysh status] Expected 0, got 1

stdout:
stderr: 
main: line 2: sh: PS1: @P}"
sush10 Single backslash

[sush stdout] Expected '\\\n', got ''
[sush status] Expected 0, got 1

stdout:
stderr: 
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: `${PS1@P}': bad substitution
ksh11 Escaped backslash

[ksh stdout] Expected '\\\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[2]: ${PS1@P}: bad substitution
toysh11 Escaped backslash

[toysh stdout] Expected '\\\n', got ''
[toysh status] Expected 0, got 1

stdout:
stderr: 
main: line 2: sh: PS1: @P}"
sush11 Escaped backslash

[sush stdout] Expected '\\\n', got ''
[sush status] Expected 0, got 1

stdout:
stderr: 
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: `${PS1@P}': bad substitution
mksh12 \0001 octal literals are not supported

[mksh stdout] Expected '[%5]\n', got '[-]\n'

stdout:
[-]
stderr:
ksh12 \0001 octal literals are not supported

[ksh stdout] Expected '[%5]\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[2]: ${PS1@P}: bad substitution
toysh12 \0001 octal literals are not supported

[toysh stdout] Expected '[%5]\n', got ''
[toysh status] Expected 0, got 1

stdout:
stderr: 
main: line 2: sh: PS1: @P}"
sush12 \0001 octal literals are not supported

[sush stdout] Expected '[%5]\n', got ''
[sush status] Expected 0, got 1

stdout:
stderr: 
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: `${PS1@P}': bad substitution
mksh13 \u0001 unicode literals not supported

[mksh stdout] Expected 'status=0\n', got 'status=1\n'

stdout:
status=1
stderr:
ksh13 \u0001 unicode literals not supported

[ksh stdout] Expected 'status=0\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[3]: ${PS1@P}: bad substitution
toysh13 \u0001 unicode literals not supported

[toysh stdout] Expected 'status=0\n', got 'status=1\n'

stdout:
status=1
stderr:
main: line 3: sh: PS1: @P}"
sush13 \u0001 unicode literals not supported

[sush stdout] Expected 'status=0\n', got 'status=1\n'

stdout:
status=1
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: `${PS1@P}': bad substitution
ksh14 constant string

[ksh stdout] Expected '$ \n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[2]: ${PS1@P}: bad substitution
toysh14 constant string

[toysh stdout] Expected '$ \n', got ''
[toysh status] Expected 0, got 1

stdout:
stderr: 
main: line 2: sh: PS1: @P}"
sush14 constant string

[sush stdout] Expected '$ \n', got ''
[sush status] Expected 0, got 1

stdout:
stderr: 
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: `${PS1@P}': bad substitution
mksh15 hostname

[mksh stdout] Expected 'status=0\nstatus=0\n', got 'status=1\nstatus=1\n'

stdout:
status=1
status=1
stderr:
ksh15 hostname

[ksh stdout] Expected 'status=0\nstatus=0\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[2]: ${PS1@P}: bad substitution
toysh15 hostname

[toysh stdout] Expected 'status=0\nstatus=0\n', got 'status=1\nstatus=1\n'

stdout:
status=1
status=1
stderr:
main: line 2: sh: PS1: @P}"
main: line 5: sh: PS1: @P}"
sush15 hostname

[sush stdout] Expected 'status=0\nstatus=0\n', got 'status=1\nstatus=1\n'

stdout:
status=1
status=1
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: `${PS1@P}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 5: `${PS1@P}': bad substitution
mksh16 username

[mksh stdout] Expected 'status=0\n', got 'status=1\n'

stdout:
status=1
stderr:
ksh16 username

[ksh stdout] Expected 'status=0\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[3]: ${PS1@P}: bad substitution
toysh16 username

[toysh stdout] Expected 'status=0\n', got 'status=1\n'

stdout:
status=1
stderr:
main: line 3: sh: PS1: @P}"
sush16 username

[sush stdout] Expected 'status=0\n', got 'status=1\n'

stdout:
status=1
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: `${PS1@P}': bad substitution
mksh17 current working dir

[mksh stdout] Expected 'status=0\n', got 'status=1\n'

stdout:
status=1
stderr:
ksh17 current working dir

[ksh stdout] Expected 'status=0\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[2]: ${PS1@P}: bad substitution
toysh17 current working dir

[toysh stdout] Expected 'status=0\n', got 'status=1\n'

stdout:
status=1
stderr:
main: line 2: sh: PS1: @P}"
sush17 current working dir

[sush stdout] Expected 'status=0\n', got 'status=1\n'

stdout:
status=1
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: `${PS1@P}': bad substitution
brush17 current working dir

[brush stdout] Expected 'status=0\n', got 'status=1\n'

stdout:
status=1
stderr:
mksh18 \W is basename of working dir

[mksh stdout] Expected 'status=0\n', got 'status=1\n'

stdout:
status=1
stderr:
ksh18 \W is basename of working dir

[ksh stdout] Expected 'status=0\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[2]: ${PS1@P}: bad substitution
toysh18 \W is basename of working dir

[toysh stdout] Expected 'status=0\n', got 'status=1\n'

stdout:
status=1
stderr:
main: line 2: sh: PS1: @P}"
sush18 \W is basename of working dir

[sush stdout] Expected 'status=0\n', got 'status=1\n'

stdout:
status=1
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: `${PS1@P}': bad substitution
mksh19 \t for 24h time (HH:MM:SS)

[mksh stdout] Expected 'matched=0\n', got 'matched=1\n'

stdout:
matched=1
stderr:
ksh19 \t for 24h time (HH:MM:SS)

[ksh stdout] Expected 'matched=0\n', got 'matched=1\n'

stdout:
matched=1
stderr:
E: ksh: <stdin>[2]: ${PS1@P}: bad substitution
toysh19 \t for 24h time (HH:MM:SS)

[toysh stdout] Expected 'matched=0\n', got 'matched=1\n'

stdout:
matched=1
stderr:
main: line 2: sh: PS1: @P}"
sush19 \t for 24h time (HH:MM:SS)

[sush stdout] Expected 'matched=0\n', got 'matched=1\n'

stdout:
matched=1
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: `${PS1@P}': bad substitution
osh19 \t for 24h time (HH:MM:SS)

[osh stdout] Expected 'matched=0\n', got 'matched=1\n'

stdout:
matched=1
stderr:
mksh20 \T for 12h time (HH:MM:SS)

[mksh stdout] Expected 'matched=0\n', got 'matched=1\n'

stdout:
matched=1
stderr:
ksh20 \T for 12h time (HH:MM:SS)

[ksh stdout] Expected 'matched=0\n', got 'matched=1\n'

stdout:
matched=1
stderr:
E: ksh: <stdin>[2]: ${PS1@P}: bad substitution
toysh20 \T for 12h time (HH:MM:SS)

[toysh stdout] Expected 'matched=0\n', got 'matched=1\n'

stdout:
matched=1
stderr:
main: line 2: sh: PS1: @P}"
sush20 \T for 12h time (HH:MM:SS)

[sush stdout] Expected 'matched=0\n', got 'matched=1\n'

stdout:
matched=1
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: `${PS1@P}': bad substitution
osh20 \T for 12h time (HH:MM:SS)

[osh stdout] Expected 'matched=0\n', got 'matched=1\n'

stdout:
matched=1
stderr:
mksh21 \@ for 12h time (HH:MM AM/PM)

[mksh stdout] Expected 'matched=0\n', got 'matched=1\n'

stdout:
matched=1
stderr:
ksh21 \@ for 12h time (HH:MM AM/PM)

[ksh stdout] Expected 'matched=0\n', got 'matched=1\n'

stdout:
matched=1
stderr:
E: ksh: <stdin>[2]: ${PS1@P}: bad substitution
toysh21 \@ for 12h time (HH:MM AM/PM)

[toysh stdout] Expected 'matched=0\n', got 'matched=1\n'

stdout:
matched=1
stderr:
main: line 2: sh: PS1: @P}"
sush21 \@ for 12h time (HH:MM AM/PM)

[sush stdout] Expected 'matched=0\n', got 'matched=1\n'

stdout:
matched=1
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: `${PS1@P}': bad substitution
osh21 \@ for 12h time (HH:MM AM/PM)

[osh stdout] Expected 'matched=0\n', got 'matched=1\n'

stdout:
matched=1
stderr:
mksh22 \A for 24h time (HH:MM)

[mksh stdout] Expected 'matched=0\n', got 'matched=1\n'

stdout:
matched=1
stderr:
ksh22 \A for 24h time (HH:MM)

[ksh stdout] Expected 'matched=0\n', got 'matched=1\n'

stdout:
matched=1
stderr:
E: ksh: <stdin>[2]: ${PS1@P}: bad substitution
toysh22 \A for 24h time (HH:MM)

[toysh stdout] Expected 'matched=0\n', got 'matched=1\n'

stdout:
matched=1
stderr:
main: line 2: sh: PS1: @P}"
sush22 \A for 24h time (HH:MM)

[sush stdout] Expected 'matched=0\n', got 'matched=1\n'

stdout:
matched=1
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: `${PS1@P}': bad substitution
brush22 \A for 24h time (HH:MM)

[brush stdout] Expected 'matched=0\n', got 'matched=1\n'

stdout:
matched=1
stderr:
mksh23 \d for date

[mksh stdout] Expected 'matched=0\n', got 'matched=1\n'

stdout:
matched=1
stderr:
ksh23 \d for date

[ksh stdout] Expected 'matched=0\n', got 'matched=1\n'

stdout:
matched=1
stderr:
E: ksh: <stdin>[2]: ${PS1@P}: bad substitution
toysh23 \d for date

[toysh stdout] Expected 'matched=0\n', got 'matched=1\n'

stdout:
matched=1
stderr:
main: line 2: sh: PS1: @P}"
sush23 \d for date

[sush stdout] Expected 'matched=0\n', got 'matched=1\n'

stdout:
matched=1
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: `${PS1@P}': bad substitution
osh23 \d for date

[osh stdout] Expected 'matched=0\n', got 'matched=1\n'

stdout:
matched=1
stderr:
mksh24 \D{%H:%M} for strftime

[mksh stdout] Expected 'matched=0\nmatched=0\n', got 'matched=1\nmatched=1\n'

stdout:
matched=1
matched=1
stderr:
ksh24 \D{%H:%M} for strftime

[ksh stdout] Expected 'matched=0\nmatched=0\n', got 'matched=1\nmatched=1\n'

stdout:
matched=1
matched=1
stderr:
E: ksh: <stdin>[2]: ${PS1@P}: bad substitution
E: ksh: <stdin>[6]: ${PS1@P}: bad substitution
toysh24 \D{%H:%M} for strftime

[toysh stdout] Expected 'matched=0\nmatched=0\n', got 'matched=1\nmatched=1\n'

stdout:
matched=1
matched=1
stderr:
main: line 2: sh: PS1: @P}"
main: line 6: sh: PS1: @P}"
sush24 \D{%H:%M} for strftime

[sush stdout] Expected 'matched=0\nmatched=0\n', got 'matched=1\nmatched=1\n'

stdout:
matched=1
matched=1
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: `${PS1@P}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 6: `${PS1@P}': bad substitution
mksh25 \D{} for locale specific strftime

[mksh stdout] Expected 'matched=0\n', got 'matched=1\n'

stdout:
matched=1
stderr:
ksh25 \D{} for locale specific strftime

[ksh stdout] Expected 'matched=0\n', got 'matched=1\n'

stdout:
matched=1
stderr:
E: ksh: <stdin>[2]: ${PS1@P}: bad substitution
toysh25 \D{} for locale specific strftime

[toysh stdout] Expected 'matched=0\n', got 'matched=1\n'

stdout:
matched=1
stderr:
main: line 2: sh: PS1: @P}"
sush25 \D{} for locale specific strftime

[sush stdout] Expected 'matched=0\n', got 'matched=1\n'

stdout:
matched=1
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: `${PS1@P}': bad substitution
brush25 \D{} for locale specific strftime

[brush stdout] Expected 'matched=0\n', got 'matched=1\n'

stdout:
matched=1
stderr:
mksh26 \s for shell, \v for major.minor version, and \V for full version

[mksh stdout] Expected 'match=0\nmatch=0\nmatch=0\n', got 'match=1\nmatch=1\nmatch=1\n'

stdout:
match=1
match=1
match=1
stderr:
ksh26 \s for shell, \v for major.minor version, and \V for full version

[ksh stdout] Expected 'match=0\nmatch=0\nmatch=0\n', got 'match=1\nmatch=1\nmatch=1\n'

stdout:
match=1
match=1
match=1
stderr:
E: ksh: <stdin>[2]: ${PS1@P}: bad substitution
E: ksh: <stdin>[6]: ${PS1@P}: bad substitution
E: ksh: <stdin>[10]: ${PS1@P}: bad substitution
toysh26 \s for shell, \v for major.minor version, and \V for full version

[toysh stdout] Expected 'match=0\nmatch=0\nmatch=0\n', got 'match=1\nmatch=1\nmatch=1\n'

stdout:
match=1
match=1
match=1
stderr:
main: line 2: sh: PS1: @P}"
main: line 6: sh: PS1: @P}"
main: line 10: sh: PS1: @P}"
sush26 \s for shell, \v for major.minor version, and \V for full version

[sush stdout] Expected 'match=0\nmatch=0\nmatch=0\n', got 'match=1\nmatch=1\nmatch=1\n'

stdout:
match=1
match=1
match=1
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: `${PS1@P}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 6: `${PS1@P}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 10: `${PS1@P}': bad substitution
brush26 \s for shell, \v for major.minor version, and \V for full version

[brush stdout] Expected 'match=0\nmatch=0\nmatch=0\n', got 'match=1\nmatch=0\nmatch=0\n'

stdout:
match=1
match=0
match=0
stderr:
mksh27 \j for number of jobs

[mksh stdout] Expected 'matched=0\nmatched=0\nsleep 5\nmatched=0\n', got 'matched=1\nmatched=1\nsleep 5 \nmatched=1\n'

stdout:
matched=1
matched=1
sleep 5 
matched=1
stderr:
ksh27 \j for number of jobs

[ksh stdout] Expected 'matched=0\nmatched=0\nsleep 5\nmatched=0\n', got 'matched=1\nmatched=1\n\\sleep 5\nmatched=1\n'

stdout:
matched=1
matched=1
\sleep 5
matched=1
stderr:
E: ksh: <stdin>[3]: ${PS1@P}: bad substitution
E: ksh: <stdin>[6]: ${PS1@P}: bad substitution
Terminated 
E: ksh: <stdin>[10]: ${PS1@P}: bad substitution
toysh27 \j for number of jobs

[toysh stdout] Expected 'matched=0\nmatched=0\nsleep 5\nmatched=0\n', got 'matched=1\nmatched=1\nmatched=1\n'

stdout:
matched=1
matched=1
matched=1
stderr:
set: bad -m
main: line 3: sh: PS1: @P}"
main: line 6: sh: PS1: @P}"
kill: bad pid '%%': No such process
sh: fg: No such file or directory
main: line 10: sh: PS1: @P}"
sush27 \j for number of jobs

[sush stdout] Expected 'matched=0\nmatched=0\nsleep 5\nmatched=0\n', got 'matched=1\nmatched=1\nmatched=1\n'

stdout:
matched=1
matched=1
matched=1
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: `${PS1@P}': bad substitution
3731964
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 6: `${PS1@P}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 10: `${PS1@P}': bad substitution
osh27 \j for number of jobs

[osh stdout] Expected 'matched=0\nmatched=0\nsleep 5\nmatched=0\n', got 'matched=1\nmatched=1\nmatched=1\n'

stdout:
matched=1
matched=1
matched=1
stderr:
  set -m # enable job control
      ^~
[ stdin ]:1: 'set' got invalid flag '-m'
kill: failed to parse argument: '%%'
[ stdin ]:9: fg builtin I/O error: No such process
mksh28 \l for TTY device basename

[mksh stdout] Expected 'matched=0\n', got 'matched=1\n'

stdout:
matched=1
stderr:
ksh28 \l for TTY device basename

[ksh stdout] Expected 'matched=0\n', got 'matched=1\n'

stdout:
matched=1
stderr:
E: ksh: <stdin>[8]: ${PS1@P}: bad substitution
toysh28 \l for TTY device basename

[toysh stdout] Expected 'matched=0\n', got 'matched=1\n'

stdout:
matched=1
stderr:
main: line 8: sh: PS1: @P}"
sush28 \l for TTY device basename

[sush stdout] Expected 'matched=0\n', got 'matched=1\n'

stdout:
matched=1
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 8: `${PS1@P}': bad substitution
brush28 \l for TTY device basename

[brush stdout] Expected 'matched=0\n', got ''
[brush status] Expected 0, got 1

stdout:
stderr: 
ERROR error: not yet implemented: prompt: terminal device base name
osh28 \l for TTY device basename

[osh stdout] Expected 'matched=0\n', got 'matched=1\n'

stdout:
matched=1
stderr:
mksh29 \! for history number

[mksh stdout] Expected 'matched=0\nmatched=0\n', got ''
[mksh status] Expected 0, got 1

stdout:
stderr: 
mksh: <stdin>[1]: set: history: bad option
ksh29 \! for history number

[ksh stdout] Expected 'matched=0\nmatched=0\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[1]: set: history: unknown option
toysh29 \! for history number

[toysh stdout] Expected 'matched=0\nmatched=0\n', got 'matched=1\nmatched=1\n'

stdout:
matched=1
matched=1
stderr:
set: bad -o history
sh: history: No such file or directory
main: line 4: sh: PS1: @P}"
main: line 6: sh: PS1: @P}"
sush29 \! for history number

[sush stdout] Expected 'matched=0\nmatched=0\n', got 'matched=1\nmatched=1\n'

stdout:
matched=1
matched=1
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: `${PS1@P}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 6: `${PS1@P}': bad substitution
brush29 \! for history number

[brush stdout] Expected 'matched=0\nmatched=0\n', got ''
[brush status] Expected 0, got 1

stdout:
stderr: 
ERROR error: not yet implemented: prompt: current history number
osh29 \! for history number

[osh stdout] Expected 'matched=0\nmatched=0\n', got 'matched=1\nmatched=1\n'

stdout:
matched=1
matched=1
stderr:
  set -o history # enable history
  ^~~
[ stdin ]:1: 'set' got invalid option 'history'
mksh30 \# for command number

[mksh stdout] Expected 'matched=0\n', got 'matched=1\n'

stdout:
matched=1
stderr:
ksh30 \# for command number

[ksh stdout] Expected 'matched=0\n', got 'matched=1\n'

stdout:
matched=1
stderr:
E: ksh: <stdin>[2]: ${PS1@P}: bad substitution
E: ksh: <stdin>[3]: ${PS1@P}: bad substitution
toysh30 \# for command number

[toysh stdout] Expected 'matched=0\n', got 'matched=1\n'

stdout:
matched=1
stderr:
main: line 2: sh: PS1: @P}"
main: line 3: sh: PS1: @P}"
sush30 \# for command number

[sush stdout] Expected 'matched=0\n', got 'matched=1\n'

stdout:
matched=1
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: `${PS1@P}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: `${PS1@P}': bad substitution
brush30 \# for command number

[brush stdout] Expected 'matched=0\n', got ''
[brush status] Expected 0, got 1

stdout:
stderr: 
ERROR error: not yet implemented: prompt: current command number
osh30 \# for command number

[osh stdout] Expected 'matched=0\n', got 'matched=1\n'

stdout:
matched=1
stderr:
ksh31 @P with array

[ksh stdout] Expected 'a b c\nstatus=0\na b c\nstatus=0\nx\nstatus=0\n' Got 'status=1\nstatus=1\nstatus=1\n'

stdout:
status=1
status=1
status=1
stderr:
E: dummy: ${@@P}: bad substitution
E: dummy: ${*@P}: bad substitution
E: dummy: ${a@P}: bad substitution
toysh31 @P with array

[toysh stdout] Expected 'a b c\nstatus=0\na b c\nstatus=0\nx\nstatus=0\n' Got 'status=1\nstatus=1\nstatus=2\n'

stdout:
status=1
status=1
status=2
stderr:
-c: line 1: sh: @: @P}
-c: line 1: sh: *: @P}
-c: line 1: sh: syntax error: x
sush31 @P with array

[sush stdout] Expected 'a b c\nstatus=0\na b c\nstatus=0\nx\nstatus=0\n' Got 'status=1\nstatus=1\nstatus=1\n'

stdout:
status=1
status=1
status=1
stderr:
dummy: line 1: `${@@P}': bad substitution
dummy: line 1: `${*@P}': bad substitution
dummy: line 1: `${a@P}': bad substitution
mksh32 default PS1

[mksh stdout] Expected '_\\s-\\v\\$ _\n', got ''
[mksh status] Expected 0, got 1

stdout:
stderr: 
mksh: mksh: --: unknown option
ksh32 default PS1

[ksh stdout] Expected '_\\s-\\v\\$ _\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: --: unknown option
toysh32 default PS1

[toysh stdout] Expected '_\\s-\\v\\$ _\n', got ''
[toysh status] Expected 0, got 1

stdout:
stderr: 
sh: Unknown option 'rcfile' (see "sh --help")
sush32 default PS1

[sush stdout] Expected '_\\s-\\v\\$ _\n', got ''
[sush status] Expected 0, got 2

stdout:
stderr: 
: line : set: --: invalid option
brush32 default PS1

[brush stdout] Expected '_\\s-\\v\\$ _\n', got ''

stdout:
stderr: 
ERROR error: failed to source file: --rcfile; i/o error: No such file or directory (os error 2)