Results for smoosh.test.sh

statusdashbashmkshosh
pass 122144141132
FAIL 43232635
TIME 14121212
total179179179179
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 pass builtin.exitcode.test
detailsdetails
28pass pass pass pass builtin.export.override.test
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
87pass pass pass pass semantics.backtick.fds.test
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
92pass pass pass pass semantics.command.argv0.test
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
97pass pass FAIL pass semantics.dot.glob.test
details
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 TIME 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
130pass pass pass pass semantics.redir.fds.test
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
136pass pass pass pass semantics.return.and.test
137FAIL pass 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
141FAIL pass 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
147FAIL FAIL pass FAIL semantics.subshell.break.test
detailsdetailsdetails
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
156pass FAIL 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
164FAIL pass 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 TIME sh.monitor.fg.test
178pass pass pass FAIL sh.set.ifs.test
details
539 passed, 0 OK, 0 not implemented, 0 BUG, 127 failed, 50 timeouts, 0 cases skipped
35 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:
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/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
osh18 builtin.echo.exitcode.test

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

stdout:
OK
stderr:
osh I/O error (main): No space left on device
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:
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 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
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: 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: 
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
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: 
mksh97 semantics.dot.glob.test

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

stdout:
.*/foo
stderr:
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:
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:
dash137 semantics.return.if.test

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

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

[dash status] Expected 0, got 5

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

[bash 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:
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:
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:
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: 
bash147 semantics.subshell.break.test

[bash 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: 
dash159 semantics.traps.inherit.test

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

stdout:
sending SIGQUIT
0
stderr:
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:
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 13179 Stopped [subprog] command.Simple
1683141819 - 1683141819 = 0
%1 13179 Stopped [subprog] command.Simple
1683141819 - 1683141819 = 0
stderr:
  set -m
      ^~
[ stdin ]:1: 'set' got invalid flag '-m'

[PID 13179] Stopped with signal 20
  bg >output
  ^~
[ stdin ]:13: 'bg' isn't implemented
osh178 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/oilshell
in/..
/home/andy/git/oilshell/oil/bin/osh: 3: exec: /home/: Permission denied