Results for smoosh.test.sh

statusdashbashmkshosh
pass 100118117109
FAIL 37202130
TIME 13121211
total150150150150
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 FAIL pass builtin.eval.break.test
details
19pass pass pass pass builtin.eval.test
20FAIL pass pass pass builtin.exec.badredir.test
details
21pass pass pass pass builtin.exec.modernish.mkfifo.loop.test
22pass pass pass pass builtin.exec.noargs.ec.test
23pass pass pass pass builtin.exec.true.test
24pass pass pass pass builtin.exit0.test
25pass pass pass pass builtin.export.override.test
26pass pass pass pass builtin.export.test
27pass pass pass FAIL builtin.export.unset.test
details
28pass pass pass pass builtin.falsetrue.test
29TIME TIME TIME TIME builtin.jobs.test
30pass pass pass pass builtin.kill0_+5.test
31pass pass pass pass builtin.kill0.test
32TIME TIME TIME TIME builtin.kill.jobs.test
33pass pass pass pass builtin.kill.signame.test
34pass pass pass FAIL builtin.printf.repeat.test
details
35FAIL pass FAIL pass builtin.readonly.assign.noninteractive.test
detailsdetails
36TIME pass pass pass builtin.set.-m.test
37pass pass pass pass builtin.set.quoted.test
38FAIL pass pass FAIL builtin.source.nonexistent.earlyexit.test
detailsdetails
39FAIL pass pass pass builtin.source.nonexistent.test
details
40FAIL pass pass pass builtin.source.setvar.test
details
41FAIL pass pass FAIL builtin.special.redir.error.test
detailsdetails
42pass pass pass pass builtin.test.bigint.test
43TIME TIME TIME TIME builtin.test.nonposix.test
44FAIL pass pass pass builtin.test.-nt.-ot.absent.test
details
45pass pass pass pass builtin.test.numeric.spaces.nonposix.test
46pass pass pass pass builtin.test.symlink.test
47TIME TIME TIME TIME builtin.times.ioerror.test
48FAIL pass FAIL FAIL builtin.trap.chained.test
detailsdetailsdetails
49pass pass pass pass builtin.trap.exit3.test
50pass FAIL FAIL pass builtin.trap.exitcode.test
detailsdetails
51pass pass pass pass builtin.trap.exit.subshell.test
52FAIL pass pass pass builtin.trap.false.test
details
53pass pass pass FAIL builtin.trap.kill.undef.test
details
54FAIL FAIL pass FAIL builtin.trap.nested.test
detailsdetailsdetails
55pass pass pass pass builtin.trap.noexit.test
56pass FAIL FAIL pass builtin.trap.return.test
detailsdetails
57FAIL FAIL FAIL FAIL builtin.trap.subshell.false.exit.test
detailsdetailsdetailsdetails
58FAIL pass pass pass builtin.trap.subshell.false.test
details
59FAIL FAIL FAIL FAIL builtin.trap.subshell.loud2.test
detailsdetailsdetailsdetails
60FAIL FAIL FAIL FAIL builtin.trap.subshell.loud.test
detailsdetailsdetailsdetails
61FAIL pass pass pass builtin.trap.subshell.quiet.test
details
62FAIL FAIL FAIL FAIL builtin.trap.subshell.true.ec1.test
detailsdetailsdetailsdetails
63FAIL pass pass pass builtin.trap.subshell.truefalse.test
details
64FAIL FAIL FAIL FAIL builtin.trap.supershell.test
detailsdetailsdetailsdetails
65FAIL pass pass pass builtin.unset.test
details
66pass FAIL pass FAIL parse.eval.error.test
detailsdetails
67pass pass pass pass semantics.arith.assign.multi.test
68pass pass pass pass semantics.arithmetic.bool_to_num.test
69pass pass pass pass semantics.arithmetic.tilde.test
70pass pass pass pass semantics.arith.modernish.test
71pass pass pass pass semantics.arith.pos.test
72pass pass pass pass semantics.arith.var.space.test
73pass pass pass pass semantics.assign.noglob.test
74pass pass pass pass semantics.assign.visible.test
75pass pass pass pass semantics.background.nojobs.stdin.test
76TIME TIME TIME TIME semantics.background.pid.test
77TIME TIME TIME TIME semantics.background.pipe.pid.test
78TIME TIME TIME TIME semantics.background.test
79pass pass pass pass semantics.backtick.fds.test
80pass pass pass pass semantics.backtick.ppid.test
81pass pass pass pass semantics.case.ec.test
82pass pass pass pass semantics.case.escape.modernish.test
83pass pass pass pass semantics.command.argv0.test
84FAIL pass pass pass semantics.command-subst.newline.test
details
85pass pass pass pass semantics.command-subst.test
86pass pass pass FAIL semantics.-C.test
details
87pass pass pass pass semantics.defun.ec.test
88pass FAIL FAIL pass semantics.dot.glob.test
detailsdetails
89FAIL pass pass FAIL semantics.errexit.trap.test
detailsdetails
90FAIL FAIL FAIL pass semantics.error.noninteractive.test
detailsdetailsdetails
91pass pass pass pass semantics.escaping.backslash.modernish.test
92pass pass pass pass semantics.escaping.backslash.test
93pass pass pass pass semantics.escaping.heredoc.dollar.test
94pass pass pass pass semantics.escaping.newline.test
95FAIL FAIL FAIL FAIL semantics.escaping.quote.test
detailsdetailsdetailsdetails
96pass pass pass pass semantics.escaping.single.test
97pass pass pass pass semantics.eval.makeadder.test
98pass FAIL FAIL pass semantics.evalorder.fun.test
detailsdetails
99pass pass pass pass semantics.expansion.heredoc.backslash.test
100pass pass pass pass semantics.expansion.quotes.adjacent.test
101pass pass pass pass semantics.for.readonly.test
102pass pass pass pass semantics.fun.error.restore.test
103pass pass pass pass semantics.ifs.combine.ws.test
104TIME TIME TIME TIME semantics.kill.traps.test
105pass pass pass pass semantics.length.test
106pass pass pass pass semantics.no-command-subst.test
107FAIL pass pass pass semantics.noninteractive.expansion.exit.test
details
108pass pass pass pass semantics.pattern.bracket.quoted.test
109FAIL pass FAIL pass semantics.pattern.hyphen.test
detailsdetails
110pass pass pass pass semantics.pattern.modernish.test
111FAIL pass FAIL pass semantics.pattern.rightbracket.test
detailsdetails
112pass pass pass pass semantics.quote.backslash.test
113pass pass pass pass semantics.quote.tilde.test
114FAIL FAIL pass pass semantics.redir.close.test
detailsdetails
115pass pass pass pass semantics.redir.fds.test
116pass pass pass pass semantics.redir.from.test
117pass pass pass pass semantics.redir.nonregular.test
118pass pass pass pass semantics.redir.to.test
119pass pass pass pass semantics.simple.link.test
120pass pass pass FAIL semantics.special.assign.visible.nonposix.test
details
121pass pass FAIL pass semantics.splitting.ifs.test
details
122TIME TIME TIME TIME semantics.subshell.background.traps.test
123FAIL FAIL pass pass semantics.subshell.break.test
detailsdetails
124pass pass pass pass semantics.tilde.colon.test
125pass pass pass pass semantics.tilde.quoted.prefix.test
126pass pass pass pass semantics.tilde.quoted.test
127pass FAIL pass pass semantics.tilde.sep.test
details
128pass pass pass pass semantics.tilde.test
129pass pass pass FAIL semantics.traps.async.test
details
130FAIL FAIL pass pass semantics.traps.inherit.test
detailsdetails
131pass pass pass pass semantics.var.alt.nullifs.test
132pass pass pass pass semantics.var.alt.null.test
133pass pass pass pass semantics.varassign.test
134pass pass pass pass semantics.var.builtin.nonspecial.test
135FAIL pass FAIL pass semantics.var.dashu.test
detailsdetails
136pass pass pass pass semantics.var.format.tilde.test
137pass pass pass pass semantics.variable.escape.length.test
138pass pass pass pass semantics.var.ifs.sep.test
139pass pass pass FAIL semantics.var.star.emptyifs.test
details
140pass pass pass pass semantics.var.star.format.test
141pass pass pass pass semantics.var.unset.nofield.test
142TIME TIME TIME TIME semantics.wait.alreadydead.test
143pass pass pass pass semantics.while.test
144pass pass pass pass sh.-c.arg0.test
145pass pass pass pass sh.env.ppid.test
146pass pass pass pass sh.file.weirdness.test
147TIME TIME TIME FAIL sh.monitor.bg.test
detailsdetailsdetailsdetails
148TIME TIME TIME TIME sh.monitor.fg.test
149pass pass pass FAIL sh.set.ifs.test
details
444 passed, 0 OK, 0 not implemented, 0 BUG, 108 failed, 48 timeouts, 0 cases skipped
30 failed under osh

Details on runs that didn't PASS

dash2 builtin.alias.empty.test

[dash status] Expected 0, got 2

stdout:
stderr: 
dash: 4: 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 302)
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 ]:12: fatal: Exiting with status 1 (command in PID 435)
mksh18 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
dash20 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
osh27 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 698)
  export -p | grep 'export x'
            ^
[ stdin ]:4: fatal: Exiting with status 1 (pipeline invoked from PID 698)
osh34 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
      ^
(source.ArgvWord word_spid:2):1: printf expected an integer, got ''
dash35 builtin.readonly.assign.noninteractive.test

[dash status] Expected 1, got 2

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

[mksh status] Expected 1, got 2

stdout:
stderr: 
mksh: <stdin>[2]: read-only: a
dash38 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
osh38 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
dash39 builtin.source.nonexistent.test

[dash status] Expected 1, got 2

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

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

stdout:
stderr: 
dash: 3: source: not found
dash41 builtin.special.redir.error.test

[dash status] Expected 1, got 2

stdout:
stderr: 
osh41 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
dash44 builtin.test.-nt.-ot.absent.test

[dash status] Expected 0, got 1

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

[dash status] Expected 0, got 1

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

[mksh status] Expected 0, got 1

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

[osh status] Expected 0, got 1

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

[bash status] Expected 0, got 2

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

[mksh status] Expected 0, got 1

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

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

stdout:
BUG
stderr:
osh53 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
dash54 builtin.trap.nested.test

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

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

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

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

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

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

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

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

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

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

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

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

[bash status] Expected 1, got 0

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

[mksh status] Expected 1, got 0

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

[osh status] Expected 1, got 0

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

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

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

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

stdout:
stderr: 
dash: 1: set: Illegal option -o bad@option
bash59 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
mksh59 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
osh59 builtin.trap.subshell.loud2.test

[osh status] Expected 0, got 1

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

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

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

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

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

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

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

[osh status] Expected 0, got 1

stdout:
WEIRD
stderr:
dash61 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
dash62 builtin.trap.subshell.true.ec1.test

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

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

[bash status] Expected 0, got 1

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

[mksh status] Expected 0, got 1

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

[osh status] Expected 0, got 1

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

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

stdout:
BUG
0
stderr:
dash64 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:
bash64 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:
mksh64 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:
osh64 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
dash65 builtin.unset.test

[dash status] Expected 1, got 2

stdout:
unset
foo
unset
stderr:
dash: 8: unset: x: is read only
bash66 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
osh66 parse.eval.error.test

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

stdout:
lived
stderr:
  if
    ^
[ eval at line 1 of scr ]:1: Unexpected EOF while parsing command
dash84 semantics.command-subst.newline.test

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

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

[osh status] Expected 0, got 2

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

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

stdout:
./foo ../foo
stderr:
mksh88 semantics.dot.glob.test

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

stdout:
.*/foo
stderr:
dash89 semantics.errexit.trap.test

[dash status] Expected 1, got 0

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

[osh status] Expected 1, got 0

stdout:
stderr: 
dash90 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
bash90 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
mksh90 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
dash95 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:
bash95 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:
mksh95 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:
osh95 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:
  printf '%s' "
              ^
[ backticks at ... ]:1: Unexpected EOF reading double-quoted string that began here
          $TEST_SHELL script >out
          ^~~~~~~~~~~
[ stdin ]:9: fatal: Exiting with status 2 (command in PID 2674)
bash98 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:
mksh98 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:
dash107 semantics.noninteractive.expansion.exit.test

[dash status] Expected 1, got 2

stdout:
stderr: 
dash: 2: x: alas, poor yorick
dash109 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:
mksh109 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:
dash111 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:
mksh111 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:
dash114 semantics.redir.close.test

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

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

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

stdout:
oops, still open
stderr:
osh120 semantics.special.assign.visible.nonposix.test

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

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

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

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

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

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

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

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

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

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

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

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

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

stdout:
sending SIGQUIT
0
stderr:
bash130 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:
dash135 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
mksh135 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
osh139 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:
osh147 sh.monitor.bg.test

[osh status] Expected 0, got 3

stdout:
Jobs:
%1 3 <Process [subprog] command.Simple>

Processes:
3660 2 [subprog] command.Simple
3661 3 [subprog] command.Simple
3662 2 [process] kill -TSTP 3661
1625554298 - 1625554298 = 0
Jobs:
%1 3 <Process [subprog] command.Simple>

Processes:
3660 2 [subprog] command.Simple
3661 3 [subprog] command.Simple
3662 2 [process] kill -TSTP 3661
3663 2 [subprog] command.Simple
1625554298 - 1625554298 = 0
stderr:
  set -m
      ^~
[ stdin ]:1: 'set' got invalid flag '-m'

[PID 3661] Stopped
  bg >output
  ^~
[ stdin ]:11: 'bg' isn't implemented
osh149 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