Results for func.test.sh

casedashbashmkshoshdescription
0pass pass pass pass Locals don't leak
1pass pass pass pass Globals leak
2pass pass pass FAIL Return statement
details
3N-I N-I N-I pass Return at top level is error
detailsdetailsdetails
4pass pass pass pass Dynamic Scope
5pass pass pass pass Dynamic Scope Mutation (wow this is bad)
6pass pass pass pass Assign local separately
7pass pass pass pass Assign a local and global on same line

28 passed, 0 ok, 3 known unimplemented, 0 known bugs, 1 failed, 0 skipped

Details on runs that didn't PASS

osh2 Return statement

[osh status] Expected 42, got 1

stdout:
one
stderr:
Traceback (most recent call last):
  File "bin/osh", line 430, in <module>
    main(sys.argv)
  File "bin/osh", line 417, in main
    sys.exit(OilMain(argv))
  File "bin/osh", line 400, in OilMain
    status = OshMain(main_argv)
  File "bin/osh", line 359, in OshMain
    status = ex.Execute(node)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 1212, in Execute
    status = self._Execute(node)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 1057, in _Execute
    status = self._Execute(child)  # last status wins
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 984, in _Execute
    status = thunk.RunInParent()
  File "/home/andy/git/oil/bin/../core/process.py", line 417, in RunInParent
    return self.ex.RunFunc(self.func_node, self.argv)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 757, in RunFunc
    status = self._Execute(func_body)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 1057, in _Execute
    status = self._Execute(child)  # last status wins
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 1040, in _Execute
    _, val = self.ev.EvalWordToString(node.arg_word)
TypeError: 'Str' object is not iterable
dash3 Return at top level is error

stdout:
stderr: 
bash3 Return at top level is error

stdout:
bad
stderr:
/bin/bash: line 1: return: can only `return' from a function or sourced script
mksh3 Return at top level is error

stdout:
stderr: