--- byo run-tests: bin/ysh +o no_exported stdlib/ysh/def-test.ysh test-class-pattern OK test-dict (Dict) {"a":42,"b":1} OK devtools/byo.sh: 2 tests passed. --- byo run-tests: bin/ysh +o no_exported stdlib/ysh/args-test.ysh test-2 OK test-basic OK test-default-values OK test-duplicate-names-are-errors OK test-more-errors OK test-multi-value-flags OK test-multiple-argv-arrays OK test-print-spec OK test-vs-python3-argparse OK devtools/byo.sh: 9 tests passed. --- byo run-tests: bin/ysh +o no_exported stdlib/ysh/list-test.ysh test-all OK test-any OK test-more-any-all OK test-repeat-error OK test-repeat-list OK test-repeat-str OK devtools/byo.sh: 6 tests passed. --- byo run-tests: bin/ysh +o no_exported stdlib/ysh/math-test.ysh test-abs OK test-identity OK test-max OK test-min OK test-sum OK devtools/byo.sh: 5 tests passed. --- byo run-tests: bin/ysh +o no_exported stdlib/ysh/yblocks-test.ysh test-yb-capture stdlib/ysh/yblocks-test.ysh:32: errexit PID 9879: command.Simple failed with status 99 zzz aaa stdlib/ysh/yblocks-test.ysh:38: errexit PID 9880: command.Simple failed with status 99 OK test-yb-redir-not-needed OK devtools/byo.sh: 2 tests passed. --- byo run-tests: bin/ysh +o no_exported stdlib/ysh/stream.ysh test-each-j8-line (List) ["z1","z2","z3"] OK test-each-line TODO: need basic test runner OK test-if-match z 30 foo z z 42 bar z count = 2 OK test-if-match-2 TEMPLATE TEMPLATE TEMPLATE TEMPLATE OK test-slurp-by ["1","2","3"] ["4","5","6"] ["7","8"] OK test-split-by pp (parts) ^ stdlib/ysh/stream.ysh:121: (List) ['prefix', '30', 'foo', ''] z | prefix 30 foo | prefix | z pp (parts) ^ stdlib/ysh/stream.ysh:121: (List) ['oils'] z | oils | oils | z pp (parts) ^ stdlib/ysh/stream.ysh:121: (List) ['///', '42', 'bar'] z | /// 42 bar | /// | z count = 3 OK devtools/byo.sh: 6 tests passed. --- byo run-tests: bin/ysh +o no_exported stdlib/ysh/table.ysh test-table OK devtools/byo.sh: 1 tests passed. --- byo run-tests: bin/ysh +o no_exported demo/rich-history.ysh test-foo hi OK devtools/byo.sh: 1 tests passed. --- byo run-tests: stdlib/osh/two-test.sh test-die stdlib/osh/two-test.sh: fatal: bad OK test-log OK devtools/byo.sh: 2 tests passed. --- byo run-tests: stdlib/osh/no-quotes-test.sh test-nq-capture zzz aaa OK test-nq-redir OK test-nq-run OK devtools/byo.sh: 3 tests passed. --- byo run-tests: stdlib/osh/byo-server-test.sh test-bash-print-funcs OK devtools/byo.sh: 1 tests passed. --- byo run-tests: bin/osh stdlib/osh/two-test.sh test-die stdlib/osh/two-test.sh: fatal: bad OK test-log 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 1266, in Main cmd_flags=cmd_eval.IsMainProgram) File "/home/uke/oil/core/main_loop.py", line 336, in Batch was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags) File "/home/uke/oil/core/main_loop.py", line 401, in Batch2 is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags) File "/home/uke/oil/osh/cmd_eval.py", line 2285, in ExecuteAndCatch status = self._Execute(node) File "/home/uke/oil/osh/cmd_eval.py", line 2084, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1811, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1108, in _DoSimple status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags) File "/home/uke/oil/osh/cmd_eval.py", line 744, in _RunSimpleCommand run_flags) File "/home/uke/oil/core/vm.py", line 234, in RunSimpleCommand run_flags) File "/home/uke/oil/core/executor.py", line 420, in _RunSimpleCommand cmd_val) File "/home/uke/oil/core/vm.py", line 312, in _RunInvokable status = self.cmd_ev.RunProc(proc, cmd_val) File "/home/uke/oil/osh/cmd_eval.py", line 2499, in RunProc status = self._Execute(proc.body) File "/home/uke/oil/osh/cmd_eval.py", line 2084, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1930, in _Dispatch status = self._ExecuteList(node.children) File "/home/uke/oil/osh/cmd_eval.py", line 2161, in _ExecuteList status = self._Execute(child) File "/home/uke/oil/osh/cmd_eval.py", line 2084, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1811, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1108, in _DoSimple status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags) File "/home/uke/oil/osh/cmd_eval.py", line 744, in _RunSimpleCommand run_flags) File "/home/uke/oil/core/vm.py", line 234, in RunSimpleCommand run_flags) File "/home/uke/oil/core/executor.py", line 420, in _RunSimpleCommand cmd_val) File "/home/uke/oil/core/vm.py", line 312, in _RunInvokable status = self.cmd_ev.RunProc(proc, cmd_val) File "/home/uke/oil/osh/cmd_eval.py", line 2499, in RunProc status = self._Execute(proc.body) File "/home/uke/oil/osh/cmd_eval.py", line 2084, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1930, in _Dispatch status = self._ExecuteList(node.children) File "/home/uke/oil/osh/cmd_eval.py", line 2161, in _ExecuteList status = self._Execute(child) File "/home/uke/oil/osh/cmd_eval.py", line 2084, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1959, in _Dispatch status = self._DoCase(node) File "/home/uke/oil/osh/cmd_eval.py", line 1644, in _DoCase status = self._ExecuteList(case_arm.action) File "/home/uke/oil/osh/cmd_eval.py", line 2161, in _ExecuteList status = self._Execute(child) File "/home/uke/oil/osh/cmd_eval.py", line 2084, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1811, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1108, in _DoSimple status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags) File "/home/uke/oil/osh/cmd_eval.py", line 744, in _RunSimpleCommand run_flags) File "/home/uke/oil/core/vm.py", line 234, in RunSimpleCommand run_flags) File "/home/uke/oil/core/executor.py", line 420, in _RunSimpleCommand cmd_val) File "/home/uke/oil/core/vm.py", line 312, in _RunInvokable status = self.cmd_ev.RunProc(proc, cmd_val) File "/home/uke/oil/osh/cmd_eval.py", line 2499, in RunProc status = self._Execute(proc.body) File "/home/uke/oil/osh/cmd_eval.py", line 2084, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1930, in _Dispatch status = self._ExecuteList(node.children) File "/home/uke/oil/osh/cmd_eval.py", line 2161, in _ExecuteList status = self._Execute(child) File "/home/uke/oil/osh/cmd_eval.py", line 2084, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1811, in _Dispatch status = self._DoSimple(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1108, in _DoSimple status = self._RunSimpleCommand(cmd_val, cmd_st, run_flags) File "/home/uke/oil/osh/cmd_eval.py", line 744, in _RunSimpleCommand run_flags) File "/home/uke/oil/core/vm.py", line 234, in RunSimpleCommand run_flags) File "/home/uke/oil/core/executor.py", line 420, in _RunSimpleCommand cmd_val) File "/home/uke/oil/core/vm.py", line 312, in _RunInvokable status = self.cmd_ev.RunProc(proc, cmd_val) File "/home/uke/oil/osh/cmd_eval.py", line 2499, in RunProc status = self._Execute(proc.body) File "/home/uke/oil/osh/cmd_eval.py", line 2084, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1930, in _Dispatch status = self._ExecuteList(node.children) File "/home/uke/oil/osh/cmd_eval.py", line 2161, in _ExecuteList status = self._Execute(child) File "/home/uke/oil/osh/cmd_eval.py", line 2084, in _Execute status = self._Dispatch(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1821, in _Dispatch status = self._DoShAssignment(node, cmd_st) File "/home/uke/oil/osh/cmd_eval.py", line 1177, in _DoShAssignment rhs = self.word_ev.EvalRhsWord(pair.rhs) File "/home/uke/oil/osh/word_eval.py", line 2188, in EvalRhsWord return self.EvalWordToString(w) File "/home/uke/oil/osh/word_eval.py", line 2097, in EvalWordToString self._EvalWordPart(p, part_vals, 0) File "/home/uke/oil/osh/word_eval.py", line 1875, in _EvalWordPart quoted) # type: part_value_t File "/home/uke/oil/osh/word_eval.py", line 2623, in _EvalCommandSub stdout_str = self.shell_ex.RunCommandSub(cs_part) File "/home/uke/oil/core/executor.py", line 693, in RunCommandSub status, stdout_str, stderr_str = self.CaptureStdout(node) File "/home/uke/oil/core/executor.py", line 621, in CaptureStdout fds = pyos.WaitForInputs([r, r2]) File "/home/uke/oil/core/pyos.py", line 288, in WaitForInputs r, w, exc = select.select(fd, [], [fd]) TypeError: argument must be an int, or have a fileno() method FAIL with status 1