Results for errexit.test.sh

statusoshosh_.pyosh_.cc
pass 313029
FAIL 012
total313131
caseoshosh_.pyosh_.ccdescription
0pass pass pass errexit aborts early
1pass pass FAIL errexit for nonexistent command
details
2pass pass pass errexit aborts early on pipeline
3pass pass pass errexit with { }
4pass pass pass errexit with if and { }
5pass pass pass errexit with ||
6pass pass pass errexit with &&
7pass pass pass errexit test && -- from gen-module-init
8pass pass pass errexit test && and fail
9pass pass pass errexit and loop
10pass pass pass errexit and brace group { }
11pass pass pass errexit and time { }
12pass pass pass errexit with !
13pass pass pass errexit with ! and ;
14pass pass pass errexit with while/until
15pass pass pass errexit with (( ))
16pass pass pass errexit with subshell
17pass pass pass set -o errexit while it's being ignored (moot with strict_errexit)
18pass pass pass set +o errexit while it's being ignored (moot with strict_errexit)
19pass pass pass set +o errexit with 2 levels of ignored
20pass pass pass setting errexit in a subshell works but doesn't affect parent shell
21pass pass pass set errexit while it's ignored in a subshell (moot with strict_errexit)
22pass pass pass shopt -s strict:all || true while errexit is on
23pass pass pass errexit double guard
24pass FAIL FAIL background processes respect errexit
detailsdetails
25pass pass pass pipeline process respects errexit
26pass pass pass compound command
27pass pass pass while loop
28pass pass pass set -e enabled in function (regression)
29pass pass pass set -e in function #2
30pass pass pass Command sub exit code is lost
90 passed, 0 OK, 0 not implemented, 0 BUG, 3 failed, 0 timeouts, 0 cases skipped

Details on runs that didn't PASS

osh_.cc1 errexit for nonexistent command

[osh_.cc status] Expected 127, got 1

stdout:
stderr: 
  nonexistent__ZZ
  ^~~~~~~~~~~~~~~
[ stdin ]:2: 'nonexistent__ZZ' not found
osh_.py24 background processes respect errexit

[osh_.py stderr] Found 'Traceback (most recent'

stdout:
one
stderr:
Traceback (most recent call last):
  File "/home/uke/oil/bin/osh_eval.py", line 66, in <module>
    sys.exit(main(sys.argv))
  File "/home/uke/oil/bin/osh_eval.py", line 34, in main
    None)
  File "/home/uke/oil/core/shell_native.py", line 486, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 332, in Batch
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags=cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 1644, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 1482, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 711, in _Dispatch
    status = self._RunSimpleCommand(cmd_val, cmd_st, node.do_fork)
  File "/home/uke/oil/osh/cmd_eval.py", line 550, in _RunSimpleCommand
    return self.shell_ex.RunSimpleCommand(cmd_val, cmd_st, do_fork)
  File "/home/uke/oil/core/executor.py", line 242, in RunSimpleCommand
    return self.RunBuiltin(builtin_id, cmd_val)
  File "/home/uke/oil/core/executor.py", line 129, in RunBuiltin
    builtin_func = self.builtins[builtin_id]
KeyError: 33
osh_.cc24 background processes respect errexit

[osh_.cc status] Expected 1, got -6

stdout:
one
stderr:
terminate called after throwing an instance of 'KeyError*'