Results for smoosh.test.sh

statusbashdashmkshosh
pass 142117137131
FAIL 25483037
TIME 12141211
total179179179179
casebashdashmkshoshdescription
0pass pass pass pass benchmark.fact5.test
1pass pass pass pass benchmark.while.test
2pass FAIL 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 pass builtin.command.ec.test
7pass pass pass pass builtin.command.exec.test
8pass pass pass pass builtin.command.keyword.test
9pass FAIL FAIL FAIL builtin.command.nospecial.test
detailsdetailsdetails
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
14pass FAIL pass pass builtin.dot.nonexistent.test
details
15pass FAIL 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 pass builtin.echo.exitcode.test
19pass pass FAIL pass builtin.eval.break.test
details
20pass pass pass pass builtin.eval.test
21pass FAIL pass pass builtin.eval.trap.test
details
22pass FAIL 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
27FAIL pass 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
40pass FAIL FAIL pass builtin.readonly.assign.noninteractive.test
detailsdetails
41pass TIME pass pass builtin.set.-m.test
42pass pass pass pass builtin.set.quoted.test
43pass FAIL pass FAIL builtin.source.nonexistent.earlyexit.test
detailsdetails
44pass FAIL pass pass builtin.source.nonexistent.test
details
45pass FAIL pass pass builtin.source.setvar.test
details
46pass FAIL pass FAIL builtin.special.redir.error.test
detailsdetails
47pass pass pass pass builtin.test.bigint.test
48TIME TIME TIME TIME builtin.test.nonposix.test
49pass FAIL 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
53pass FAIL FAIL pass builtin.trap.chained.test
detailsdetails
54pass pass pass pass builtin.trap.exit3.test
55FAIL pass FAIL pass builtin.trap.exitcode.test
detailsdetails
56pass pass pass pass builtin.trap.exit.subshell.test
57pass FAIL pass pass builtin.trap.false.test
details
58pass pass pass FAIL builtin.trap.kill.undef.test
details
59pass FAIL pass FAIL builtin.trap.nested.test
detailsdetails
60pass pass pass pass builtin.trap.noexit.test
61pass pass FAIL FAIL builtin.trap.redirect.test
detailsdetails
62FAIL pass FAIL pass builtin.trap.return.test
detailsdetails
63FAIL FAIL FAIL FAIL builtin.trap.subshell.false.exit.test
detailsdetailsdetailsdetails
64pass FAIL 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
67pass FAIL pass pass builtin.trap.subshell.quiet.test
details
68FAIL FAIL FAIL FAIL builtin.trap.subshell.true.ec1.test
detailsdetailsdetailsdetails
69pass FAIL pass pass builtin.trap.subshell.truefalse.test
details
70FAIL FAIL FAIL FAIL builtin.trap.supershell.test
detailsdetailsdetailsdetails
71pass FAIL pass pass builtin.unset.test
details
72pass pass pass pass parse.emptyvar.test
73FAIL pass 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
93pass FAIL pass pass semantics.command-subst.newline.test
details
94pass pass pass pass semantics.command-subst.test
95pass pass pass pass semantics.-C.test
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
100pass FAIL pass pass semantics.errexit.trap.test
details
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 TIME semantics.escaping.quote.test
detailsdetailsdetailsdetails
107pass pass pass pass semantics.escaping.single.test
108pass pass pass pass semantics.eval.makeadder.test
109FAIL pass 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
119pass TIME pass pass semantics.monitoring.ttou.test
120pass pass pass pass semantics.no-command-subst.test
121pass FAIL pass pass semantics.noninteractive.expansion.exit.test
details
122pass pass pass pass semantics.pattern.bracket.quoted.test
123pass FAIL FAIL pass semantics.pattern.hyphen.test
detailsdetails
124pass pass pass pass semantics.pattern.modernish.test
125pass FAIL 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
129pass FAIL pass pass semantics.redir.close.test
details
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 FAIL semantics.redir.nonregular.test
details
134pass pass pass pass semantics.redir.toomany.test
135pass pass pass pass semantics.redir.to.test
136pass pass pass pass semantics.return.and.test
137pass FAIL pass pass semantics.return.if.test
details
138pass pass pass pass semantics.return.not.test
139pass pass pass pass semantics.return.or.test
140FAIL FAIL FAIL FAIL semantics.return.trap.test
detailsdetailsdetailsdetails
141pass FAIL pass pass semantics.return.while.test
details
142FAIL FAIL FAIL FAIL semantics.simple.link.test
detailsdetailsdetailsdetails
143pass pass pass pass semantics.slash.glob.test
144pass pass pass FAIL semantics.special.assign.visible.nonposix.test
details
145pass pass FAIL pass semantics.splitting.ifs.test
details
146TIME TIME TIME TIME semantics.subshell.background.traps.test
147pass FAIL pass FAIL semantics.subshell.break.test
detailsdetails
148pass pass pass pass semantics.subshell.redirect.test
149pass pass pass pass semantics.subshell.return2.test
150pass pass pass pass semantics.subshell.return.test
151pass pass pass pass semantics.substring.quotes.test
152pass pass pass pass semantics.tilde.colon.test
153pass pass pass pass semantics.tilde.no-exp.test
154pass pass pass pass semantics.tilde.quoted.prefix.test
155pass pass pass pass semantics.tilde.quoted.test
156FAIL pass pass pass semantics.tilde.sep.test
details
157pass pass pass pass semantics.tilde.test
158pass pass pass FAIL semantics.traps.async.test
details
159FAIL FAIL pass pass semantics.traps.inherit.test
detailsdetails
160pass pass pass pass semantics.var.alt.nullifs.test
161pass pass pass pass semantics.var.alt.null.test
162pass pass pass pass semantics.varassign.test
163pass pass pass pass semantics.var.builtin.nonspecial.test
164pass FAIL FAIL pass semantics.var.dashu.test
detailsdetails
165pass pass pass pass semantics.var.format.tilde.test
166pass pass pass pass semantics.variable.escape.length.test
167pass pass pass pass semantics.var.ifs.sep.test
168pass pass pass FAIL semantics.var.star.emptyifs.test
details
169pass pass pass pass semantics.var.star.format.test
170pass pass pass pass semantics.var.unset.nofield.test
171TIME TIME TIME TIME semantics.wait.alreadydead.test
172pass pass pass pass semantics.while.test
173pass pass pass pass sh.-c.arg0.test
174pass pass pass pass sh.env.ppid.test
175pass pass pass pass sh.file.weirdness.test
176TIME TIME TIME FAIL sh.monitor.bg.test
detailsdetailsdetailsdetails
177TIME TIME TIME FAIL sh.monitor.fg.test
detailsdetailsdetailsdetails
178pass pass pass pass sh.set.ifs.test
527 passed, 0 OK, 0 not implemented, 0 BUG, 140 failed, 49 timeouts, 0 cases skipped
37 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 proc call)
bash4 builtin.break.nonlexical.test

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

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

[dash stdout] Expected '0\n', got ''
[dash 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 proc call)
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
osh9 builtin.command.nospecial.test

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

stdout:
stderr: 
  command readonly x=bar
                   ^~
[ stdin ]:2: fatal: Can't assign to readonly value '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 proc call)
bash12 builtin.continue.nonlexical.test

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

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

[dash stdout] Expected '0\n1\n2\n3\n4\n', got ''
[dash 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 proc call)
bash13 builtin.dot.break.test

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

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

[dash 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.323363/15-dash/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
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:\nkill -l\nkill -l 1\nkill -l 2 3\n'

stdout:
Leaking commands:
Silently failing commands:
kill -l
kill -l 1
kill -l 2 3
stderr:
oils I/O error (subprogram): No space left on device
oils I/O error (subprogram): No space left on device
oils I/O error (subprogram): No space left on device
oils I/O error (subprogram): No space left on device
oils I/O error (subprogram): No space left on device
oils I/O error (subprogram): No space left on device
oils I/O error (subprogram): No space left on device
oils I/O error (subprogram): No space left on device
oils I/O error (subprogram): No space left on device
oils I/O error (subprogram): No space left on device
oils I/O error (subprogram): No space left on device
oils I/O error (subprogram): No space left on device
oils I/O error (subprogram): No space left on device
oils I/O error (subprogram): No space left on device
oils I/O error (subprogram): No space left on device
oils I/O error (subprogram): No space left on device
oils I/O error (subprogram): No space left on device
oils I/O error (subprogram): No space left on device
oils I/O error (subprogram): No space left on device
oils I/O error (subprogram): No space left on device
oils I/O error (subprogram): No space left on device
oils I/O error (subprogram): No space left on device
oils I/O error (subprogram): No space left on device
oils I/O error (subprogram): No space left on device
oils I/O error (subprogram): No space left on device
oils I/O error (subprogram): No space left on device
oils I/O error (subprogram): No space left on device
oils I/O error (subprogram): No space left on device
oils I/O error (subprogram): No space left on device
oils I/O error (subprogram): No space left on device
oils I/O error (subprogram): No space left on device
oils I/O error (subprogram): No space left on device
oils I/O error (subprogram): No space left on device
oils I/O error (subprogram): No space left on device
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
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
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 (OILS-ERR-100)
  $TEST_UTIL/getenv x
  ^~~~~~~~~~
[ stdin ]:4: '/home/andy/git/languages/smoosh/tests/util/getenv' not found (OILS-ERR-100)
  $TEST_UTIL/getenv x
  ^~~~~~~~~~
[ stdin ]:6: '/home/andy/git/languages/smoosh/tests/util/getenv' not found (OILS-ERR-100)
  x=6 $TEST_UTIL/getenv x
      ^~~~~~~~~~
[ stdin ]:7: '/home/andy/git/languages/smoosh/tests/util/getenv' not found (OILS-ERR-100)
osh30 builtin.export.unset.test

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

stdout:
stderr: 
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 '%d %d\n' 1 2 3 4 5 6 7 8 9
         ^
[ 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:
F_GETFD fd 9: Bad file descriptor
[ stdin ]:1: I/O error applying redirect: 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: 
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: Invalid signal or hook 'KILL'
  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: 
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:
bash63 builtin.trap.subshell.false.exit.test

[bash status] Expected 1, got 0

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

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

stdout:
BUG
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:
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
dash65 builtin.trap.subshell.loud2.test

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

stdout:
stderr: 
dash: 1: set: Illegal option -o bad@option
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

[??? no location ???] 'set' got invalid option 'bad@option'
bash66 builtin.trap.subshell.loud.test

[bash status] Expected 0, got 1

stdout:
WEIRD
stderr:
dash66 builtin.trap.subshell.loud.test

[dash stdout] Expected 'WEIRD\n', got ''
[dash 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
bash68 builtin.trap.subshell.true.ec1.test

[bash status] Expected 0, got 1

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

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

stdout:
bug
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:
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:
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:
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

  eval "if"
  ^~~~
scr:1: Unexpected EOF while parsing command
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
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
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 (OILS-ERR-100)
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
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
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 (OILS-ERR-100)
dash93 semantics.command-subst.newline.test

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

stdout:
1
2
stderr:
bash97 semantics.dot.glob.test

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

stdout:
.*/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
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
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 (OILS-ERR-100)
    $TEST_UTIL/readdir | grep -e '^..$' >/dev/null
    ^~~~~~~~~~
[ stdin ]:6: '/home/andy/git/languages/smoosh/tests/util/readdir' not found (OILS-ERR-100)
dash100 semantics.errexit.trap.test

[dash status] Expected 1, got 0

stdout:
stderr: 
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
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
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
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:
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:
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:
bash109 semantics.evalorder.fun.test

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

stdout:
got assign
unset after function call
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:
bash115 semantics.-h.nonposix.test

[bash status] Expected 0, got 1

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

[dash status] Expected 0, got 2

stdout:
stderr: 
dash: 1: set: Illegal option -h
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:
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
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
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 (OILS-ERR-100)
  $TEST_UTIL/fds
  ^~~~~~~~~~
[ stdin ]:3: '/home/andy/git/languages/smoosh/tests/util/fds' not found (OILS-ERR-100)
osh133 semantics.redir.nonregular.test

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

stdout:
stderr: 
  : >/dev/null || exit 2
    ^
[ stdin ]:2: Can't open '/dev/null': File exists (noclobber)
[ stdin ]:2: I/O error applying redirect: File exists
dash137 semantics.return.if.test

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

stdout:
0
6
stderr:
bash140 semantics.return.trap.test

[bash status] Expected 0, got 5

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

[dash status] Expected 0, got 5

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

[mksh status] Expected 0, got 5

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

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

stdout:
stderr: 
dash141 semantics.return.while.test

[dash stdout] Expected '5\n6\n', got '5\n0\n'

stdout:
5
0
stderr:
bash142 semantics.simple.link.test

[bash stdout] Expected 'hi\nhi\ncmd.sh\nlink.sh\n', got 'hi\nhi\n_tmp\ncmd.sh\nlink.sh\n'

stdout:
hi
hi
_tmp
cmd.sh
link.sh
stderr:
dash142 semantics.simple.link.test

[dash stdout] Expected 'hi\nhi\ncmd.sh\nlink.sh\n', got 'hi\nhi\n_tmp\ncmd.sh\nlink.sh\n'

stdout:
hi
hi
_tmp
cmd.sh
link.sh
stderr:
mksh142 semantics.simple.link.test

[mksh stdout] Expected 'hi\nhi\ncmd.sh\nlink.sh\n', got 'hi\nhi\n_tmp\ncmd.sh\nlink.sh\n'

stdout:
hi
hi
_tmp
cmd.sh
link.sh
stderr:
osh142 semantics.simple.link.test

[osh stdout] Expected 'hi\nhi\ncmd.sh\nlink.sh\n', got 'hi\nhi\n_tmp\ncmd.sh\nlink.sh\n'

stdout:
hi
hi
_tmp
cmd.sh
link.sh
stderr:
osh144 semantics.special.assign.visible.nonposix.test

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

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

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

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

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

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

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

stdout:
stderr: 
          break 2
          ^~~~~
[ stdin ]:6: Loop and control flow can't be in different processes
          break 2
          ^~~~~
[ stdin ]:6: Loop and control flow can't be in different processes
bash156 semantics.tilde.sep.test

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

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

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

stdout:
stderr: 
[%1] PID 327119 Done
bash159 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.traps.inherit.test

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

stdout:
sending SIGQUIT
0
stderr:
dash164 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
mksh164 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
osh168 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:
osh176 sh.monitor.bg.test

[osh status] Expected 0, got 3

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

oils: PID 327452 Stopped with signal 20
  bg >output
  ^~
[ stdin ]:13: 'bg' isn't implemented
osh177 sh.monitor.fg.test

[osh status] Expected 0, got 2

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

oils: PID 327474 Stopped with signal 20
fg: PID 327474 Continued
[ stdin ]:13: fg builtin I/O error: No such process