Results for pipeline.test.sh

statusbashdashmkshzshosh
pass 2316211922
ok 11101
N-I 08341
BUG 10020
FAIL 00001
total2525252525
casebashdashmkshzshoshdescription
0pass pass pass pass pass Brace group in pipeline
1pass pass pass pass pass For loop starts pipeline
2pass pass pass pass pass While Loop ends pipeline
3pass pass pass BUG pass Redirect in Pipeline
details
4pass pass pass pass pass Pipeline comments
5pass pass pass pass pass Exit code is last status
6pass N-I pass N-I pass PIPESTATUS
detailsdetails
7pass N-I pass N-I ok PIPESTATUS is set on simple commands, but NOT in OSH
detailsdetailsdetails
8pass N-I pass N-I pass PIPESTATUS with shopt -s lastpipe
detailsdetails
9pass N-I N-I pass N-I |&
detailsdetailsdetails
10pass pass pass pass pass ! turns non-zero into zero
11pass pass pass pass pass ! turns zero into 1
12pass pass pass pass pass ! in if
13pass pass pass pass pass ! with ||
14pass pass pass pass pass ! with { }
15pass pass pass pass pass ! with ( )
16pass pass pass pass pass ! is not a command
17pass pass pass BUG pass Evaluation of argv[0] in pipeline occurs in child
details
18ok ok ok pass pass bash/dash/mksh run the last command is run in its own process
detailsdetailsdetails
19pass N-I N-I pass pass shopt -s lastpipe (always on in OSH)
detailsdetails
20pass N-I N-I pass FAIL shopt -s lastpipe (always on in OSH)
detailsdetailsdetails
21BUG N-I pass N-I pass SIGPIPE causes pipeline to die (regression for issue #295)
detailsdetailsdetails
22pass pass pass pass pass Nested pipelines
23pass pass pass pass pass Pipeline in eval
24pass N-I pass pass pass shopt -s lastpipe and shopt -s no_last_fork interaction
details
101 passed, 4 OK, 16 not implemented, 3 BUG, 1 failed, 0 timeouts, 0 cases skipped
1 failed under osh

Details on runs that didn't PASS

zsh3 Redirect in Pipeline

stdout:
1
stderr:
hi
dash6 PIPESTATUS

stdout:
stderr: 
dash: 5: Bad substitution
zsh6 PIPESTATUS

stdout:
stderr: 
dash7 PIPESTATUS is set on simple commands, but NOT in OSH

stdout:
stderr: 
zsh7 PIPESTATUS is set on simple commands, but NOT in OSH

stdout:
stderr: 
osh7 PIPESTATUS is set on simple commands, but NOT in OSH

stdout:
pipestatus
stderr:
dash8 PIPESTATUS with shopt -s lastpipe

stdout:
stderr: 
dash: 1: shopt: not found
dash: 6: Bad substitution
zsh8 PIPESTATUS with shopt -s lastpipe

stdout:
stderr: 
zsh: command not found: shopt
dash9 |&

stdout:
stderr: 
dash: 1: Syntax error: "&" unexpected
mksh9 |&

stdout:
stderr: 
STDERR
close failed in file object destructor:
sys.excepthook is missing
lost sys.stderr
osh9 |&

stdout:
stderr: 
  stdout_stderr.py |& cat
                   ^~
[ stdin ]:1: fatal: |& isn't supported
zsh17 Evaluation of argv[0] in pipeline occurs in child

stdout:
1
cmd=echo
stderr:
bash18 bash/dash/mksh run the last command is run in its own process

stdout:
line=
stderr:
dash18 bash/dash/mksh run the last command is run in its own process

stdout:
line=
stderr:
mksh18 bash/dash/mksh run the last command is run in its own process

stdout:
line=
stderr:
dash19 shopt -s lastpipe (always on in OSH)

stdout:
line=
stderr:
dash: 1: shopt: not found
mksh19 shopt -s lastpipe (always on in OSH)

stdout:
line=
stderr:
mksh: <stdin>[1]: shopt: not found
dash20 shopt -s lastpipe (always on in OSH)

stdout:
i=0
stderr:
dash: 1: shopt: not found
dash: 4: i++: not found
dash: 4: i++: not found
dash: 4: i++: not found
mksh20 shopt -s lastpipe (always on in OSH)

stdout:
i=0
stderr:
mksh: <stdin>[1]: shopt: not found
osh20 shopt -s lastpipe (always on in OSH)

[osh stdout] Expected 'i=3\n', got ''
[osh status] Expected 0, got 1
[osh stderr] Found 'Traceback (most recent'

stdout:
stderr: 
Traceback (most recent call last):
  File "/home/uke/oil/bin/oils_for_unix.py", line 202, in <module>
    sys.exit(main(sys.argv))
  File "/home/uke/oil/bin/oils_for_unix.py", line 171, in main
    return AppBundleMain(argv)
  File "/home/uke/oil/bin/oils_for_unix.py", line 141, in AppBundleMain
    return shell.Main('osh', arg_r, environ, login_shell, loader, readline)
  File "/home/uke/oil/core/shell.py", line 1213, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 375, in Batch
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2109, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 1908, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1813, in _Dispatch
    status = self._DoPipeline(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 964, in _DoPipeline
    self.shell_ex.RunPipeline(node, cmd_st)
  File "/home/uke/oil/core/executor.py", line 590, in RunPipeline
    status_out.pipe_status = pi.RunLastPart(self.waiter, self.fd_state)
  File "/home/uke/oil/core/process.py", line 1414, in RunLastPart
    cmd_ev.ExecuteAndCatch(last_node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2109, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 1908, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1789, in _Dispatch
    status = self._DoWhileUntil(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 1169, in _DoWhileUntil
    status = self._Execute(node.body)  # last one wins
  File "/home/uke/oil/osh/cmd_eval.py", line 1908, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1750, in _Dispatch
    status = self._ExecuteList(node.children)
  File "/home/uke/oil/osh/cmd_eval.py", line 1985, in _ExecuteList
    status = self._Execute(child)
  File "/home/uke/oil/osh/cmd_eval.py", line 1908, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1681, in _Dispatch
    i = self.arith_ev.EvalToBigInt(node.child)
  File "/home/uke/oil/osh/sh_expr_eval.py", line 553, in EvalToBigInt
    val = self.Eval(node)
  File "/home/uke/oil/osh/sh_expr_eval.py", line 611, in Eval
    old_big, lval = self._EvalLhsAndLookupArith(node.child)
  File "/home/uke/oil/osh/sh_expr_eval.py", line 520, in _EvalLhsAndLookupArith
    location.TokenForArith(node))
  File "/home/uke/oil/osh/sh_expr_eval.py", line 130, in OldValue
    cell = mem.GetCellDeref(var_name)
  File "/home/uke/oil/core/state.py", line 2318, in GetCellDeref
    cell, _ = self._ResolveNameOrRef(name, which_scopes)
ValueError: too many values to unpack
bash21 SIGPIPE causes pipeline to die (regression for issue #295)

stdout:
1 0
stderr:
cat: write error: Broken pipe
dash21 SIGPIPE causes pipeline to die (regression for issue #295)

stdout:
stderr: 
cat: write error: Broken pipe
dash: 2: Bad substitution
zsh21 SIGPIPE causes pipeline to die (regression for issue #295)

stdout:
stderr: 
cat: write error: Broken pipe
dash24 shopt -s lastpipe and shopt -s no_last_fork interaction

stdout:
stderr: