spec test index / oilshell.org
33 passed, 10 OK, 1 not implemented, 0 BUG, 5 failed, 0 timeouts, 0 cases skipped 5 failed under osh
osh | 2 Case Folding of Unicode Characters [osh stdout] Expected 'u \xc3\x80\xc3\x88\nU \xc3\x80\xc3\x88\nl \xc3\xa0\xc3\x88\nL \xc3\xa0\xc3\xa8\nu \xc3\x81\xc3\xa9\nU \xc3\x81\xc3\x89\nl \xc3\xa1\xc3\xa9\nL \xc3\xa1\xc3\xa9\n' Got 'u \xc3\x80\xc3\x88\nU \xc3\x80\xc3\x88\nl \xc3\x80\xc3\x88\nL \xc3\x80\xc3\x88\nu \xc3\xa1\xc3\xa9\nU \xc3\xa1\xc3\xa9\nl \xc3\xa1\xc3\xa9\nL \xc3\xa1\xc3\xa9\n' stdout: u ÀÈ U ÀÈ l ÀÈ L ÀÈ u áé U áé l áé L áéstderr: |
osh_ALT | 2 Case Folding of Unicode Characters [osh_ALT stdout] Expected 'u \xc3\x80\xc3\x88\nU \xc3\x80\xc3\x88\nl \xc3\xa0\xc3\x88\nL \xc3\xa0\xc3\xa8\nu \xc3\x81\xc3\xa9\nU \xc3\x81\xc3\x89\nl \xc3\xa1\xc3\xa9\nL \xc3\xa1\xc3\xa9\n' Got 'u \xc3\x80\xc3\x88\nU \xc3\x80\xc3\x88\nl \xc3\x80\xc3\x88\nL \xc3\x80\xc3\x88\nu \xc3\xa1\xc3\xa9\nU \xc3\xa1\xc3\xa9\nl \xc3\xa1\xc3\xa9\nL \xc3\xa1\xc3\xa9\n' stdout: u ÀÈ U ÀÈ l ÀÈ L ÀÈ u áé U áé l áé L áéstderr: |
osh | 3 Lower Case with constant string (VERY WEIRD) [osh stdout] Expected 'aAA ABC DEF\naaa aBC DEF\n', got '' [osh status] Expected 0, got 1 stdout: stderr: echo ${x,A} ^ [ stdin ]:2: fatal: Id.VOp1_Comma can't have an argument |
osh_ALT | 3 Lower Case with constant string (VERY WEIRD) [osh_ALT stdout] Expected 'aAA ABC DEF\naaa aBC DEF\n', got '' [osh_ALT status] Expected 0, got 1 stdout: stderr: echo ${x,A} ^ [ stdin ]:2: fatal: Id.VOp1_Comma can't have an argument |
osh | 4 Lower Case glob [osh stdout] Expected 'ABC DEF\nABC deF\n', got '' [osh status] Expected 0, got 1 [osh stderr] Found 'Traceback (most recent' stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/oils_for_unix.py", line 224, in <module> sys.exit(main(sys.argv)) File "/home/andy/git/oilshell/oil/bin/oils_for_unix.py", line 199, in main return AppBundleMain(argv) File "/home/andy/git/oilshell/oil/bin/oils_for_unix.py", line 146, in AppBundleMain return shell.Main('osh', arg_r, environ, login_shell, loader, readline) File "/home/andy/git/oilshell/oil/core/shell.py", line 830, in Main cmd_flags=cmd_eval.IsMainProgram) File "/home/andy/git/oilshell/oil/core/main_loop.py", line 347, in Batch is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags=cmd_flags) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1709, in ExecuteAndCatch status = self._Execute(node) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1533, in _Execute status = self._Dispatch(node, cmd_st) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 696, in _Dispatch cmd_val = self.word_ev.EvalWordSequence2(words, allow_assign=True) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 2115, in EvalWordSequence2 self._EvalWordToParts(w, part_vals, EXTGLOB_FILES) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1655, in _EvalWordToParts self._EvalWordPart(p, word_part_vals, eval_flags) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1549, in _EvalWordPart self._EvalBracedVarSub(part, part_vals, quoted) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1307, in _EvalBracedVarSub val = self._ApplyUnarySuffixOp(val, op) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 770, in _ApplyUnarySuffixOp s = string_ops.DoUnarySuffixOp(val.s, op.op, arg_val.s, has_extglob) File "/home/andy/git/oilshell/oil/osh/string_ops.py", line 360, in DoUnarySuffixOp raise NotImplementedError(ui.PrettyId(id_)) NotImplementedError: Id.VOp1_Comma |
osh_ALT | 4 Lower Case glob [osh_ALT stdout] Expected 'ABC DEF\nABC deF\n', got '' [osh_ALT status] Expected 0, got 1 [osh_ALT stderr] Found 'Traceback (most recent' stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/oil.py", line 32, in _cpython_main_hook sys.exit(oils_for_unix.main(sys.argv)) File "/home/andy/git/oilshell/oil/bin/oils_for_unix.py", line 199, in main return AppBundleMain(argv) File "/home/andy/git/oilshell/oil/bin/oils_for_unix.py", line 146, in AppBundleMain return shell.Main('osh', arg_r, environ, login_shell, loader, readline) File "/home/andy/git/oilshell/oil/core/shell.py", line 830, in Main cmd_flags=cmd_eval.IsMainProgram) File "/home/andy/git/oilshell/oil/core/main_loop.py", line 355, in Batch return status File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1709, in ExecuteAndCatch status = self._Execute(node) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1533, in _Execute status = self._Dispatch(node, cmd_st) File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 765, in _Dispatch status = self._Execute(node.child) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 2115, in EvalWordSequence2 self._EvalWordToParts(w, part_vals, EXTGLOB_FILES) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1655, in _EvalWordToParts self._EvalWordPart(p, word_part_vals, eval_flags) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1549, in _EvalWordPart self._EvalBracedVarSub(part, part_vals, quoted) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1311, in _EvalBracedVarSub val = self._PatSub(val, op) File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 770, in _ApplyUnarySuffixOp s = string_ops.DoUnarySuffixOp(val.s, op.op, arg_val.s, has_extglob) File "/home/andy/git/oilshell/oil/osh/string_ops.py", line 360, in DoUnarySuffixOp raise NotImplementedError(ui.PrettyId(id_)) NotImplementedError: Id.VOp1_Comma FATAL: couldn't import from app bundle '/home/andy/git/oilshell/oil/_tmp/oil-tar-test/oil-0.15.0/_bin/osh' (1) Stripping the oil.ovm binary may cause this error. See https://github.com/oilshell/oil/issues/47 |
bash | 5 ${x@u} U l L upper / lower case (bash 5.1 feature) stdout: stderr: bash: line 2: ${x@u}: bad substitution |
osh | 5 ${x@u} U l L upper / lower case (bash 5.1 feature) [osh status] Expected 0, got 2 stdout: stderr: echo "${x@u}" ^ [ stdin ]:2: Unexpected token in ${} (VOp3) |
osh_ALT | 5 ${x@u} U l L upper / lower case (bash 5.1 feature) [osh_ALT status] Expected 0, got 2 stdout: stderr: echo "${x@u}" ^ [ stdin ]:2: Unexpected token in ${} (VOp3) |
osh | 7 ${array@Q} and ${array[@]@Q} stdout: x $'y\\nz' x xstderr: |
osh_ALT | 7 ${array@Q} and ${array[@]@Q} stdout: x $'y\\nz' x xstderr: |
osh | 12 undef and @P @Q @a stdout: status=0 '' status=0 status=0stderr: |
osh_ALT | 12 undef and @P @Q @a stdout: status=0 '' status=0 status=0stderr: |
osh | 13 argv array and @P @Q @a stdout: status=1 a $'b\\nc' status=0 a status=0stderr: echo ${@@P} ^~~~ [ -c flag ]:1: fatal: Can't use @P on value.MaybeStrArray |
osh_ALT | 13 argv array and @P @Q @a stdout: status=1 a $'b\\nc' status=0 a status=0stderr: echo ${@@P} ^~~~ [ -c flag ]:1: fatal: Can't use @P on value.MaybeStrArray |
osh | 14 assoc array and @P @Q @a stdout: status=1 status=1 A - A status=0stderr: declare -A A=(["x"]="y"); echo ${A@P} - ${A[@]@P} ^~~~ [ -c flag ]:1: fatal: Can't use @P on value.AssocArray declare -A A=(["x"]="y"); echo ${A@Q} - ${A[@]@Q} ^~~~ [ -c flag ]:1: fatal: Can't use @Q on value.AssocArray |
osh_ALT | 14 assoc array and @P @Q @a stdout: status=1 status=1 A - A status=0stderr: declare -A A=(["x"]="y"); echo ${A@P} - ${A[@]@P} ^~~~ [ -c flag ]:1: fatal: Can't use @P on value.AssocArray declare -A A=(["x"]="y"); echo ${A@Q} - ${A[@]@Q} ^~~~ [ -c flag ]:1: fatal: Can't use @Q on value.AssocArray |
osh | 15 ${!var[@]@X} stdout: fail 'x y' astderr: declare -A A=(["x"]="y"); echo ${!A[@]@P} ^~~~ [ -c flag ]:1: fatal: Can't use @P on value.MaybeStrArray |
osh_ALT | 15 ${!var[@]@X} stdout: fail 'x y' astderr: declare -A A=(["x"]="y"); echo ${!A[@]@P} ^~~~ [ -c flag ]:1: fatal: Can't use @P on value.MaybeStrArray |
osh | 17 ${!A@a} and ${!A[@]@a} [osh stdout] Expected 'x=\nx=\n', got 'x=a\n' [osh status] Expected 0, got 1 stdout: x=astderr: echo x=${!A@a} ^~~~ [ stdin ]:3: fatal: Indirect expansion of assoc array |
osh_ALT | 17 ${!A@a} and ${!A[@]@a} [osh_ALT stdout] Expected 'x=\nx=\n', got 'x=a\n' [osh_ALT status] Expected 0, got 1 stdout: x=astderr: echo x=${!A@a} ^~~~ [ stdin ]:3: fatal: Indirect expansion of assoc array |