Results for serialize.test.sh

statusbashmkshkshtoyshsushbrushosh
pass 7440367
ok 3300003
BUG 0300000
FAIL 00610740
total10101010101010
casebashmkshkshtoyshsushbrushoshdescription
0pass ok FAIL FAIL FAIL FAIL pass printf %q newline
detailsdetailsdetailsdetailsdetails
1ok pass pass FAIL FAIL pass pass printf %q spaces
detailsdetailsdetails
2pass BUG FAIL FAIL pass FAIL ok printf %q quotes
detailsdetailsdetailsdetailsdetails
3pass BUG FAIL FAIL FAIL FAIL ok printf %q unprintable
detailsdetailsdetailsdetailsdetailsdetails
4pass pass pass FAIL FAIL pass ok printf %q unicode
detailsdetailsdetails
5ok BUG FAIL FAIL FAIL FAIL pass printf %q invalid unicode
detailsdetailsdetailsdetailsdetailsdetails
6pass pass pass FAIL pass pass pass set
details
7pass ok FAIL FAIL pass pass pass declare
detailsdetailsdetails
8pass ok FAIL FAIL FAIL pass pass ${var@Q}
detailsdetailsdetailsdetails
9ok pass pass FAIL FAIL pass pass xtrace
detailsdetailsdetails
31 passed, 9 OK, 0 not implemented, 3 BUG, 27 failed, 0 timeouts, 0 cases skipped

Details on runs that didn't PASS

mksh0 printf %q newline

stdout:
'one'$'\n''two'
roundtrip-ok
stderr:
ksh0 printf %q newline

[ksh stdout] Expected "$'one\\ntwo'\nroundtrip-ok\n", got "'one'$'\\n''two'\nroundtrip-ok\n"

stdout:
'one'$'\n''two'
roundtrip-ok
stderr:
toysh0 printf %q newline

[toysh stdout] Expected "$'one\\ntwo'\nroundtrip-ok\n", got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
main: line 1: sh: syntax error: (
sush0 printf %q newline

[sush stdout] Expected "$'one\\ntwo'\nroundtrip-ok\n", got 'one\ntwo\n'
[sush status] Expected 0, got 1

stdout:
one
two
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: two: command not found
brush0 printf %q newline

[brush stdout] Expected "$'one\\ntwo'\nroundtrip-ok\n", got "'one'$'\\n''two'\nroundtrip-ok\n"

stdout:
'one'$'\n''two'
roundtrip-ok
stderr:
bash1 printf %q spaces

stdout:
one\ two
stderr:
toysh1 printf %q spaces

[toysh stdout] Expected "'one two'\n", got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
main: line 1: sh: syntax error: (
sush1 printf %q spaces

[sush stdout] Expected "'one two'\n", got 'one two\n'

stdout:
one two
stderr:
mksh2 printf %q quotes

stdout:
''\''"'
roundtrip-ok
stderr:
ksh2 printf %q quotes

[ksh stdout] Expected '\\\'\\"\nroundtrip-ok\n', got '\'\'\\\'\'"\'\nroundtrip-ok\n'

stdout:
''\''"'
roundtrip-ok
stderr:
toysh2 printf %q quotes

[toysh stdout] Expected '\\\'\\"\nroundtrip-ok\n', got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
main: line 1: sh: syntax error: (
brush2 printf %q quotes

[brush stdout] Expected '\\\'\\"\nroundtrip-ok\n', got '\'\'\\\'\'"\'\nroundtrip-ok\n'

stdout:
''\''"'
roundtrip-ok
stderr:
osh2 printf %q quotes

stdout:
$'\'"'
roundtrip-ok
stderr:
mksh3 printf %q unprintable

stdout:
''$'\377'
stderr:
ksh3 printf %q unprintable

[ksh stdout] Expected "$'\\377'\n", got "''$'\\377'\n"

stdout:
''$'\377'
stderr:
toysh3 printf %q unprintable

[toysh stdout] Expected "$'\\377'\n", got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
main: line 1: sh: syntax error: (
sush3 printf %q unprintable

[sush stdout] Expected "$'\\377'\n", got '\xc3\xbf\n'

stdout:
ÿ
stderr:
brush3 printf %q unprintable

[brush stdout] Expected "$'\\377'\n", got '\xef\xbf\xbd\n'

stdout:
stderr:
osh3 printf %q unprintable

stdout:
$'\xff'
stderr:
toysh4 printf %q unicode

[toysh stdout] Expected '\xce\xbc\n', got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
main: line 1: sh: syntax error: (
sush4 printf %q unicode

[sush stdout] Expected '\xce\xbc\n', got '\xc3\x8e\xc2\xbc\n'

stdout:
μ
stderr:
osh4 printf %q unicode

stdout:
'μ'
stderr:
bash5 printf %q invalid unicode

stdout:
$'\316'
$'\316μ'
$'μ\316'
$'\316a'
$'a\316'
stderr:
mksh5 printf %q invalid unicode

stdout:
''$'\316'
''$'\316''μ'
'μ'$'\316'
stderr:
ksh5 printf %q invalid unicode

[ksh stdout] Expected "$'\\xce'\n$'\\xce\xce\xbc'\n$'\xce\xbc\\xce'\n$'\\xcea'\n$'a\\xce'\n" Got "''$'\\316'\n''$'\\316''\xce\xbc'\n'\xce\xbc'$'\\316'\n\xe0\xb3\xaa\n'a'$'\\316'\n"

stdout:
''$'\316'
''$'\316''μ'
'μ'$'\316'
೪
'a'$'\316'
stderr:
toysh5 printf %q invalid unicode

[toysh stdout] Expected "$'\\xce'\n$'\\xce\xce\xbc'\n$'\xce\xbc\\xce'\n$'\\xcea'\n$'a\\xce'\n" Got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
main: line 1: sh: syntax error: (
sush5 printf %q invalid unicode

[sush stdout] Expected "$'\\xce'\n$'\\xce\xce\xbc'\n$'\xce\xbc\\xce'\n$'\\xcea'\n$'a\\xce'\n" Got '\xc3\x8e\n\xc3\x8e\xc3\x8e\xc2\xbc\n\xc3\x8e\xc2\xbc\xc3\x8e\n\xc3\x8ea\na\xc3\x8e\n'

stdout:
Î
Îμ
μÎ
Îa
aÎ
stderr:
brush5 printf %q invalid unicode

[brush stdout] Expected "$'\\xce'\n$'\\xce\xce\xbc'\n$'\xce\xbc\\xce'\n$'\\xcea'\n$'a\\xce'\n" Got '\xef\xbf\xbd\n\xef\xbf\xbd\xce\xbc\n\xce\xbc\xef\xbf\xbd\n\xef\xbf\xbda\na\xef\xbf\xbd\n'

stdout:
�
�μ
μ�
�a
a�
stderr:
toysh6 set

[toysh stdout] Expected "zz=$'one\\ntwo'\n", got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
main: line 1: sh: syntax error: (
mksh7 declare

stdout:
typeset zz
typeset zz=$'one\ntwo'
stderr:
ksh7 declare

[ksh stdout] Expected "zz=$'one\\ntwo'\ndeclare -- zz=$'one\\ntwo'\n" Got "typeset zz\ntypeset zz=$'one\\ntwo'\n"

stdout:
typeset zz
typeset zz=$'one\ntwo'
stderr:
toysh7 declare

[toysh stdout] Expected "zz=$'one\\ntwo'\ndeclare -- zz=$'one\\ntwo'\n" Got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
main: line 1: sh: syntax error: (
mksh8 ${var@Q}

stdout:
$'one
two μ'
$'one
two μ'
stderr:
ksh8 ${var@Q}

[ksh stdout] Expected "$'one\\ntwo \xce\xbc'\n$'one\\ntwo \xce\xbc'\n", got "$'one\ntwo \xce\xbc'\n$'one\ntwo \xce\xbc'\n"

stdout:
$'one
two μ'
$'one
two μ'
stderr:
toysh8 ${var@Q}

[toysh stdout] Expected "$'one\\ntwo \xce\xbc'\n$'one\\ntwo \xce\xbc'\n", got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
main: line 1: sh: syntax error: (
sush8 ${var@Q}

[sush stdout] Expected "$'one\\ntwo \xce\xbc'\n$'one\\ntwo \xce\xbc'\n", got ''
[sush status] Expected 0, got 1

stdout:
stderr: 
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 5: `${zz@Q}': bad substitution
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 6: `${zz@Q}': bad substitution
bash9 xtrace

stdout:
one
two
stderr:
+ echo 'one
two'
toysh9 xtrace

[toysh stderr] Expected "+ echo $'one\\ntwo'\n", got ' echo "$zz" \n'

stdout:
one
two
stderr:
 echo "$zz" 
sush9 xtrace

[sush stderr] Expected "+ echo $'one\\ntwo'\n", got '/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: set: -x: invalid option\n'

stdout:
one
two
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: set: -x: invalid option