Results for smoosh.test.sh

statusdashbashmkshosh
pass 115135133123
FAIL 45272940
TIME 14121211
total174174174174
casedashbashmkshoshdescription
0pass pass pass pass benchmark.fact5.test
1pass pass pass pass benchmark.while.test
2FAIL pass pass FAIL builtin.alias.empty.test
detailsdetails
3pass pass pass FAIL builtin.break.lexical.test
details
4FAIL FAIL FAIL FAIL builtin.break.nonlexical.test
detailsdetailsdetailsdetails
5pass pass pass pass builtin.cd.pwd.test
6pass pass pass FAIL builtin.command.ec.test
details
7pass pass pass pass builtin.command.exec.test
8pass pass pass FAIL builtin.command.keyword.test
details
9FAIL pass FAIL pass builtin.command.nospecial.test
detailsdetails
10pass pass pass pass builtin.command.special.assign.test
11pass pass pass FAIL builtin.continue.lexical.test
details
12FAIL FAIL FAIL FAIL builtin.continue.nonlexical.test
detailsdetailsdetailsdetails
13FAIL FAIL pass FAIL builtin.dot.break.test
detailsdetailsdetails
14FAIL pass pass pass builtin.dot.nonexistent.test
details
15FAIL pass pass FAIL builtin.dot.path.test
detailsdetails
16pass pass pass pass builtin.dot.return.test
17pass pass pass pass builtin.dot.unreadable.test
18pass pass pass FAIL builtin.echo.exitcode.test
details
19pass pass FAIL pass builtin.eval.break.test
details
20pass pass pass pass builtin.eval.test
21FAIL pass pass pass builtin.eval.trap.test
details
22FAIL pass pass pass builtin.exec.badredir.test
details
23pass pass pass pass builtin.exec.modernish.mkfifo.loop.test
24pass pass pass pass builtin.exec.noargs.ec.test
25pass pass pass pass builtin.exec.true.test
26pass pass pass pass builtin.exit0.test
27pass FAIL FAIL FAIL builtin.exitcode.test
detailsdetailsdetails
28FAIL FAIL FAIL FAIL builtin.export.override.test
detailsdetailsdetailsdetails
29pass pass pass pass builtin.export.test
30pass pass pass FAIL builtin.export.unset.test
details
31pass pass pass pass builtin.falsetrue.test
32pass pass pass pass builtin.hash.nonposix.test
33TIME TIME TIME TIME builtin.jobs.test
34pass pass pass pass builtin.kill0_+5.test
35pass pass pass pass builtin.kill0.test
36TIME TIME TIME TIME builtin.kill.jobs.test
37pass pass pass pass builtin.kill.signame.test
38pass pass pass FAIL builtin.printf.repeat.test
details
39pass pass pass pass builtin.pwd.exitcode.test
40FAIL pass FAIL pass builtin.readonly.assign.noninteractive.test
detailsdetails
41TIME pass pass pass builtin.set.-m.test
42pass pass pass pass builtin.set.quoted.test
43FAIL pass pass FAIL builtin.source.nonexistent.earlyexit.test
detailsdetails
44FAIL pass pass pass builtin.source.nonexistent.test
details
45FAIL pass pass pass builtin.source.setvar.test
details
46FAIL pass pass FAIL builtin.special.redir.error.test
detailsdetails
47pass pass pass pass builtin.test.bigint.test
48TIME TIME TIME TIME builtin.test.nonposix.test
49FAIL pass pass pass builtin.test.-nt.-ot.absent.test
details
50pass pass pass pass builtin.test.numeric.spaces.nonposix.test
51pass pass pass pass builtin.test.symlink.test
52TIME TIME TIME TIME builtin.times.ioerror.test
53FAIL pass FAIL FAIL builtin.trap.chained.test
detailsdetailsdetails
54pass pass pass pass builtin.trap.exit3.test
55pass FAIL FAIL pass builtin.trap.exitcode.test
detailsdetails
56pass pass pass pass builtin.trap.exit.subshell.test
57FAIL pass pass pass builtin.trap.false.test
details
58pass pass pass FAIL builtin.trap.kill.undef.test
details
59FAIL FAIL pass FAIL builtin.trap.nested.test
detailsdetailsdetails
60pass pass pass pass builtin.trap.noexit.test
61pass pass FAIL FAIL builtin.trap.redirect.test
detailsdetails
62pass FAIL FAIL pass builtin.trap.return.test
detailsdetails
63FAIL FAIL FAIL FAIL builtin.trap.subshell.false.exit.test
detailsdetailsdetailsdetails
64FAIL pass pass pass builtin.trap.subshell.false.test
details
65FAIL FAIL FAIL FAIL builtin.trap.subshell.loud2.test
detailsdetailsdetailsdetails
66FAIL FAIL FAIL FAIL builtin.trap.subshell.loud.test
detailsdetailsdetailsdetails
67FAIL pass pass pass builtin.trap.subshell.quiet.test
details
68FAIL FAIL FAIL FAIL builtin.trap.subshell.true.ec1.test
detailsdetailsdetailsdetails
69FAIL pass pass pass builtin.trap.subshell.truefalse.test
details
70FAIL FAIL FAIL FAIL builtin.trap.supershell.test
detailsdetailsdetailsdetails
71FAIL pass pass pass builtin.unset.test
details
72pass pass pass pass parse.emptyvar.test
73pass FAIL pass FAIL parse.eval.error.test
detailsdetails
74pass pass pass pass semantics.arith.assign.multi.test
75pass pass pass pass semantics.arithmetic.bool_to_num.test
76pass pass pass pass semantics.arithmetic.tilde.test
77pass pass pass pass semantics.arith.modernish.test
78pass pass pass pass semantics.arith.pos.test
79pass pass pass pass semantics.arith.var.space.test
80pass pass pass pass semantics.assign.noglob.test
81pass pass pass pass semantics.assign.visible.test
82pass pass pass pass semantics.background.nojobs.stdin.test
83TIME TIME TIME TIME semantics.background.pid.test
84TIME TIME TIME TIME semantics.background.pipe.pid.test
85TIME TIME TIME TIME semantics.background.test
86pass pass pass pass semantics.backtick.exit.test
87FAIL FAIL FAIL FAIL semantics.backtick.fds.test
detailsdetailsdetailsdetails
88pass pass pass pass semantics.backtick.ppid.test
89pass pass pass pass semantics.case.ec.test
90pass pass pass pass semantics.case.escape.modernish.test
91pass pass pass pass semantics.case.escape.quotes.test
92FAIL FAIL FAIL FAIL semantics.command.argv0.test
detailsdetailsdetailsdetails
93FAIL pass pass pass semantics.command-subst.newline.test
details
94pass pass pass pass semantics.command-subst.test
95pass pass pass FAIL semantics.-C.test
details
96pass pass pass pass semantics.defun.ec.test
97FAIL FAIL FAIL FAIL semantics.dot.glob.test
detailsdetailsdetailsdetails
98pass pass pass pass semantics.errexit.carryover.test
99pass pass pass pass semantics.errexit.subshell.test
100FAIL pass pass FAIL semantics.errexit.trap.test
detailsdetails
101FAIL FAIL FAIL pass semantics.error.noninteractive.test
detailsdetailsdetails
102pass pass pass pass semantics.escaping.backslash.modernish.test
103pass pass pass pass semantics.escaping.backslash.test
104pass pass pass pass semantics.escaping.heredoc.dollar.test
105pass pass pass pass semantics.escaping.newline.test
106FAIL FAIL FAIL FAIL semantics.escaping.quote.test
detailsdetailsdetailsdetails
107pass pass pass pass semantics.escaping.single.test
108pass pass pass pass semantics.eval.makeadder.test
109pass FAIL FAIL pass semantics.evalorder.fun.test
detailsdetails
110pass pass pass pass semantics.expansion.heredoc.backslash.test
111pass pass pass pass semantics.expansion.quotes.adjacent.test
112pass pass pass pass semantics.expansion.substring.test
113pass pass pass pass semantics.for.readonly.test
114pass pass pass pass semantics.fun.error.restore.test
115FAIL FAIL FAIL FAIL semantics.-h.nonposix.test
detailsdetailsdetailsdetails
116pass pass pass pass semantics.ifs.combine.ws.test
117TIME TIME TIME TIME semantics.kill.traps.test
118pass pass pass pass semantics.length.test
119TIME pass pass pass semantics.monitoring.ttou.test
120pass pass pass pass semantics.no-command-subst.test
121FAIL pass pass pass semantics.noninteractive.expansion.exit.test
details
122pass pass pass pass semantics.pattern.bracket.quoted.test
123FAIL pass FAIL pass semantics.pattern.hyphen.test
detailsdetails
124pass pass pass pass semantics.pattern.modernish.test
125FAIL pass FAIL pass semantics.pattern.rightbracket.test
detailsdetails
126pass pass pass pass semantics.pipe.chained.test
127pass pass pass pass semantics.quote.backslash.test
128pass pass pass pass semantics.quote.tilde.test
129FAIL FAIL pass pass semantics.redir.close.test
detailsdetails
130FAIL FAIL FAIL FAIL semantics.redir.fds.test
detailsdetailsdetailsdetails
131pass pass pass pass semantics.redir.from.test
132pass pass pass pass semantics.redir.indirect.test
133pass pass pass pass semantics.redir.nonregular.test
134pass pass pass pass semantics.redir.toomany.test
135pass pass pass pass semantics.redir.to.test
136FAIL FAIL FAIL FAIL semantics.return.trap.test
detailsdetailsdetailsdetails
137pass pass pass pass semantics.simple.link.test
138pass pass pass pass semantics.slash.glob.test
139pass pass pass FAIL semantics.special.assign.visible.nonposix.test
details
140pass pass FAIL pass semantics.splitting.ifs.test
details
141TIME TIME TIME TIME semantics.subshell.background.traps.test
142FAIL FAIL pass pass semantics.subshell.break.test
detailsdetails
143pass pass pass pass semantics.subshell.redirect.test
144pass pass pass pass semantics.subshell.return2.test
145pass pass pass pass semantics.subshell.return.test
146pass pass pass pass semantics.substring.quotes.test
147pass pass pass pass semantics.tilde.colon.test
148pass pass pass pass semantics.tilde.no-exp.test
149pass pass pass pass semantics.tilde.quoted.prefix.test
150pass pass pass pass semantics.tilde.quoted.test
151pass FAIL pass pass semantics.tilde.sep.test
details
152pass pass pass pass semantics.tilde.test
153pass pass pass FAIL semantics.traps.async.test
details
154FAIL FAIL pass pass semantics.traps.inherit.test
detailsdetails
155pass pass pass pass semantics.var.alt.nullifs.test
156pass pass pass pass semantics.var.alt.null.test
157pass pass pass pass semantics.varassign.test
158pass pass pass pass semantics.var.builtin.nonspecial.test
159FAIL pass FAIL pass semantics.var.dashu.test
detailsdetails
160pass pass pass pass semantics.var.format.tilde.test
161pass pass pass pass semantics.variable.escape.length.test
162pass pass pass pass semantics.var.ifs.sep.test
163pass pass pass FAIL semantics.var.star.emptyifs.test
details
164pass pass pass pass semantics.var.star.format.test
165pass pass pass pass semantics.var.unset.nofield.test
166TIME TIME TIME TIME semantics.wait.alreadydead.test
167pass pass pass pass semantics.while.test
168pass pass pass pass sh.-c.arg0.test
169pass pass pass pass sh.env.ppid.test
170pass pass pass pass sh.file.weirdness.test
171TIME TIME TIME FAIL sh.monitor.bg.test
detailsdetailsdetailsdetails
172TIME TIME TIME TIME sh.monitor.fg.test
173pass pass pass FAIL sh.set.ifs.test
details
506 passed, 0 OK, 0 not implemented, 0 BUG, 141 failed, 49 timeouts, 0 cases skipped
40 failed under osh

Details on runs that didn't PASS

dash2 builtin.alias.empty.test

[dash status] Expected 0, got 2

stdout:
stderr: 
dash: 6: Syntax error: end of file unexpected
osh2 builtin.alias.empty.test

[osh status] Expected 0, got 2

stdout:
stderr: 
  
   ^
[ expansion of alias 'empty' ]:1: Unexpected EOF while parsing command
osh3 builtin.break.lexical.test

[osh stdout] Expected '0\npost\n1\npost\n2\npost\n3\npost\n4\npost\n', got '0\n'
[osh status] Expected 0, got 1

stdout:
0
stderr:
  brk() { break 5 2>/dev/null; echo post; }
          ^~~~~
[ stdin ]:1: fatal: Unexpected 'break' (in function call)
dash4 builtin.break.nonlexical.test

[dash stdout] Expected '0\n', got ''
[dash status] Expected 0, got 2

stdout:
stderr: 
bash4 builtin.break.nonlexical.test

[bash stdout] Expected '0\n', got ''
[bash status] Expected 0, got 2

stdout:
stderr: 
mksh4 builtin.break.nonlexical.test

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

stdout:
stderr: 
osh4 builtin.break.nonlexical.test

[osh status] Expected 0, got 1

stdout:
0
stderr:
  brk() { break 5 2>/dev/null; echo post; }
          ^~~~~
[ stdin ]:2: fatal: Unexpected 'break' (in function call)
osh6 builtin.command.ec.test

[osh stdout] Expected '0\n0\n', got '2\n'
[osh status] Expected 0, got 1

stdout:
2
stderr:
  command -V alias >/dev/null
          ^~
[ stdin ]:2: 'command' doesn't accept flag -V
osh8 builtin.command.keyword.test

[osh status] Expected 0, got 2

stdout:
!
while
stderr:
  command -V while >/dev/null 2>&1
  ^~~~~~~
[ stdin ]:4: fatal: Exiting with status 2 (command in PID 18343)
dash9 builtin.command.nospecial.test

[dash stdout] Expected '?=1\n', got '?=2\n'

stdout:
?=2
stderr:
dash: 2: readonly: x: is read only
mksh9 builtin.command.nospecial.test

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

stdout:
stderr: 
mksh: <stdin>[2]: read-only: x
osh11 builtin.continue.lexical.test

[osh stdout] Expected '0\npost\nafter\n1\npost\nafter\n2\npost\nafter\n3\npost\nafter\n4\npost\nafter\n', got '0\n'
[osh status] Expected 0, got 1

stdout:
0
stderr:
  cnt() { continue 5 2>/dev/null; echo post; }
          ^~~~~~~~
[ stdin ]:1: fatal: Unexpected 'continue' (in function call)
dash12 builtin.continue.nonlexical.test

[dash stdout] Expected '0\n1\n2\n3\n4\n', got ''
[dash status] Expected 0, got 2

stdout:
stderr: 
bash12 builtin.continue.nonlexical.test

[bash stdout] Expected '0\n1\n2\n3\n4\n', got ''
[bash status] Expected 0, got 2

stdout:
stderr: 
mksh12 builtin.continue.nonlexical.test

[mksh stdout] Expected '0\n1\n2\n3\n4\n', got ''
[mksh status] Expected 0, got 1

stdout:
stderr: 
osh12 builtin.continue.nonlexical.test

[osh stdout] Expected '0\n1\n2\n3\n4\n', got '0\n'
[osh status] Expected 0, got 1

stdout:
0
stderr:
  cnt() { continue 2>/dev/null; echo post; }
          ^~~~~~~~
[ stdin ]:2: fatal: Unexpected 'continue' (in function call)
dash13 builtin.dot.break.test

[dash stdout] Expected 'a\nb\nc\n', got 'a\n'

stdout:
a
stderr:
bash13 builtin.dot.break.test

[bash stdout] Expected 'a\nb\nc\n', got 'a\n'

stdout:
a
stderr:
osh13 builtin.dot.break.test

[osh stdout] Expected 'a\nb\nc\n', got 'a\n'

stdout:
a
stderr:
dash14 builtin.dot.nonexistent.test

[dash status] Expected 1, got 127

stdout:
stderr: 
dash: 1: .: Can't open ./nonesuch
dash15 builtin.dot.path.test

[dash stdout] Expected 'yep\n', got ''
[dash status] Expected 0, got 127

stdout:
stderr: 
scr1: 2: .: Can't open /home/andy/git/oilshell/oil/_tmp/spec-tmp/smoosh.test.sh/p1/scr2
osh15 builtin.dot.path.test

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

stdout:
stderr: 
  . scr2
    ^~~~
scr1:2: source 'scr2' failed: Permission denied
  $TEST_SHELL scr1
  ^~~~~~~~~~~
[ stdin ]:17: fatal: Exiting with status 1 (command in PID 18443)
osh18 builtin.echo.exitcode.test

[osh stdout] Expected 'OK\nOK\n', got 'OK\n'

stdout:
OK
stderr:
mksh19 builtin.eval.break.test

[mksh stdout] Expected 'a\n', got 'a\nb\nc\n'

stdout:
a
b
c
stderr:
mksh: break: can't break
mksh: break: can't break
mksh: break: can't break
dash21 builtin.eval.trap.test

[dash stdout] Expected 'ok\n', got 'bug\nok\n'

stdout:
bug
ok
stderr:
dash22 builtin.exec.badredir.test

[dash status] Expected 1, got 2

stdout:
stderr: 
dash: 1: cannot open -: No such file
dash: 1: exec: 9: not found
bash27 builtin.exitcode.test

[bash stdout] Expected 'Leaking commands:\nSilently failing commands:\n', got 'Leaking commands:\nSilently failing commands:\nhelp\nulimit\ncommand -v echo\ncommand -V echo\nalias foo\nalias foo baz\nkill -l\nkill -l 1\nkill -l 2 3\n'

stdout:
Leaking commands:
Silently failing commands:
help
ulimit
command -v echo
command -V echo
alias foo
alias foo baz
kill -l
kill -l 1
kill -l 2 3
stderr:
mksh27 builtin.exitcode.test

[mksh stdout] Expected 'Leaking commands:\nSilently failing commands:\n', got 'Leaking commands:\nSilently failing commands:\nexport\nreadonly\ntimes\nset\npwd\numask\nalias\nulimit\nexport -p\nreadonly -p\ncommand -v echo\ncommand -V echo\nalias\nalias foo\nalias foo baz\nkill -l\nkill -l 1\nkill -l 2 3\n'

stdout:
Leaking commands:
Silently failing commands:
export
readonly
times
set
pwd
umask
alias
ulimit
export -p
readonly -p
command -v echo
command -V echo
alias
alias foo
alias foo baz
kill -l
kill -l 1
kill -l 2 3
stderr:
osh27 builtin.exitcode.test

[osh stdout] Expected 'Leaking commands:\nSilently failing commands:\n', got 'Leaking commands:\nSilently failing commands:\nexport\nreadonly\nlocal\ntimes\nset\npwd\necho\numask\nhelp\ntype echo\ncommand -v echo\nalias\nalias foo\nalias foo baz\nprintf "foo"\n'

stdout:
Leaking commands:
Silently failing commands:
export
readonly
local
times
set
pwd
echo
umask
help
type echo
command -v echo
alias
alias foo
alias foo baz
printf "foo"
stderr:
osh I/O error: No space left on device
osh I/O error: No space left on device
osh I/O error: No space left on device
osh I/O error: No space left on device
osh I/O error: No space left on device
osh I/O error: No space left on device
osh I/O error: No space left on device
osh I/O error: No space left on device
osh I/O error: No space left on device
osh I/O error: No space left on device
osh I/O error: No space left on device
osh I/O error: No space left on device
osh I/O error: No space left on device
osh I/O error: No space left on device
osh I/O error: No space left on device
osh I/O error: No space left on device
osh I/O error: No space left on device
osh I/O error: No space left on device
osh I/O error: No space left on device
dash28 builtin.export.override.test

[dash stdout] Expected "x is unset\nx is unset\nx='5'\nx='6'\nx is 5\n", got 'x is 5\n'

stdout:
x is 5
stderr:
dash: 2: /home/andy/git/languages/smoosh/tests/util/getenv: not found
dash: 4: /home/andy/git/languages/smoosh/tests/util/getenv: not found
dash: 6: /home/andy/git/languages/smoosh/tests/util/getenv: not found
dash: 7: /home/andy/git/languages/smoosh/tests/util/getenv: not found
bash28 builtin.export.override.test

[bash stdout] Expected "x is unset\nx is unset\nx='5'\nx='6'\nx is 5\n", got 'x is 5\n'

stdout:
x is 5
stderr:
bash: line 2: /home/andy/git/languages/smoosh/tests/util/getenv: No such file or directory
bash: line 4: /home/andy/git/languages/smoosh/tests/util/getenv: No such file or directory
bash: line 6: /home/andy/git/languages/smoosh/tests/util/getenv: No such file or directory
bash: line 7: /home/andy/git/languages/smoosh/tests/util/getenv: No such file or directory
mksh28 builtin.export.override.test

[mksh stdout] Expected "x is unset\nx is unset\nx='5'\nx='6'\nx is 5\n", got 'x is 5\n'

stdout:
x is 5
stderr:
mksh: <stdin>[2]: /home/andy/git/languages/smoosh/tests/util/getenv: not found
mksh: <stdin>[4]: /home/andy/git/languages/smoosh/tests/util/getenv: not found
mksh: <stdin>[6]: /home/andy/git/languages/smoosh/tests/util/getenv: not found
mksh: <stdin>[7]: /home/andy/git/languages/smoosh/tests/util/getenv: not found
osh28 builtin.export.override.test

[osh stdout] Expected "x is unset\nx is unset\nx='5'\nx='6'\nx is 5\n", got 'x is 5\n'

stdout:
x is 5
stderr:
  $TEST_UTIL/getenv x
  ^~~~~~~~~~
[ stdin ]:2: '/home/andy/git/languages/smoosh/tests/util/getenv' not found
  $TEST_UTIL/getenv x
  ^~~~~~~~~~
[ stdin ]:4: '/home/andy/git/languages/smoosh/tests/util/getenv' not found
  $TEST_UTIL/getenv x
  ^~~~~~~~~~
[ stdin ]:6: '/home/andy/git/languages/smoosh/tests/util/getenv' not found
  x=6 $TEST_UTIL/getenv x
      ^~~~~~~~~~
[ stdin ]:7: '/home/andy/git/languages/smoosh/tests/util/getenv' not found
osh30 builtin.export.unset.test

[osh stdout] Expected 'export x\nok\n', got ''
[osh status] Expected 0, got 1

stdout:
stderr: 
  export -p | grep 'export x'
              ^~~~
[ stdin ]:4: fatal: Exiting with status 1 (command in PID 19388)
  export -p | grep 'export x'
            ^
[ stdin ]:4: fatal: Exiting with status 1 (pipeline invoked from PID 19388)
osh38 builtin.printf.repeat.test

[osh stdout] Expected '1 2\n3 4\n5 6\n7 8\n9 0\n', got ''
[osh status] Expected 0, got 1

stdout:
stderr: 
  %d %d\n
      ^
[ printf word at line 1 of [ stdin ] ]:1: printf expected an integer, got ''
dash40 builtin.readonly.assign.noninteractive.test

[dash status] Expected 1, got 2

stdout:
stderr: 
dash: 2: export: a: is read only
mksh40 builtin.readonly.assign.noninteractive.test

[mksh status] Expected 1, got 2

stdout:
stderr: 
mksh: <stdin>[2]: read-only: a
dash43 builtin.source.nonexistent.earlyexit.test

[dash stdout] Expected u'', got 'hi\n'
[dash status] Expected 1, got 0

stdout:
hi
stderr:
dash: 1: source: not found
osh43 builtin.source.nonexistent.earlyexit.test

[osh stdout] Expected u'', got 'hi\n'
[osh status] Expected 1, got 0

stdout:
hi
stderr:
  source not_a_thing
         ^~~~~~~~~~~
[ stdin ]:1: source 'not_a_thing' failed: No such file or directory
dash44 builtin.source.nonexistent.test

[dash status] Expected 1, got 2

stdout:
stderr: 
dash: 1: source: not found
dash: 2: .: nonesuch: not found
dash45 builtin.source.setvar.test

[dash stdout] Expected '5\n', got ''
[dash status] Expected 0, got 127

stdout:
stderr: 
dash: 4: source: not found
dash46 builtin.special.redir.error.test

[dash status] Expected 1, got 2

stdout:
stderr: 
osh46 builtin.special.redir.error.test

[osh stdout] Expected u'', got 'oh no\n'
[osh status] Expected 1, got 0

stdout:
oh no
stderr:
  : 2>&9
    ^~~
[ stdin ]:1: 9: Bad file descriptor
dash49 builtin.test.-nt.-ot.absent.test

[dash status] Expected 0, got 1

stdout:
stderr: 
dash53 builtin.trap.chained.test

[dash status] Expected 0, got 1

stdout:
stderr: 
mksh53 builtin.trap.chained.test

[mksh status] Expected 0, got 1

stdout:
stderr: 
osh53 builtin.trap.chained.test

[osh status] Expected 0, got 1

stdout:
stderr: 
bash55 builtin.trap.exitcode.test

[bash status] Expected 0, got 2

stdout:
stderr: 
bash: line 1: set: bad@option: invalid option name
mksh55 builtin.trap.exitcode.test

[mksh status] Expected 0, got 1

stdout:
stderr: 
mksh: set: bad@option: bad option
dash57 builtin.trap.false.test

[dash stdout] Expected u'', got 'BUG\n'

stdout:
BUG
stderr:
osh58 builtin.trap.kill.undef.test

[osh status] Expected 0, got 1

stdout:
stderr: 
  trap 'echo derp' KILL
                   ^~~~
[ stdin ]:1: Signal 'KILL' can't be handled
  trap 'echo nevah' 9
                    ^
[ stdin ]:2: Signal '9' can't be handled
dash59 builtin.trap.nested.test

[dash stdout] Expected 'exit\n', got ''

stdout:
stderr: 
bash59 builtin.trap.nested.test

[bash stdout] Expected 'exit\n', got ''

stdout:
stderr: 
osh59 builtin.trap.nested.test

[osh stdout] Expected 'exit\n', got ''

stdout:
stderr: 
mksh61 builtin.trap.redirect.test

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

stdout:
stderr: 
osh61 builtin.trap.redirect.test

[osh stdout] Expected 'ok\n', got ''

stdout:
stderr: 
bash62 builtin.trap.return.test

[bash stdout] Expected '1\n', got '0\n'

stdout:
0
stderr:
mksh62 builtin.trap.return.test

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

stdout:
0
stderr:
dash63 builtin.trap.subshell.false.exit.test

[dash stdout] Expected u'', got 'BUG\n'
[dash status] Expected 1, got 0

stdout:
BUG
stderr:
bash63 builtin.trap.subshell.false.exit.test

[bash status] Expected 1, got 0

stdout:
stderr: 
mksh63 builtin.trap.subshell.false.exit.test

[mksh status] Expected 1, got 0

stdout:
stderr: 
osh63 builtin.trap.subshell.false.exit.test

[osh status] Expected 1, got 0

stdout:
stderr: 
dash64 builtin.trap.subshell.false.test

[dash stdout] Expected u'', got 'BUG\n'

stdout:
BUG
stderr:
dash65 builtin.trap.subshell.loud2.test

[dash stdout] Expected 'HUH\nWEIRD\n', got ''

stdout:
stderr: 
dash: 1: set: Illegal option -o bad@option
bash65 builtin.trap.subshell.loud2.test

[bash stdout] Expected 'HUH\nWEIRD\n', got ''
[bash status] Expected 0, got 2

stdout:
stderr: 
bash: line 1: set: bad@option: invalid option name
mksh65 builtin.trap.subshell.loud2.test

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

stdout:
stderr: 
mksh: set: bad@option: bad option
osh65 builtin.trap.subshell.loud2.test

[osh status] Expected 0, got 1

stdout:
HUH
WEIRD
stderr:
  set -o bad@option
  ^~~
[ trap word at ? ]:1: 'set' got invalid option 'bad@option'
dash66 builtin.trap.subshell.loud.test

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

stdout:
stderr: 
bash66 builtin.trap.subshell.loud.test

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

stdout:
stderr: 
mksh66 builtin.trap.subshell.loud.test

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

stdout:
stderr: 
osh66 builtin.trap.subshell.loud.test

[osh status] Expected 0, got 1

stdout:
WEIRD
stderr:
dash67 builtin.trap.subshell.quiet.test

[dash stdout] Expected u'', got 'BUG1\nBUG2\nBUG3\nBUG4\n'

stdout:
BUG1
BUG2
BUG3
BUG4
stderr:
dash: 1: foo: is read only
dash: 1: set: Illegal option -o bad@option
dash68 builtin.trap.subshell.true.ec1.test

[dash stdout] Expected u'', got 'bug\n'
[dash status] Expected 0, got 1

stdout:
bug
stderr:
bash68 builtin.trap.subshell.true.ec1.test

[bash status] Expected 0, got 1

stdout:
stderr: 
mksh68 builtin.trap.subshell.true.ec1.test

[mksh status] Expected 0, got 1

stdout:
stderr: 
osh68 builtin.trap.subshell.true.ec1.test

[osh status] Expected 0, got 1

stdout:
stderr: 
dash69 builtin.trap.subshell.truefalse.test

[dash stdout] Expected '1\n', got 'BUG\n0\n'

stdout:
BUG
0
stderr:
dash70 builtin.trap.supershell.test

[dash stdout] Expected "trap -- 'echo bye' EXIT\ntrap -- 'echo so long' EXIT\nso long\ntrap -- 'echo bye' EXIT\nbye\n", got "trap -- 'echo so long' EXIT\nso long\nbye\n"

stdout:
trap -- 'echo so long' EXIT
so long
bye
stderr:
bash70 builtin.trap.supershell.test

[bash stdout] Expected "trap -- 'echo bye' EXIT\ntrap -- 'echo so long' EXIT\nso long\ntrap -- 'echo bye' EXIT\nbye\n", got "trap -- 'echo bye' EXIT\ntrap -- '' PIPE\ntrap -- '' XFSZ\ntrap -- 'echo so long' EXIT\ntrap -- '' PIPE\ntrap -- '' XFSZ\nso long\ntrap -- 'echo bye' EXIT\ntrap -- '' PIPE\ntrap -- '' XFSZ\nbye\n"

stdout:
trap -- 'echo bye' EXIT
trap -- '' PIPE
trap -- '' XFSZ
trap -- 'echo so long' EXIT
trap -- '' PIPE
trap -- '' XFSZ
so long
trap -- 'echo bye' EXIT
trap -- '' PIPE
trap -- '' XFSZ
bye
stderr:
mksh70 builtin.trap.supershell.test

[mksh stdout] Expected "trap -- 'echo bye' EXIT\ntrap -- 'echo so long' EXIT\nso long\ntrap -- 'echo bye' EXIT\nbye\n", got "trap -- 'echo so long' EXIT\nso long\nbye\n"

stdout:
trap -- 'echo so long' EXIT
so long
bye
stderr:
osh70 builtin.trap.supershell.test

[osh stdout] Expected "trap -- 'echo bye' EXIT\ntrap -- 'echo so long' EXIT\nso long\ntrap -- 'echo bye' EXIT\nbye\n", got 'bye\n'
[osh status] Expected 0, got 2

stdout:
bye
stderr:
  (trap)
   ^~~~
[ stdin ]:2: 'trap' requires a code string
  (trap 'echo so long' EXIT; trap)
                             ^~~~
[ stdin ]:3: 'trap' requires a code string
  (trap)
   ^~~~
[ stdin ]:4: 'trap' requires a code string
dash71 builtin.unset.test

[dash status] Expected 1, got 2

stdout:
unset
foo
unset
stderr:
dash: 8: unset: x: is read only
bash73 parse.eval.error.test

[bash stdout] Expected u'', got 'lived\n'
[bash status] Expected 0, got 1

stdout:
lived
stderr:
scr: eval: line 2: syntax error: unexpected end of file
osh73 parse.eval.error.test

[osh stdout] Expected u'', got 'lived\n'
[osh status] Expected 0, got 1

stdout:
lived
stderr:
  if
    ^
[ eval word at line 1 of scr ]:1: Unexpected EOF while parsing command
dash87 semantics.backtick.fds.test

[dash stdout] Expected '0 open\n1 open\n2 open\n3 closed\n4 closed\n5 closed\n6 closed\n7 closed\n8 closed\n9 closed\n10 closed\n11 closed\n12 closed\n13 closed\n14 closed\n15 closed\n16 closed\n17 closed\n18 closed\n19 closed\n20 closed\n0 open 1 open 2 open 3 closed 4 closed 5 closed 6 closed 7 closed 8 closed 9 closed 10 closed 11 closed 12 closed 13 closed 14 closed 15 closed 16 closed 17 closed 18 closed 19 closed 20 closed\n', got ''
[dash status] Expected 0, got 127

stdout:
stderr: 
dash: 2: /home/andy/git/languages/smoosh/tests/util/fds: not found
bash87 semantics.backtick.fds.test

[bash stdout] Expected '0 open\n1 open\n2 open\n3 closed\n4 closed\n5 closed\n6 closed\n7 closed\n8 closed\n9 closed\n10 closed\n11 closed\n12 closed\n13 closed\n14 closed\n15 closed\n16 closed\n17 closed\n18 closed\n19 closed\n20 closed\n0 open 1 open 2 open 3 closed 4 closed 5 closed 6 closed 7 closed 8 closed 9 closed 10 closed 11 closed 12 closed 13 closed 14 closed 15 closed 16 closed 17 closed 18 closed 19 closed 20 closed\n', got ''
[bash status] Expected 0, got 127

stdout:
stderr: 
bash: line 2: /home/andy/git/languages/smoosh/tests/util/fds: No such file or directory
mksh87 semantics.backtick.fds.test

[mksh stdout] Expected '0 open\n1 open\n2 open\n3 closed\n4 closed\n5 closed\n6 closed\n7 closed\n8 closed\n9 closed\n10 closed\n11 closed\n12 closed\n13 closed\n14 closed\n15 closed\n16 closed\n17 closed\n18 closed\n19 closed\n20 closed\n0 open 1 open 2 open 3 closed 4 closed 5 closed 6 closed 7 closed 8 closed 9 closed 10 closed 11 closed 12 closed 13 closed 14 closed 15 closed 16 closed 17 closed 18 closed 19 closed 20 closed\n', got ''
[mksh status] Expected 0, got 127

stdout:
stderr: 
mksh: <stdin>[2]: /home/andy/git/languages/smoosh/tests/util/fds: not found
osh87 semantics.backtick.fds.test

[osh stdout] Expected '0 open\n1 open\n2 open\n3 closed\n4 closed\n5 closed\n6 closed\n7 closed\n8 closed\n9 closed\n10 closed\n11 closed\n12 closed\n13 closed\n14 closed\n15 closed\n16 closed\n17 closed\n18 closed\n19 closed\n20 closed\n0 open 1 open 2 open 3 closed 4 closed 5 closed 6 closed 7 closed 8 closed 9 closed 10 closed 11 closed 12 closed 13 closed 14 closed 15 closed 16 closed 17 closed 18 closed 19 closed 20 closed\n', got ''
[osh status] Expected 0, got 127

stdout:
stderr: 
  subshfds=$($TEST_UTIL/fds 0 20)
             ^~~~~~~~~~
[ stdin ]:2: '/home/andy/git/languages/smoosh/tests/util/fds' not found
  subshfds=$($TEST_UTIL/fds 0 20)
  ^~~~~~~~~
[ stdin ]:2: fatal: Exiting with status 127 (assignment in PID 20530)
dash92 semantics.command.argv0.test

[dash stdout] Expected 'argv[0] = "argv";\n', got ''
[dash status] Expected 0, got 127

stdout:
stderr: 
dash: 3: /home/andy/git/languages/smoosh/tests/util/argv: not found
bash92 semantics.command.argv0.test

[bash stdout] Expected 'argv[0] = "argv";\n', got ''
[bash status] Expected 0, got 127

stdout:
stderr: 
bash: line 3: /home/andy/git/languages/smoosh/tests/util/argv: No such file or directory
mksh92 semantics.command.argv0.test

[mksh stdout] Expected 'argv[0] = "argv";\n', got ''
[mksh status] Expected 0, got 127

stdout:
stderr: 
mksh: <stdin>[3]: /home/andy/git/languages/smoosh/tests/util/argv: not found
osh92 semantics.command.argv0.test

[osh stdout] Expected 'argv[0] = "argv";\n', got ''
[osh status] Expected 0, got 127

stdout:
stderr: 
  explicit=$(${TEST_UTIL}/argv)
             ^~
[ stdin ]:3: '/home/andy/git/languages/smoosh/tests/util/argv' not found
  explicit=$(${TEST_UTIL}/argv)
  ^~~~~~~~~
[ stdin ]:3: fatal: Exiting with status 127 (assignment in PID 20637)
dash93 semantics.command-subst.newline.test

[dash stdout] Expected '1\n\n2\n', got '1\n2\n'

stdout:
1
2
stderr:
osh95 semantics.-C.test

[osh status] Expected 0, got 2

stdout:
stderr: 
dash97 semantics.dot.glob.test

[dash stdout] Expected '../foo ./foo\n', got '../foo ./foo\n./foo\n../foo\n'

stdout:
../foo ./foo
./foo
../foo
stderr:
dash: 2: /home/andy/git/languages/smoosh/tests/util/readdir: not found
dash: 6: /home/andy/git/languages/smoosh/tests/util/readdir: not found
bash97 semantics.dot.glob.test

[bash stdout] Expected '../foo ./foo\n', got './foo ../foo\n./foo\n../foo\n'

stdout:
./foo ../foo
./foo
../foo
stderr:
main: line 2: /home/andy/git/languages/smoosh/tests/util/readdir: No such file or directory
main: line 6: /home/andy/git/languages/smoosh/tests/util/readdir: No such file or directory
mksh97 semantics.dot.glob.test

[mksh stdout] Expected '../foo ./foo\n', got '.*/foo\n./foo\n../foo\n'

stdout:
.*/foo
./foo
../foo
stderr:
mksh: <stdin>[15]: /home/andy/git/languages/smoosh/tests/util/readdir: not found
mksh: <stdin>[16]: /home/andy/git/languages/smoosh/tests/util/readdir: not found
osh97 semantics.dot.glob.test

[osh stdout] Expected '../foo ./foo\n', got '../foo ./foo\n./foo\n../foo\n'

stdout:
../foo ./foo
./foo
../foo
stderr:
    $TEST_UTIL/readdir | grep -e '^.$' >/dev/null
    ^~~~~~~~~~
[ stdin ]:2: '/home/andy/git/languages/smoosh/tests/util/readdir' not found
    $TEST_UTIL/readdir | grep -e '^..$' >/dev/null
    ^~~~~~~~~~
[ stdin ]:6: '/home/andy/git/languages/smoosh/tests/util/readdir' not found
dash100 semantics.errexit.trap.test

[dash status] Expected 1, got 0

stdout:
stderr: 
osh100 semantics.errexit.trap.test

[osh status] Expected 1, got 0

stdout:
stderr: 
dash101 semantics.error.noninteractive.test

[dash status] Expected 1, got 127

stdout:
stderr: 
dash: 1: x: z
chmod: cannot access 'script': No such file or directory
dash: 0: Can't open script
bash101 semantics.error.noninteractive.test

[bash status] Expected 1, got 126

stdout:
stderr: 
bash: line 1: x: z
chmod: cannot access 'script': No such file or directory
/usr/bin/script: /usr/bin/script: cannot execute binary file
mksh101 semantics.error.noninteractive.test

[mksh status] Expected 1, got 127

stdout:
stderr: 
mksh: <stdin>[6]: x: z
chmod: cannot access 'script': No such file or directory
mksh: script: No such file or directory
dash106 semantics.escaping.quote.test

[dash stdout] Expected '"\n%\n&\n\'\n(\n)\n*\n+\n,\n-\n.\n/\n:\n;\n<\n=\n>\n?\n@\n[\n]\n^\n_\n{\n|\n}\n~\n \ndone\n', got '"\n#\n%\n&\n\'\n(\n)\n*\n+\n,\n-\n.\n/\n:\n;\n<\n=\n>\n?\n@\n[\n]\n^\n_\n{\n|\n}\n~\n \ndone\n'

stdout:
"
#
%
&
'
(
)
*
+
,
-
.
/
:
;
<
=
>
?
@
[
]
^
_
{
|
}
~
 
done
stderr:
bash106 semantics.escaping.quote.test

[bash stdout] Expected '"\n%\n&\n\'\n(\n)\n*\n+\n,\n-\n.\n/\n:\n;\n<\n=\n>\n?\n@\n[\n]\n^\n_\n{\n|\n}\n~\n \ndone\n', got '"\n#\n%\n&\n\'\n(\n)\n*\n+\n,\n-\n.\n/\n:\n;\n<\n=\n>\n?\n@\n[\n]\n^\n_\n{\n|\n}\n~\n \ndone\n'

stdout:
"
#
%
&
'
(
)
*
+
,
-
.
/
:
;
<
=
>
?
@
[
]
^
_
{
|
}
~
 
done
stderr:
mksh106 semantics.escaping.quote.test

[mksh stdout] Expected '"\n%\n&\n\'\n(\n)\n*\n+\n,\n-\n.\n/\n:\n;\n<\n=\n>\n?\n@\n[\n]\n^\n_\n{\n|\n}\n~\n \ndone\n', got '"\n#\n%\n&\n\'\n(\n)\n*\n+\n,\n-\n.\n/\n:\n;\n<\n=\n>\n?\n@\n[\n]\n^\n_\n{\n|\n}\n~\n \ndone\n'

stdout:
"
#
%
&
'
(
)
*
+
,
-
.
/
:
;
<
=
>
?
@
[
]
^
_
{
|
}
~
 
done
stderr:
osh106 semantics.escaping.quote.test

[osh stdout] Expected '"\n%\n&\n\'\n(\n)\n*\n+\n,\n-\n.\n/\n:\n;\n<\n=\n>\n?\n@\n[\n]\n^\n_\n{\n|\n}\n~\n \ndone\n', got '"\n'
[osh status] Expected 0, got 2

stdout:
"
stderr:
          x=`printf '%s' \"`; printf '%s\n' "$x"
                         ^
[ backticks in script ]:1: Unexpected EOF reading double-quoted string that began here
          $TEST_SHELL script >out
          ^~~~~~~~~~~
[ stdin ]:10: fatal: Exiting with status 2 (command in PID 21300)
bash109 semantics.evalorder.fun.test

[bash stdout] Expected 'got redir\nunset after function call\nredir exists\n', got 'got assign\nassign\nassign exists\n'
[bash status] Expected 0, got 1

stdout:
got assign
assign
assign exists
stderr:
mksh109 semantics.evalorder.fun.test

[mksh stdout] Expected 'got redir\nunset after function call\nredir exists\n', got 'got redir\nredir\nredir exists\n'

stdout:
got redir
redir
redir exists
stderr:
dash115 semantics.-h.nonposix.test

[dash status] Expected 0, got 2

stdout:
stderr: 
dash: 1: set: Illegal option -h
bash115 semantics.-h.nonposix.test

[bash status] Expected 0, got 1

stdout:
stderr: 
mksh115 semantics.-h.nonposix.test

[mksh status] Expected 0, got 1

stdout:
stderr: 
osh115 semantics.-h.nonposix.test

[osh status] Expected 0, got 1

stdout:
stderr: 
dash121 semantics.noninteractive.expansion.exit.test

[dash status] Expected 1, got 2

stdout:
stderr: 
dash: 2: x: alas, poor yorick
dash123 semantics.pattern.hyphen.test

[dash stdout] Expected 'file-\nfile-\nfile-\nfile-\nfilea\nfilea\nfilea\n', got 'file-\nfile-\nfile[[.-.]]\nfile[[=-=]]\nfilea\nfilea\nfilea\n'

stdout:
file-
file-
file[[.-.]]
file[[=-=]]
filea
filea
filea
stderr:
mksh123 semantics.pattern.hyphen.test

[mksh stdout] Expected 'file-\nfile-\nfile-\nfile-\nfilea\nfilea\nfilea\n', got 'file-\nfile-\nfile[[.-.]]\nfile[[=-=]]\nfilea\nfile[[:alpha:]]\nfilea\n'

stdout:
file-
file-
file[[.-.]]
file[[=-=]]
filea
file[[:alpha:]]
filea
stderr:
dash125 semantics.pattern.rightbracket.test

[dash stdout] Expected 'file]\nfile]\nfile]\nfilea\nfilea\nfilea\n', got 'file]\nfile[[.].]]\nfile[[=]=]]\nfilea\nfilea\nfilea\n'

stdout:
file]
file[[.].]]
file[[=]=]]
filea
filea
filea
stderr:
mksh125 semantics.pattern.rightbracket.test

[mksh stdout] Expected 'file]\nfile]\nfile]\nfilea\nfilea\nfilea\n', got 'file]\nfile[[.].]]\nfile[[=]=]]\nfilea\nfile[[:alpha:]]\nfilea\n'

stdout:
file]
file[[.].]]
file[[=]=]]
filea
file[[:alpha:]]
filea
stderr:
dash129 semantics.redir.close.test

[dash stdout] Expected u'', got 'oops, still open\n'
[dash status] Expected 1, got 0

stdout:
oops, still open
stderr:
bash129 semantics.redir.close.test

[bash stdout] Expected u'', got 'oops, still open\n'
[bash status] Expected 1, got 0

stdout:
oops, still open
stderr:
dash130 semantics.redir.fds.test

[dash stdout] Expected '0 open\n1 open\n2 open\n3 closed\n4 closed\n5 closed\n6 closed\n7 closed\n8 closed\n9 closed\n0 open\n1 open\n2 open\n3 open\n4 closed\n5 closed\n6 closed\n7 closed\n8 closed\n9 closed\n', got ''
[dash status] Expected 0, got 127

stdout:
stderr: 
dash: 1: /home/andy/git/languages/smoosh/tests/util/fds: not found
dash: 3: /home/andy/git/languages/smoosh/tests/util/fds: not found
bash130 semantics.redir.fds.test

[bash stdout] Expected '0 open\n1 open\n2 open\n3 closed\n4 closed\n5 closed\n6 closed\n7 closed\n8 closed\n9 closed\n0 open\n1 open\n2 open\n3 open\n4 closed\n5 closed\n6 closed\n7 closed\n8 closed\n9 closed\n', got ''
[bash status] Expected 0, got 127

stdout:
stderr: 
bash: line 1: /home/andy/git/languages/smoosh/tests/util/fds: No such file or directory
bash: line 3: /home/andy/git/languages/smoosh/tests/util/fds: No such file or directory
mksh130 semantics.redir.fds.test

[mksh stdout] Expected '0 open\n1 open\n2 open\n3 closed\n4 closed\n5 closed\n6 closed\n7 closed\n8 closed\n9 closed\n0 open\n1 open\n2 open\n3 open\n4 closed\n5 closed\n6 closed\n7 closed\n8 closed\n9 closed\n', got ''
[mksh status] Expected 0, got 127

stdout:
stderr: 
mksh: <stdin>[1]: /home/andy/git/languages/smoosh/tests/util/fds: not found
mksh: <stdin>[3]: /home/andy/git/languages/smoosh/tests/util/fds: not found
osh130 semantics.redir.fds.test

[osh stdout] Expected '0 open\n1 open\n2 open\n3 closed\n4 closed\n5 closed\n6 closed\n7 closed\n8 closed\n9 closed\n0 open\n1 open\n2 open\n3 open\n4 closed\n5 closed\n6 closed\n7 closed\n8 closed\n9 closed\n', got ''
[osh status] Expected 0, got 127

stdout:
stderr: 
  $TEST_UTIL/fds
  ^~~~~~~~~~
[ stdin ]:1: '/home/andy/git/languages/smoosh/tests/util/fds' not found
  $TEST_UTIL/fds
  ^~~~~~~~~~
[ stdin ]:3: '/home/andy/git/languages/smoosh/tests/util/fds' not found
dash136 semantics.return.trap.test

[dash status] Expected 0, got 5

stdout:
FOO
stderr:
bash136 semantics.return.trap.test

[bash status] Expected 0, got 5

stdout:
FOO
stderr:
mksh136 semantics.return.trap.test

[mksh status] Expected 0, got 5

stdout:
FOO
stderr:
osh136 semantics.return.trap.test

[osh stdout] Expected 'FOO\n', got ''
[osh status] Expected 0, got 5

stdout:
stderr: 
osh139 semantics.special.assign.visible.nonposix.test

[osh stdout] Expected '5 7\n', got '\n'

stdout:
stderr: 
mksh140 semantics.splitting.ifs.test

[mksh stdout] Expected ' 1 2 3 \n', got ' 1 2 3 \n'

stdout:
 1   2   3 
stderr:
dash142 semantics.subshell.break.test

[dash stdout] Expected 'a\nb\n', got ''

stdout:
stderr: 
bash142 semantics.subshell.break.test

[bash stdout] Expected 'a\nb\n', got ''

stdout:
stderr: 
bash151 semantics.tilde.sep.test

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

stdout:
stderr: 
osh153 semantics.traps.async.test

[osh stdout] Expected 'done\n', got ''
[osh status] Expected 0, got 131

stdout:
stderr: 
dash154 semantics.traps.inherit.test

[dash stdout] Expected 'got SIGINT\nsending SIGQUIT\n131\n', got 'sending SIGQUIT\n0\n'

stdout:
sending SIGQUIT
0
stderr:
bash154 semantics.traps.inherit.test

[bash stdout] Expected 'got SIGINT\nsending SIGQUIT\n131\n', got 'got SIGINT\nsending SIGQUIT\n0\n'

stdout:
got SIGINT
sending SIGQUIT
0
stderr:
dash159 semantics.var.dashu.test

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

stdout:
1
stderr:
dash: 1: nonesuch: parameter not set
dash: 1: 3: parameter not set
dash: 1: nonesuch: parameter not set
dash: 1: nonesuch: parameter not set
mksh159 semantics.var.dashu.test

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

stdout:
1
stderr:
mksh: nonesuch: parameter not set
mksh: 3: parameter not set
mksh: nonesuch: parameter not set
mksh: nonesuch: parameter not set
osh163 semantics.var.star.emptyifs.test

[osh stdout] Expected '<a>\n<b e e>\n<c>\n<HIa>\n<b e e>\n<cBYE>\n', got '<ab e ec>\n<HIab e ecBYE>\n'

stdout:
<ab  e   ec>
<HIab  e   ecBYE>
stderr:
osh171 sh.monitor.bg.test

[osh status] Expected 0, got 3

stdout:
%1 22674 Stopped [subprog] command.Simple
1637263113 - 1637263113 = 0
%1 22674 Stopped [subprog] command.Simple
1637263113 - 1637263113 = 0
stderr:
  set -m
      ^~
[ stdin ]:1: 'set' got invalid flag '-m'

[PID 22674] Stopped
  bg >output
  ^~
[ stdin ]:13: 'bg' isn't implemented
osh173 sh.set.ifs.test

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

stdout:
 	
 	
stderr:
/home/andy/git/oilshell/oil/bin/osh: 2: cd: can't cd to /
ndy/git
/home/andy/git/oilshell/oil/bin/osh: 3: exec: /bin/oil.py: not found