E....(1, 0, 'Env binding in readonly/declare disallowed') (2, 4, 'FOO=foo readonly v=$(tests/printenv.py FOO)\n') (3, 4, 'echo "v=$v"\n') (6, 1, ('OK', 'bash/dash/mksh', 'stdout', 'v=None\n')) (7, 1, ('OK', 'bash/dash/mksh', 'status', '0')) (8, 1, (None, None, 'status', '2')) (9, 5, '') (1, 0, 'Multiline test case') (2, 4, 'echo one\n') (3, 4, 'echo two\n') (4, 1, (None, None, 'status', '1')) (5, 1, (None, None, 'stderr-json', '""')) (6, 2, (None, None, 'STDOUT', '')) (7, 4, 'one\n') (8, 4, 'two\n') (9, 2, ('OK', 'dash', 'STDOUT', '')) (10, 4, 'dash1\n') (11, 4, 'dash2\n') (12, 3, None) (13, 2, ('OK', 'mksh', 'STDOUT', '')) (14, 4, 'mksh1\n') (15, 4, 'mksh2\n') (16, 3, None) (17, 5, '') [, , ] (1, 0, 'Env binding in readonly/declare disallowed') (2, 4, 'FOO=foo readonly v=$(tests/printenv.py FOO)\n') (3, 4, 'echo "v=$v"\n') (6, 1, ('OK', 'bash/dash/mksh', 'stdout', 'v=None\n')) (7, 1, ('OK', 'bash/dash/mksh', 'status', '0')) (8, 1, (None, None, 'status', '2')) (9, 5, '') (1, 0, 'Multiline test case') (2, 4, 'echo one\n') (3, 4, 'echo two\n') (4, 1, (None, None, 'status', '1')) (5, 1, (None, None, 'stderr-json', '""')) (6, 2, (None, None, 'STDOUT', '')) (7, 4, 'one\n') (8, 4, 'two\n') (9, 2, ('OK', 'dash', 'STDOUT', '')) (10, 4, 'dash1\n') (11, 4, 'dash2\n') (12, 3, None) (13, 2, ('OK', 'mksh', 'STDOUT', '')) (14, 4, 'mksh1\n') (15, 4, 'mksh2\n') (16, 3, None) (17, 5, '') [('osh', 'bin/osh'), ('osh_ALT', '_bin/osh')] [('osh', 'bin/osh'), ('osh-cpp', '_bin/cxx-dbg/osh')] [('osh', 'bin/osh'), ('osh-cpp', '_bin/cxx-dbg-sh/osh')] (1, 0, 'Env binding in readonly/declare disallowed') (2, 4, 'FOO=foo readonly v=$(tests/printenv.py FOO)\n') (3, 4, 'echo "v=$v"\n') (6, 1, ('OK', 'bash/dash/mksh', 'stdout', 'v=None\n')) (7, 1, ('OK', 'bash/dash/mksh', 'status', '0')) (8, 1, (None, None, 'status', '2')) (9, 5, '') (1, 0, 'Multiline test case') (2, 4, 'echo one\n') (3, 4, 'echo two\n') (4, 1, (None, None, 'status', '1')) (5, 1, (None, None, 'stderr-json', '""')) (6, 2, (None, None, 'STDOUT', '')) (7, 4, 'one\n') (8, 4, 'two\n') (9, 2, ('OK', 'dash', 'STDOUT', '')) (10, 4, 'dash1\n') (11, 4, 'dash2\n') (12, 3, None) (13, 2, ('OK', 'mksh', 'STDOUT', '')) (14, 4, 'mksh1\n') (15, 4, 'mksh2\n') (16, 3, None) (17, 5, '') CASE1 {'bash': {'qualifier': 'OK', 'status': '0', 'stdout': 'v=None\n'}, 'code': 'FOO=foo readonly v=$(tests/printenv.py FOO)\necho "v=$v"\n', 'dash': {'qualifier': 'OK', 'status': '0', 'stdout': 'v=None\n'}, 'desc': 'Env binding in readonly/declare disallowed', 'line_num': 1, 'mksh': {'qualifier': 'OK', 'status': '0', 'stdout': 'v=None\n'}, 'status': '2'} () CASE2 {'code': 'echo one\necho two\n', 'dash': {'qualifier': 'OK', 'stdout': 'dash1\ndash2\n'}, 'desc': 'Multiline test case', 'line_num': 1, 'mksh': {'qualifier': 'OK', 'stdout': 'mksh1\nmksh2\n'}, 'status': '1', 'stderr-json': '""', 'stdout': 'one\ntwo\n'} () [, , , ] (1, 0, 'Env binding in readonly/declare disallowed') (2, 4, 'FOO=foo readonly v=$(tests/printenv.py FOO)\n') (3, 4, 'echo "v=$v"\n') (6, 1, ('OK', 'bash/dash/mksh', 'stdout', 'v=None\n')) (7, 1, ('OK', 'bash/dash/mksh', 'status', '0')) (8, 1, (None, None, 'status', '2')) (9, 5, '') (1, 0, 'Multiline test case') (2, 4, 'echo one\n') (3, 4, 'echo two\n') (4, 1, (None, None, 'status', '1')) (5, 1, (None, None, 'stderr-json', '""')) (6, 2, (None, None, 'STDOUT', '')) (7, 4, 'one\n') (8, 4, 'two\n') (9, 2, ('OK', 'dash', 'STDOUT', '')) (10, 4, 'dash1\n') (11, 4, 'dash2\n') (12, 3, None) (13, 2, ('OK', 'mksh', 'STDOUT', '')) (14, 4, 'mksh1\n') (15, 4, 'mksh2\n') (16, 3, None) (17, 5, '') '\x1b[1mcase\tline\tbash\tosh\t\x1b[0;0m\n 0\t 1\t\x1b[31m\x1b[1mFAIL\x1b[0;0m\t\x1b[31m\x1b[1mFAIL\x1b[0;0m\tEnv binding in readonly/declare disallowed\n' (1, 0, 'Env binding in readonly/declare disallowed') (2, 4, 'FOO=foo readonly v=$(tests/prin. ====================================================================== ERROR: testSuccessOrFailure (__main__.FunctionsTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/uke/oil/test/sh_spec_test.py", line 164, in testSuccessOrFailure status = sh_spec._SuccessOrFailure('foo', 0, stats) TypeError: _SuccessOrFailure() takes exactly 2 arguments (3 given) ---------------------------------------------------------------------- Ran 6 tests in 0.067s FAILED (errors=1) tenv.py FOO)\n') (3, 4, 'echo "v=$v"\n') (6, 1, ('OK', 'bash/dash/mksh', 'stdout', 'v=None\n')) (7, 1, ('OK', 'bash/dash/mksh', 'status', '0')) (8, 1, (None, None, 'status', '2')) (9, 5, '') (1, 0, 'Multiline test case') (2, 4, 'echo one\n') (3, 4, 'echo two\n') (4, 1, (None, None, 'status', '1')) (5, 1, (None, None, 'stderr-json', '""')) (6, 2, (None, None, 'STDOUT', '')) (7, 4, 'one\n') (8, 4, 'two\n') (9, 2, ('OK', 'dash', 'STDOUT', '')) (10, 4, 'dash1\n') (11, 4, 'dash2\n') (12, 3, None) (13, 2, ('OK', 'mksh', 'STDOUT', '')) (14, 4, 'mksh1\n') (15, 4, 'mksh2\n') (16, 3, None) (17, 5, '')