Results for background.test.sh

casedashbashmkshoshosh_ALTdescription
0pass pass pass pass pass wait with nothing to wait for
1ok pass ok pass pass wait -n with nothing to wait for
detailsdetails
2ok pass pass pass pass wait with invalid job ID
details
3ok pass pass pass pass wait with invalid PID
details
4pass pass pass pass pass Builtin in background
5pass pass pass pass pass External command in background
6pass pass pass pass pass Pipeline in Background
7N-I BUG N-I FAIL pass Wait sets PIPESTATUS
detailsdetailsdetailsdetails
8pass pass pass pass pass Brace group in background, wait all
9pass pass pass pass pass Wait on background process PID
10pass pass pass pass pass Wait on multiple specific IDs returns last status
11N-I pass N-I pass pass wait -n
detailsdetails
12pass pass pass pass pass Async for loop
13pass pass pass pass pass Background process doesn't affect parent

60 passed, 4 ok, 4 known unimplemented, 1 known bugs, 1 failed, 0 skipped

Details on runs that didn't PASS

dash1 wait -n with nothing to wait for

stdout:
stderr: 
/bin/dash: 1: wait: Illegal option -n
mksh1 wait -n with nothing to wait for

stdout:
stderr: 
/bin/mksh: <stdin>[1]: wait: -n: unknown option
dash2 wait with invalid job ID

stdout:
stderr: 
/bin/dash: 1: wait: No such job: %nonexistent
dash3 wait with invalid PID

stdout:
stderr: 
/bin/dash: 1: wait: No such job: %nonexistent
dash7 Wait sets PIPESTATUS

stdout:
stderr: 
/bin/dash: 2: Bad substitution
dash: echo: I/O error
bash7 Wait sets PIPESTATUS

stdout:
pipestatus=
status=99
pipestatus=0
stderr:
mksh7 Wait sets PIPESTATUS

stdout:
pipestatus=0
status=99
pipestatus=0
stderr:
osh7 Wait sets PIPESTATUS

[osh stdout] Expected u'pipestatus=\nstatus=99\npipestatus=55 99\n', got 'pipestatus=\nstatus=99\npipestatus=1 99\n'

stdout:
pipestatus=
status=99
pipestatus=1 99
stderr:
Started background pipeline with job ID 7775
Traceback (most recent call last):
  File "bin/osh", line 448, in <module>
    main(sys.argv)
  File "bin/osh", line 435, in main
    sys.exit(OilMain(argv))
  File "bin/osh", line 418, in OilMain
    status = OshMain(main_argv)
  File "bin/osh", line 379, in OshMain
    status = ex.Execute(node)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 951, in Execute
    status = self._Execute(node, fork_external=fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 915, in _Execute
    status, check_errexit = self._Dispatch(node, fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 725, in _Dispatch
    status = self._ExecuteList(node.children)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 944, in _ExecuteList
    status = self._Execute(child)  # last status wins
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 915, in _Execute
    status, check_errexit = self._Dispatch(node, fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 623, in _Dispatch
    status = self._RunJobInBackground(node.child)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 556, in _RunJobInBackground
    job_id = pi.Start(self.waiter)
  File "/home/andy/git/oil/bin/../core/process.py", line 487, in Start
    pid = proc.Start()
  File "/home/andy/git/oil/bin/../core/process.py", line 401, in Start
    self.thunk.Run()
  File "/home/andy/git/oil/bin/../core/process.py", line 297, in Run
    status = self.ex.Execute(self.node, fork_external=False)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 951, in Execute
    status = self._Execute(node, fork_external=fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 915, in _Execute
    status, check_errexit = self._Dispatch(node, fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 725, in _Dispatch
    status = self._ExecuteList(node.children)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 944, in _ExecuteList
    status = self._Execute(child)  # last status wins
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 915, in _Execute
    status, check_errexit = self._Dispatch(node, fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 621, in _Dispatch
    status = self._Execute(node.child)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 915, in _Execute
    status, check_errexit = self._Dispatch(node, fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 612, in _Dispatch
    status = self._RunSimpleCommand(argv, environ, fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 500, in _RunSimpleCommand
    status = self._RunBuiltin(builtin_id, argv)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 229, in _RunBuiltin
    status = builtin.Echo(argv)
  File "/home/andy/git/oil/bin/../core/builtin.py", line 246, in Echo
    sys.stdout.flush()
IOError: [Errno 32] Broken pipe
JobState WhenDone 99
dash11 wait -n

stdout:
status=2
status=2
stderr:
/bin/dash: 3: wait: Illegal option -n
/bin/dash: 5: wait: Illegal option -n
mksh11 wait -n

stdout:
status=1
status=1
stderr:
/bin/mksh: <stdin>[3]: wait: -n: unknown option
/bin/mksh: <stdin>[5]: wait: -n: unknown option