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 pass FAIL 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, 0 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:
/bin/bash: line 1: echo: write error: Broken pipe
mksh7 Wait sets PIPESTATUS

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

[osh_ALT 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 5362
Traceback (most recent call last):
  File "/home/andy/git/oil/Python-2.7.13/Lib/runpy.py", line 174, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/home/andy/git/oil/Python-2.7.13/Lib/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/home/andy/git/oil/bin/oil.py", line 440, in <module>
    main(sys.argv)
  File "/home/andy/git/oil/bin/oil.py", line 427, in main
    sys.exit(OilMain(argv))
  File "/home/andy/git/oil/bin/oil.py", line 410, in OilMain
    status = OshMain(main_argv)
  File "/home/andy/git/oil/bin/oil.py", line 373, in OshMain
    status = ex.Execute(node)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 892, in Execute
    status = self._Execute(node, fork_external=fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 856, in _Execute
    status, check_errexit = self._Dispatch(node, fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 674, in _Dispatch
    status = self._ExecuteList(node.children)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 885, in _ExecuteList
    status = self._Execute(child)  # last status wins
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 856, in _Execute
    status, check_errexit = self._Dispatch(node, fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 596, in _Dispatch
    status = self._RunJobInBackground(node.child)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 529, in _RunJobInBackground
    job_id = pi.Start(self.waiter)
  File "/home/andy/git/oil/bin/../core/process.py", line 484, in Start
    pid = proc.Start()
  File "/home/andy/git/oil/bin/../core/process.py", line 398, in Start
    self.thunk.Run()
  File "/home/andy/git/oil/bin/../core/process.py", line 294, in Run
    status = self.ex.Execute(self.node, fork_external=False)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 892, in Execute
    status = self._Execute(node, fork_external=fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 856, in _Execute
    status, check_errexit = self._Dispatch(node, fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 674, in _Dispatch
    status = self._ExecuteList(node.children)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 885, in _ExecuteList
    status = self._Execute(child)  # last status wins
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 856, in _Execute
    status, check_errexit = self._Dispatch(node, fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 594, in _Dispatch
    status = self._Execute(node.child)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 856, in _Execute
    status, check_errexit = self._Dispatch(node, fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 584, in _Dispatch
    status = self._RunSimpleCommand(argv, environ, fork_external)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 473, in _RunSimpleCommand
    status = self._RunBuiltin(builtin_id, argv)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 208, in _RunBuiltin
    status = builtin.Echo(argv)
  File "/home/andy/git/oil/bin/../core/builtin.py", line 238, 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