Results for var-op-other.test.sh

casedashbashmkshzshoshosh_ALTosh-byterundescription
0pass pass pass pass pass pass pass String length
1N-I pass N-I pass pass pass pass Unicode string length (UTF-8)
detailsdetails
2N-I pass N-I pass pass pass pass Unicode string length (spec/testdata/utf8-chars.txt)
detailsdetails
3N-I BUG N-I BUG pass pass pass String length with incomplete utf-8
detailsdetailsdetailsdetails
4N-I BUG N-I BUG pass pass pass String length with invalid utf-8 continuation bytes
detailsdetailsdetailsdetails
5pass pass pass pass pass pass pass Length of undefined variable
6ok pass pass pass pass pass pass Length of undefined variable with nounset
details
7N-I pass pass ok ok ok ok Cannot take length of substring slice
detailsdetailsdetailsdetailsdetails
8N-I pass pass pass pass pass pass Pattern replacement
details
9N-I pass BUG pass pass pass pass Pattern replacement on unset variable
detailsdetails
10N-I pass pass pass pass pass pass Global Pattern replacement with /
details
11N-I pass pass pass pass pass pass Left Anchored Pattern replacement with #
details
12N-I pass pass pass pass pass pass Right Anchored Pattern replacement with %
details
13N-I pass pass pass pass pass pass Replace fixed strings
details
14N-I pass pass pass pass pass pass Replace is longest match
details
15N-I pass N-I pass pass pass pass Replace char class
detailsdetails
16N-I pass pass pass pass pass pass Replace hard glob
details
17N-I BUG BUG BUG pass pass pass Pattern replacement ${v/} is not valid
detailsdetailsdetailsdetails
18N-I BUG BUG BUG pass pass pass Pattern replacement ${v//} is not valid
detailsdetailsdetailsdetails
19N-I pass pass pass pass pass pass ${v/a} is the same as ${v/a/} -- no replacement string
details
20N-I pass pass pass pass pass pass String slice
details
21N-I pass BUG pass pass pass pass Out of range string slice: begin
detailsdetails
22N-I pass BUG pass pass pass pass Out of range string slice: length
detailsdetails
23N-I pass pass pass ok ok ok String slice: negative begin
detailsdetailsdetailsdetails
24N-I pass BUG pass ok ok ok String slice: negative second arg is position, not length
detailsdetailsdetailsdetailsdetails
25N-I N-I N-I N-I pass pass pass strict-word-eval with string slice
detailsdetailsdetailsdetails
26N-I pass pass pass pass pass pass String slice with math
details
27N-I pass BUG pass pass pass pass Slice undefined
detailsdetails
28N-I pass BUG pass pass pass pass Slice UTF-8 String
detailsdetails
29N-I BUG BUG BUG pass pass pass Slice string with invalid UTF-8 results in empty string and warning
detailsdetailsdetailsdetails
30N-I N-I N-I N-I pass pass pass Slice string with invalid UTF-8 with strict-word-eval
detailsdetailsdetailsdetails
31N-I pass N-I N-I pass pass pass Lower Case with , and ,,
detailsdetailsdetails
32N-I pass N-I N-I pass pass pass Upper Case with ^ and ^^
detailsdetailsdetails
33N-I pass N-I N-I FAIL FAIL FAIL Lower Case with constant string (VERY WEIRD)
detailsdetailsdetailsdetailsdetailsdetails
34N-I pass N-I N-I FAIL FAIL FAIL Lower Case glob
detailsdetailsdetailsdetailsdetailsdetails

158 passed, 11 ok, 51 known unimplemented, 19 known bugs, 2 failed, 0 skipped

Details on runs that didn't PASS

dash1 Unicode string length (UTF-8)

stdout:
9
stderr:
mksh1 Unicode string length (UTF-8)

stdout:
4
stderr:
dash2 Unicode string length (spec/testdata/utf8-chars.txt)

stdout:
13
stderr:
mksh2 Unicode string length (spec/testdata/utf8-chars.txt)

stdout:
13
stderr:
dash3 String length with incomplete utf-8

stdout:
0
1
2
3
4
5
6
7
8
9
10
11
12
13
stderr:
bash3 String length with incomplete utf-8

stdout:
0
1
2
3
3
4
5
6
5
6
7
8
9
7
stderr:
mksh3 String length with incomplete utf-8

stdout:
0
1
2
3
4
5
6
7
8
9
10
11
12
13
stderr:
zsh3 String length with incomplete utf-8

stdout:
0
1
2
3
3
4
5
6
5
6
7
8
9
7
stderr:
dash4 String length with invalid utf-8 continuation bytes

stdout:
7
8
9
10
11
12
13
14
15
16
17
18
19
20
20
stderr:
bash4 String length with invalid utf-8 continuation bytes

stdout:
1
2
3
4
4
5
6
7
6
7
8
9
10
8
8
stderr:
mksh4 String length with invalid utf-8 continuation bytes

stdout:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
14
stderr:
zsh4 String length with invalid utf-8 continuation bytes

stdout:
1
2
3
4
4
5
6
7
6
7
8
9
10
8
8
stderr:
dash6 Length of undefined variable with nounset

stdout:
stderr: 
_tmp/spec-bin/dash: 2: undef: parameter not set
dash7 Cannot take length of substring slice

stdout:
5
stderr:
zsh7 Cannot take length of substring slice

stdout:
3
stderr:
osh7 Cannot take length of substring slice

stdout:
stderr: 
Line 2 of '<stdin>'
  echo ${#v:1:3}
           ^
Expected } after length expression, got ':'
osh_ALT7 Cannot take length of substring slice

stdout:
stderr: 
Line 2 of '<stdin>'
  echo ${#v:1:3}
           ^
Expected } after length expression, got ':'
osh-byterun7 Cannot take length of substring slice

stdout:
stderr: 
Line 2 of '<stdin>'
  echo ${#v:1:3}
           ^
Expected } after length expression, got ':'
dash8 Pattern replacement

stdout:
stderr: 
_tmp/spec-bin/dash: 2: Bad substitution
dash9 Pattern replacement on unset variable

stdout:
stderr: 
_tmp/spec-bin/dash: 1: Bad substitution
mksh9 Pattern replacement on unset variable

stdout:
--
status=0
--
stderr:
dash10 Global Pattern replacement with /

stdout:
stderr: 
_tmp/spec-bin/dash: 2: Bad substitution
dash11 Left Anchored Pattern replacement with #

stdout:
stderr: 
_tmp/spec-bin/dash: 2: Bad substitution
dash12 Right Anchored Pattern replacement with %

stdout:
stderr: 
_tmp/spec-bin/dash: 2: Bad substitution
dash13 Replace fixed strings

stdout:
stderr: 
_tmp/spec-bin/dash: 2: Bad substitution
dash14 Replace is longest match

stdout:
stderr: 
_tmp/spec-bin/dash: 2: Bad substitution
dash15 Replace char class

stdout:
stderr: 
_tmp/spec-bin/dash: 2: Bad substitution
mksh15 Replace char class

stdout:
xx_xx_xx xx_xx_xx
stderr:
dash16 Replace hard glob

stdout:
stderr: 
_tmp/spec-bin/dash: 2: Bad substitution
dash17 Pattern replacement ${v/} is not valid

stdout:
stderr: 
_tmp/spec-bin/dash: 2: Bad substitution
bash17 Pattern replacement ${v/} is not valid

stdout:
-abcde-
status=0
stderr:
mksh17 Pattern replacement ${v/} is not valid

stdout:
-abcde-
status=0
stderr:
zsh17 Pattern replacement ${v/} is not valid

stdout:
-abcde-
status=0
stderr:
dash18 Pattern replacement ${v//} is not valid

stdout:
stderr: 
_tmp/spec-bin/dash: 2: Bad substitution
bash18 Pattern replacement ${v//} is not valid

stdout:
-a/b/c-
status=0
stderr:
mksh18 Pattern replacement ${v//} is not valid

stdout:
-a/b/c-
status=0
stderr:
zsh18 Pattern replacement ${v//} is not valid

stdout:
-a/b/c-
status=0
stderr:
dash19 ${v/a} is the same as ${v/a/} -- no replacement string

stdout:
stderr: 
_tmp/spec-bin/dash: 2: Bad substitution
dash20 String slice

stdout:
stderr: 
_tmp/spec-bin/dash: 2: Bad substitution
dash21 Out of range string slice: begin

stdout:
stderr: 
_tmp/spec-bin/dash: 2: Bad substitution
mksh21 Out of range string slice: begin

stdout:
0
stderr:
dash22 Out of range string slice: length

stdout:
stderr: 
_tmp/spec-bin/dash: 2: Bad substitution
mksh22 Out of range string slice: length

stdout:
_defg
0
stderr:
dash23 String slice: negative begin

stdout:
stderr: 
_tmp/spec-bin/dash: 2: Bad substitution
osh23 String slice: negative begin

stdout:
stderr: 
osh warning: The start index of a string slice can't be negative: -4
osh_ALT23 String slice: negative begin

stdout:
stderr: 
osh warning: The start index of a string slice can't be negative: -4
osh-byterun23 String slice: negative begin

stdout:
stderr: 
osh warning: The start index of a string slice can't be negative: -4
dash24 String slice: negative second arg is position, not length

stdout:
stderr: 
_tmp/spec-bin/dash: 2: Bad substitution
mksh24 String slice: negative second arg is position, not length

stdout:
defg defg defg
stderr:
osh24 String slice: negative second arg is position, not length

stdout:
stderr: 
osh warning: The length of a string slice can't be negative: -1
osh warning: The length of a string slice can't be negative: -2
osh warning: The length of a string slice can't be negative: -3
osh_ALT24 String slice: negative second arg is position, not length

stdout:
stderr: 
osh warning: The length of a string slice can't be negative: -1
osh warning: The length of a string slice can't be negative: -2
osh warning: The length of a string slice can't be negative: -3
osh-byterun24 String slice: negative second arg is position, not length

stdout:
stderr: 
osh warning: The length of a string slice can't be negative: -1
osh warning: The length of a string slice can't be negative: -2
osh warning: The length of a string slice can't be negative: -3
dash25 strict-word-eval with string slice

stdout:
stderr: 
_tmp/spec-bin/dash: 1: set: Illegal option -o strict-word-eval
bash25 strict-word-eval with string slice

stdout:
slice
-bc-
stderr:
_tmp/spec-bin/bash: line 1: set: strict-word-eval: invalid option name
mksh25 strict-word-eval with string slice

stdout:
stderr: 
_tmp/spec-bin/mksh: <stdin>[1]: set: strict-word-eval: bad option
zsh25 strict-word-eval with string slice

stdout:
stderr: 
set: no such option: strict-word-eval
dash26 String slice with math

stdout:
stderr: 
_tmp/spec-bin/dash: 3: Bad substitution
dash27 Slice undefined

stdout:
stderr: 
_tmp/spec-bin/dash: 1: Bad substitution
mksh27 Slice undefined

stdout:
--
--
-done-
stderr:
dash28 Slice UTF-8 String

stdout:
stderr: 
_tmp/spec-bin/dash: 2: Bad substitution
mksh28 Slice UTF-8 String

stdout:
stderr:
dash29 Slice string with invalid UTF-8 results in empty string and warning

stdout:
stderr: 
_tmp/spec-bin/dash: 2: Bad substitution
bash29 Slice string with invalid UTF-8 results in empty string and warning

stdout:
-bcd-
stderr:
mksh29 Slice string with invalid UTF-8 results in empty string and warning

stdout:
-bcd-
stderr:
zsh29 Slice string with invalid UTF-8 results in empty string and warning

stdout:
-bcd-
stderr:
dash30 Slice string with invalid UTF-8 with strict-word-eval

stdout:
stderr: 
_tmp/spec-bin/dash: 1: set: Illegal option -o strict-word-eval
bash30 Slice string with invalid UTF-8 with strict-word-eval

stdout:
slice
-bcd-
stderr:
_tmp/spec-bin/bash: line 1: set: strict-word-eval: invalid option name
mksh30 Slice string with invalid UTF-8 with strict-word-eval

stdout:
stderr: 
_tmp/spec-bin/mksh: <stdin>[1]: set: strict-word-eval: bad option
zsh30 Slice string with invalid UTF-8 with strict-word-eval

stdout:
stderr: 
set: no such option: strict-word-eval
dash31 Lower Case with , and ,,

stdout:
stderr: 
_tmp/spec-bin/dash: 2: Bad substitution
mksh31 Lower Case with , and ,,

stdout:
stderr: 
_tmp/spec-bin/mksh: <stdin>[2]: ${x,}: bad substitution
zsh31 Lower Case with , and ,,

stdout:
stderr: 
zsh: bad substitution
dash32 Upper Case with ^ and ^^

stdout:
stderr: 
_tmp/spec-bin/dash: 2: Bad substitution
mksh32 Upper Case with ^ and ^^

stdout:
stderr: 
_tmp/spec-bin/mksh: <stdin>[2]: ${x^}: bad substitution
zsh32 Upper Case with ^ and ^^

stdout:
stderr: 
zsh: bad substitution
dash33 Lower Case with constant string (VERY WEIRD)

stdout:
stderr: 
_tmp/spec-bin/dash: 2: Bad substitution
mksh33 Lower Case with constant string (VERY WEIRD)

stdout:
stderr: 
_tmp/spec-bin/mksh: <stdin>[2]: ${x,A}: bad substitution
zsh33 Lower Case with constant string (VERY WEIRD)

stdout:
stderr: 
zsh: bad substitution
osh33 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: 
Traceback (most recent call last):
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 572, in <module>
    main(sys.argv)
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 545, in main
    sys.exit(AppBundleMain(argv))
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 519, in AppBundleMain
    status = ShellMain('osh', argv0, main_argv, login_shell)
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 349, in ShellMain
    status = main_loop.Batch(ex, c_parser, arena, nodes_out=nodes_out)
  File "/home/andy/git/oilshell/oil/core/main_loop.py", line 117, in Batch
    is_control_flow, is_fatal = ex.ExecuteAndCatch(node)
  File "/home/andy/git/oilshell/oil/osh/cmd_exec.py", line 1207, in ExecuteAndCatch
    status = self._Execute(node, fork_external=fork_external)
  File "/home/andy/git/oilshell/oil/osh/cmd_exec.py", line 1155, in _Execute
    status, check_errexit = self._Dispatch(node, fork_external)
  File "/home/andy/git/oilshell/oil/osh/cmd_exec.py", line 695, in _Dispatch
    argv = self.word_ev.EvalWordSequence(words)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1117, in EvalWordSequence
    return self._EvalWordSequence(words)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1090, in _EvalWordSequence
    self._EvalWordToParts(w, False, part_vals)  # not double quoted
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 891, in _EvalWordToParts
    self._EvalWordPart(p, part_vals, quoted=quoted)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 854, in _EvalWordPart
    self._EvalBracedVarSub(part, part_vals, quoted)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 666, in _EvalBracedVarSub
    val = self._ApplyUnarySuffixOp(val, part.suffix_op)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 432, in _ApplyUnarySuffixOp
    s = string_ops.DoUnarySuffixOp(val.s, op, arg_val.s)
  File "/home/andy/git/oilshell/oil/osh/string_ops.py", line 186, in DoUnarySuffixOp
    raise NotImplementedError("%s can't have an argument" % op.op_id)
NotImplementedError: VOp1_Comma can't have an argument
osh_ALT33 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: 
Traceback (most recent call last):
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 563, in _cpython_main_hook
    main(sys.argv)
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 545, in main
    sys.exit(AppBundleMain(argv))
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 519, in AppBundleMain
    status = ShellMain('osh', argv0, main_argv, login_shell)
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 349, in ShellMain
    status = main_loop.Batch(ex, c_parser, arena, nodes_out=nodes_out)
  File "/home/andy/git/oilshell/oil/core/main_loop.py", line 124, in Batch
    return ex.LastStatus()
  File "/home/andy/git/oilshell/oil/osh/cmd_exec.py", line 1207, in ExecuteAndCatch
    status = self._Execute(node, fork_external=fork_external)
  File "/home/andy/git/oilshell/oil/osh/cmd_exec.py", line 1155, in _Execute
    status, check_errexit = self._Dispatch(node, fork_external)
  File "/home/andy/git/oilshell/oil/osh/cmd_exec.py", line 1100, in _Dispatch
    libc.print_time(real, user, sys_)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1117, in EvalWordSequence
    return self._EvalWordSequence(words)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1090, in _EvalWordSequence
    self._EvalWordToParts(w, False, part_vals)  # not double quoted
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 891, in _EvalWordToParts
    self._EvalWordPart(p, part_vals, quoted=quoted)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 854, in _EvalWordPart
    self._EvalBracedVarSub(part, part_vals, quoted)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 677, in _EvalBracedVarSub
    replace_str = replace_val.s
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 432, in _ApplyUnarySuffixOp
    s = string_ops.DoUnarySuffixOp(val.s, op, arg_val.s)
  File "/home/andy/git/oilshell/oil/osh/string_ops.py", line 259, in DoUnarySuffixOp
    return s
NotImplementedError: VOp1_Comma can't have an argument
FATAL: couldn't import from app bundle '_tmp/oil-tar-test/oil-0.6.pre11/_bin/osh' (1)
Stripping the oil.ovm binary may cause this error.
See https://github.com/oilshell/oil/issues/47
osh-byterun33 Lower Case with constant string (VERY WEIRD)

[osh-byterun stdout] Expected 'aAA ABC DEF\naaa aBC DEF\n', got ''
[osh-byterun status] Expected 0, got 1

stdout:
stderr: 
FATAL: VOp1_Comma can't have an argument
dash34 Lower Case glob

stdout:
stderr: 
_tmp/spec-bin/dash: 2: Bad substitution
mksh34 Lower Case glob

stdout:
stderr: 
_tmp/spec-bin/mksh: <stdin>[2]: ${x,[d-f]}: bad substitution
zsh34 Lower Case glob

stdout:
stderr: 
zsh: bad substitution
osh34 Lower Case glob

[osh stdout] Expected 'ABC DEF\nABC deF\n', got ''
[osh status] Expected 0, got 1

stdout:
stderr: 
Traceback (most recent call last):
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 572, in <module>
    main(sys.argv)
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 545, in main
    sys.exit(AppBundleMain(argv))
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 519, in AppBundleMain
    status = ShellMain('osh', argv0, main_argv, login_shell)
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 349, in ShellMain
    status = main_loop.Batch(ex, c_parser, arena, nodes_out=nodes_out)
  File "/home/andy/git/oilshell/oil/core/main_loop.py", line 117, in Batch
    is_control_flow, is_fatal = ex.ExecuteAndCatch(node)
  File "/home/andy/git/oilshell/oil/osh/cmd_exec.py", line 1207, in ExecuteAndCatch
    status = self._Execute(node, fork_external=fork_external)
  File "/home/andy/git/oilshell/oil/osh/cmd_exec.py", line 1155, in _Execute
    status, check_errexit = self._Dispatch(node, fork_external)
  File "/home/andy/git/oilshell/oil/osh/cmd_exec.py", line 695, in _Dispatch
    argv = self.word_ev.EvalWordSequence(words)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1117, in EvalWordSequence
    return self._EvalWordSequence(words)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1090, in _EvalWordSequence
    self._EvalWordToParts(w, False, part_vals)  # not double quoted
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 891, in _EvalWordToParts
    self._EvalWordPart(p, part_vals, quoted=quoted)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 854, in _EvalWordPart
    self._EvalBracedVarSub(part, part_vals, quoted)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 666, in _EvalBracedVarSub
    val = self._ApplyUnarySuffixOp(val, part.suffix_op)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 432, in _ApplyUnarySuffixOp
    s = string_ops.DoUnarySuffixOp(val.s, op, arg_val.s)
  File "/home/andy/git/oilshell/oil/osh/string_ops.py", line 262, in DoUnarySuffixOp
    raise NotImplementedError("Can't use %s with pattern" % op.op_id)
NotImplementedError: Can't use VOp1_Comma with pattern
osh_ALT34 Lower Case glob

[osh_ALT stdout] Expected 'ABC DEF\nABC deF\n', got ''
[osh_ALT status] Expected 0, got 1

stdout:
stderr: 
Traceback (most recent call last):
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 563, in _cpython_main_hook
    main(sys.argv)
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 545, in main
    sys.exit(AppBundleMain(argv))
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 519, in AppBundleMain
    status = ShellMain('osh', argv0, main_argv, login_shell)
  File "/home/andy/git/oilshell/oil/bin/oil.py", line 349, in ShellMain
    status = main_loop.Batch(ex, c_parser, arena, nodes_out=nodes_out)
  File "/home/andy/git/oilshell/oil/core/main_loop.py", line 124, in Batch
    return ex.LastStatus()
  File "/home/andy/git/oilshell/oil/osh/cmd_exec.py", line 1207, in ExecuteAndCatch
    status = self._Execute(node, fork_external=fork_external)
  File "/home/andy/git/oilshell/oil/osh/cmd_exec.py", line 1155, in _Execute
    status, check_errexit = self._Dispatch(node, fork_external)
  File "/home/andy/git/oilshell/oil/osh/cmd_exec.py", line 1100, in _Dispatch
    libc.print_time(real, user, sys_)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1117, in EvalWordSequence
    return self._EvalWordSequence(words)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1090, in _EvalWordSequence
    self._EvalWordToParts(w, False, part_vals)  # not double quoted
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 891, in _EvalWordToParts
    self._EvalWordPart(p, part_vals, quoted=quoted)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 854, in _EvalWordPart
    self._EvalBracedVarSub(part, part_vals, quoted)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 677, in _EvalBracedVarSub
    replace_str = replace_val.s
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 432, in _ApplyUnarySuffixOp
    s = string_ops.DoUnarySuffixOp(val.s, op, arg_val.s)
  File "/home/andy/git/oilshell/oil/osh/string_ops.py", line 262, in DoUnarySuffixOp
    raise NotImplementedError("Can't use %s with pattern" % op.op_id)
NotImplementedError: Can't use VOp1_Comma with pattern
FATAL: couldn't import from app bundle '_tmp/oil-tar-test/oil-0.6.pre11/_bin/osh' (1)
Stripping the oil.ovm binary may cause this error.
See https://github.com/oilshell/oil/issues/47
osh-byterun34 Lower Case glob

[osh-byterun stdout] Expected 'ABC DEF\nABC deF\n', got ''
[osh-byterun status] Expected 0, got 1

stdout:
stderr: 
FATAL: Can't use VOp1_Comma with pattern