25 passed, 21 OK, 10 not implemented, 4 BUG, 16 failed, 0 timeouts, 0 cases skipped 16 failed under osh
dash | 0 unset PS4 stdout: weird bugstderr: |
osh | 0 unset PS4 [osh stderr] Expected '+ echo 1\n+ unset PS4\necho 2\n', got "Local 'SHX_indent'\nLocal 'SHX_punct'\nLocal 'SHX_pid_str'\n+ echo 1\nLocal 'SHX_indent'\nLocal 'SHX_punct'\nLocal 'SHX_pid_str'\n+ unset PS4\nLocal 'SHX_indent'\nLocal 'SHX_punct'\nLocal 'SHX_pid_str'\necho 2\n" stdout: 1 2stderr: Local 'SHX_indent' Local 'SHX_punct' Local 'SHX_pid_str' + echo 1 Local 'SHX_indent' Local 'SHX_punct' Local 'SHX_pid_str' + unset PS4 Local 'SHX_indent' Local 'SHX_punct' Local 'SHX_pid_str' echo 2 |
bash | 1 set -o verbose prints unevaluated code stdout: foo barstderr: x=foo y=bar echo $x echo $(echo $y) |
osh | 1 set -o verbose prints unevaluated code [osh stderr] Expected 'x=foo\ny=bar\necho $x\necho $(echo $y)\n', got 'osh warning: set -o verbose not implemented\n' stdout: foo barstderr: osh warning: set -o verbose not implemented |
bash | 2 xtrace with unprintable chars stdout: abcstderr: + echo $'a\003b\004c' |
dash | 2 xtrace with unprintable chars stdout: stderr: |
mksh | 2 xtrace with unprintable chars stdout: a;cstderr: + echo $'a;\004c\r' |
osh | 2 xtrace with unprintable chars [osh stderr] Expected "+ echo $'a\\u0003b\\u0004c\\u0000d'\n", got "Local 'SHX_indent'\nLocal 'SHX_punct'\nLocal 'SHX_pid_str'\n+ echo $'a\\u0003b\\u0004c\\u0000d'\n" stdout: abcdstderr: Local 'SHX_indent' Local 'SHX_punct' Local 'SHX_pid_str' + echo $'a\u0003b\u0004c\u0000d' |
dash | 3 xtrace with unicode chars stdout: stderr: |
osh | 3 xtrace with unicode chars [osh stderr] Expected "+ echo '[\xce\xbc]' '[\xce\xbc]'\n", got "Local 'SHX_indent'\nLocal 'SHX_punct'\nLocal 'SHX_pid_str'\n+ echo '[\xce\xbc]' '[\xce\xbc]'\n" stdout: [μ] [μ]stderr: Local 'SHX_indent' Local 'SHX_punct' Local 'SHX_pid_str' + echo '[μ]' '[μ]' |
osh | 4 xtrace with paths [osh stderr] Expected '+ echo my-dir/my_file.cc\n', got "Local 'SHX_indent'\nLocal 'SHX_punct'\nLocal 'SHX_pid_str'\n+ echo my-dir/my_file.cc\n" stdout: my-dir/my_file.ccstderr: Local 'SHX_indent' Local 'SHX_punct' Local 'SHX_pid_str' + echo my-dir/my_file.cc |
bash | 5 xtrace with tabs stdout: [ ]stderr: + echo '[ ]' |
dash | 5 xtrace with tabs stdout: stderr: |
osh | 5 xtrace with tabs [osh stderr] Expected "+ echo $'[\\t]'\n", got "Local 'SHX_indent'\nLocal 'SHX_punct'\nLocal 'SHX_pid_str'\n+ echo $'[\\t]'\n" stdout: [ ]stderr: Local 'SHX_indent' Local 'SHX_punct' Local 'SHX_pid_str' + echo $'[\t]' |
bash | 6 xtrace with whitespace, quotes, and backslash stdout: 1 2 ' " \stderr: + echo '1 2' \' '"' '\' |
dash | 6 xtrace with whitespace, quotes, and backslash stdout: 1 2 ' " \stderr: + echo 1 2 ' " \ |
mksh | 6 xtrace with whitespace, quotes, and backslash stdout: 1 2 ' " \stderr: + echo '1 2' \' '"' '\' |
osh | 6 xtrace with whitespace, quotes, and backslash [osh stderr] Expected '+ echo \'1 2\' $\'\\\'\' \'"\' $\'\\\\\'\n', got 'Local \'SHX_indent\'\nLocal \'SHX_punct\'\nLocal \'SHX_pid_str\'\n+ echo \'1 2\' $\'\\\'\' \'"\' $\'\\\\\'\n' stdout: 1 2 ' " \stderr: Local 'SHX_indent' Local 'SHX_punct' Local 'SHX_pid_str' + echo '1 2' $'\'' '"' $'\\' |
bash | 7 xtrace with newlines stdout: [ ]stderr: + echo '[ ]' |
dash | 7 xtrace with newlines stdout: $[ ]stderr: + echo $[\n] |
osh | 7 xtrace with newlines [osh stderr] Expected "+ echo $'[\\n]'\n", got "Local 'SHX_indent'\nLocal 'SHX_punct'\nLocal 'SHX_pid_str'\n+ echo $'[\\n]'\n" stdout: [ ]stderr: Local 'SHX_indent' Local 'SHX_punct' Local 'SHX_pid_str' + echo $'[\n]' |
mksh | 8 xtrace written before command executes stdout: stderr: + >&2 + echo one one + >&2 + echo two two |
osh | 8 xtrace written before command executes [osh stderr] Expected '+ echo one\none\n+ echo two\ntwo\n', got "Local 'SHX_indent'\nLocal 'SHX_punct'\nLocal 'SHX_pid_str'\n+ echo one\none\nLocal 'SHX_indent'\nLocal 'SHX_punct'\nLocal 'SHX_pid_str'\n+ echo two\ntwo\n" stdout: stderr: Local 'SHX_indent' Local 'SHX_punct' Local 'SHX_pid_str' + echo one one Local 'SHX_indent' Local 'SHX_punct' Local 'SHX_pid_str' + echo two two |
bash | 9 Assignments and assign builtins stdout: 2stderr: + x=1 + x=2 + echo 2 + readonly x=3 + x=3 |
dash | 9 Assignments and assign builtins stdout: 2stderr: + x=1 x=2 + echo 2 + readonly x=3 |
mksh | 9 Assignments and assign builtins stdout: 2stderr: + x=1 x=2 + echo 2 + readonly 'x=3' |
osh | 9 Assignments and assign builtins [osh stderr] Expected '+ x=1\n+ x=2\n+ echo 2\n+ readonly x=3\n', got "Local 'SHX_indent'\nLocal 'SHX_punct'\nLocal 'SHX_pid_str'\n+ x=1\nLocal 'SHX_indent'\nLocal 'SHX_punct'\nLocal 'SHX_pid_str'\n+ x=2\nLocal 'SHX_indent'\nLocal 'SHX_punct'\nLocal 'SHX_pid_str'\n+ echo 2\nLocal 'SHX_indent'\nLocal 'SHX_punct'\nLocal 'SHX_pid_str'\n+ readonly x=3\n" stdout: 2stderr: Local 'SHX_indent' Local 'SHX_punct' Local 'SHX_pid_str' + x=1 Local 'SHX_indent' Local 'SHX_punct' Local 'SHX_pid_str' + x=2 Local 'SHX_indent' Local 'SHX_punct' Local 'SHX_pid_str' + echo 2 Local 'SHX_indent' Local 'SHX_punct' Local 'SHX_pid_str' + readonly x=3 |
bash | 10 [[ ]] stdout: stderr: + dir=/ + [[ -d / ]] + (( a = 42 )) |
dash | 10 [[ ]] stdout: stderr: |
mksh | 10 [[ ]] stdout: stderr: |
osh | 10 [[ ]] [osh stderr] Expected '+ dir=/\n+ [[ -d $dir ]]\n+ (( a = 42 ))\n', got "Local 'SHX_indent'\nLocal 'SHX_punct'\nLocal 'SHX_pid_str'\n+ dir=/\nLocal 'SHX_indent'\nLocal 'SHX_punct'\nLocal 'SHX_pid_str'\n+ [[ -d $dir ]]\nLocal 'SHX_indent'\nLocal 'SHX_punct'\nLocal 'SHX_pid_str'\n+ (( a = 42 ))\n" stdout: stderr: Local 'SHX_indent' Local 'SHX_punct' Local 'SHX_pid_str' + dir=/ Local 'SHX_indent' Local 'SHX_punct' Local 'SHX_pid_str' + [[ -d $dir ]] Local 'SHX_indent' Local 'SHX_punct' Local 'SHX_pid_str' + (( a = 42 )) |
dash | 11 PS4 is scoped stdout: one func twostderr: + echo one + f + local PS4=- - echo func + echo two |
mksh | 11 PS4 is scoped stdout: one func twostderr: + echo one + f + typeset 'PS4=- ' - echo func + echo two |
osh | 11 PS4 is scoped [osh stderr] Expected "+ echo one\n+ f\n+ local PS4='- '\n- echo func\n+ echo two\n" Got "Local 'SHX_indent'\nLocal 'SHX_punct'\nLocal 'SHX_pid_str'\n+ echo one\nLocal 'SHX_indent'\nLocal 'SHX_punct'\nLocal 'SHX_pid_str'\n+ f\nLocal 'SHX_indent'\nLocal 'SHX_punct'\nLocal 'SHX_pid_str'\n+ local PS4='- '\nLocal 'PS4'\nLocal 'SHX_indent'\nLocal 'SHX_punct'\nLocal 'SHX_pid_str'\n- echo func\nLocal 'SHX_indent'\nLocal 'SHX_punct'\nLocal 'SHX_pid_str'\n+ echo two\n" stdout: one func twostderr: Local 'SHX_indent' Local 'SHX_punct' Local 'SHX_pid_str' + echo one Local 'SHX_indent' Local 'SHX_punct' Local 'SHX_pid_str' + f Local 'SHX_indent' Local 'SHX_punct' Local 'SHX_pid_str' + local PS4='- ' Local 'PS4' Local 'SHX_indent' Local 'SHX_punct' Local 'SHX_pid_str' - echo func Local 'SHX_indent' Local 'SHX_punct' Local 'SHX_pid_str' + echo two |
dash | 12 xtrace with variables in PS4 stdout: one twostderr: +1:x=1 +1:echo one +2:x=2 +2:echo two |
mksh | 12 xtrace with variables in PS4 stdout: one twostderr: +:x=1 +1:echo one +1:x=2 +2:echo two |
osh | 12 xtrace with variables in PS4 [osh stderr] Expected '+1:x=1\n+1:echo one\n+2:x=2\n+2:echo two\n', got "Local 'SHX_indent'\nLocal 'SHX_punct'\nLocal 'SHX_pid_str'\n+1:x=1\nLocal 'SHX_indent'\nLocal 'SHX_punct'\nLocal 'SHX_pid_str'\n+1:echo one\nLocal 'SHX_indent'\nLocal 'SHX_punct'\nLocal 'SHX_pid_str'\n+2:x=2\nLocal 'SHX_indent'\nLocal 'SHX_punct'\nLocal 'SHX_pid_str'\n+2:echo two\n" stdout: one twostderr: Local 'SHX_indent' Local 'SHX_punct' Local 'SHX_pid_str' +1:x=1 Local 'SHX_indent' Local 'SHX_punct' Local 'SHX_pid_str' +1:echo one Local 'SHX_indent' Local 'SHX_punct' Local 'SHX_pid_str' +2:x=2 Local 'SHX_indent' Local 'SHX_punct' Local 'SHX_pid_str' +2:echo two |
dash | 13 PS4 with unterminated ${ stdout: stderr: dash: 1: Syntax error: Missing '}' |
mksh | 13 PS4 with unterminated ${ stdout: stderr: mksh: no closing quote |
dash | 14 PS4 with unterminated $( stdout: stderr: dash: 1: Syntax error: end of file unexpected (expecting ")") |
mksh | 14 PS4 with unterminated $( stdout: stderr: mksh: syntax error: '(' unmatched |
dash | 15 PS4 with runtime error stdout: stderr: dash: 4: arithmetic expression: division by zero: " 1 / 0 " |
mksh | 15 PS4 with runtime error stdout: stderr: mksh: <stdin>[4]: 1 / 0 : zero divisor |
osh | 16 Reading $? in PS4 [osh stderr] Expected "[last=0] 'false'\n[last=1] echo ok\n", got "Local 'SHX_indent'\nLocal 'SHX_punct'\nLocal 'SHX_pid_str'\n[last=0] 'false'\nLocal 'SHX_indent'\nLocal 'SHX_punct'\nLocal 'SHX_pid_str'\n[last=1] echo ok\n" stdout: okstderr: Local 'SHX_indent' Local 'SHX_punct' Local 'SHX_pid_str' [last=0] 'false' Local 'SHX_indent' Local 'SHX_punct' Local 'SHX_pid_str' [last=1] echo ok |
bash | 17 Regression: xtrace for "declare -a a+=(v)" stdout: stderr: + a+=('2') + declare a |
dash | 17 Regression: xtrace for "declare -a a+=(v)" stdout: stderr: |
mksh | 17 Regression: xtrace for "declare -a a+=(v)" stdout: stderr: |
osh | 17 Regression: xtrace for "declare -a a+=(v)" [osh stderr] Expected '+ declare a+=(2)\n', got "Local 'SHX_indent'\nLocal 'SHX_punct'\nLocal 'SHX_pid_str'\n+ declare a+=(2)\nLocal 'a'\n" stdout: stderr: Local 'SHX_indent' Local 'SHX_punct' Local 'SHX_pid_str' + declare a+=(2) Local 'a' |
dash | 18 Regression: xtrace for "a+=(v)" stdout: stderr: |
mksh | 18 Regression: xtrace for "a+=(v)" stdout: stderr: |
osh | 18 Regression: xtrace for "a+=(v)" [osh stderr] Expected '+ a+=(2)\n', got "Local 'SHX_indent'\nLocal 'SHX_punct'\nLocal 'SHX_pid_str'\n+ a+=(2)\n" stdout: stderr: Local 'SHX_indent' Local 'SHX_punct' Local 'SHX_pid_str' + a+=(2) |