Results for case_.test.sh

statusbashdashmkshzshosh
pass 139111010
ok 00111
N-I 03010
BUG 01110
FAIL 00002
total1313131313
casebashdashmkshzshoshdescription
0pass pass pass pass pass Case statement
1pass N-I pass N-I pass Case statement with ;;&
detailsdetails
2pass N-I pass pass pass Case statement with ;&
details
3pass pass pass pass pass Case with empty condition
4pass pass pass pass pass Match a literal with a glob character
5pass pass pass BUG pass Match a literal with a glob character with a dynamic pattern
details
6pass pass pass pass pass Quoted literal in glob pattern
7pass pass pass pass pass Multiple Patterns Match
8pass BUG BUG pass FAIL Pattern ? matches 1 code point (many bytes), but not multiple code points
detailsdetailsdetails
9pass pass pass pass ok matching the byte 0xff against empty string - DISABLED - CI only bug?
details
10pass pass pass pass FAIL matching every byte against itself
details
11pass N-I pass pass pass \(\) in pattern (regression)
details
12pass pass ok ok pass case \n bug regression
detailsdetails
53 passed, 3 OK, 4 not implemented, 3 BUG, 2 failed, 0 timeouts, 0 cases skipped
2 failed under osh

Details on runs that didn't PASS

dash1 Case statement with ;;&

stdout:
stderr: 
dash: 3: Syntax error: newline unexpected (expecting ")")
zsh1 Case statement with ;;&

stdout:
stderr: 
zsh: parse error near `&'
zsh: parse error near `)'
zsh: parse error near `)'
zsh: parse error near `esac'
dash2 Case statement with ;&

stdout:
stderr: 
dash: 3: Syntax error: "&" unexpected
zsh5 Match a literal with a glob character with a dynamic pattern

stdout:
stderr: 
dash8 Pattern ? matches 1 code point (many bytes), but not multiple code points

stdout:
yes
no
no
stderr:
mksh8 Pattern ? matches 1 code point (many bytes), but not multiple code points

stdout:
yes
no
no
stderr:
osh8 Pattern ? matches 1 code point (many bytes), but not multiple code points

[osh stdout] Expected 'yes\nyes\nno\n', got ''
[osh status] Expected 0, got 1
[osh stderr] Found 'Traceback (most recent'

stdout:
stderr: 
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 1253, 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 2175, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1711, in _Dispatch
    status = self._DoShAssignment(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1028, in _DoShAssignment
    rhs = self.word_ev.EvalRhsWord(pair.rhs)
  File "/home/uke/oil/osh/word_eval.py", line 2194, in EvalRhsWord
    return self.EvalWordToString(w)
  File "/home/uke/oil/osh/word_eval.py", line 2103, in EvalWordToString
    self._EvalWordPart(p, part_vals, 0)
  File "/home/uke/oil/osh/word_eval.py", line 1873, in _EvalWordPart
    self._EvalDoubleQuoted(part.parts, part_vals)
  File "/home/uke/oil/osh/word_eval.py", line 1394, in _EvalDoubleQuoted
    self._EvalWordPart(p, part_vals, QUOTED)
  File "/home/uke/oil/osh/word_eval.py", line 1881, in _EvalWordPart
    quoted)  # type: part_value_t
  File "/home/uke/oil/osh/word_eval.py", line 2629, in _EvalCommandSub
    stdout_str = self.shell_ex.RunCommandSub(cs_part)
  File "/home/uke/oil/core/executor.py", line 691, in RunCommandSub
    status, stdout_str, stderr_str = self.CaptureStdout(node)
  File "/home/uke/oil/core/executor.py", line 619, in CaptureStdout
    fds, w, exc = select.select([r,r2], [], [r,r2], -1)
NameError: global name 'select' is not defined
osh9 matching the byte 0xff against empty string - DISABLED - CI only bug?

stdout:
soil-ci-buster-slim-bug
stderr:
osh10 matching every byte against itself

[osh stdout] Expected 'sum=255\n', got ''
[osh status] Expected 0, got 1
[osh stderr] Found 'Traceback (most recent'

stdout:
stderr: 
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 1253, 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 2175, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1861, in _Dispatch
    status = self._DoForEach(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 1261, in _DoForEach
    iter_list = self.word_ev.EvalWordSequence(words)
  File "/home/uke/oil/osh/word_eval.py", line 2598, in EvalWordSequence
    cmd_val = self.EvalWordSequence2(words, False)
  File "/home/uke/oil/osh/word_eval.py", line 2541, in EvalWordSequence2
    self._EvalWordToParts(w, part_vals, EXTGLOB_FILES)
  File "/home/uke/oil/osh/word_eval.py", line 1989, in _EvalWordToParts
    self._EvalWordPart(p, word_part_vals, eval_flags)
  File "/home/uke/oil/osh/word_eval.py", line 1881, in _EvalWordPart
    quoted)  # type: part_value_t
  File "/home/uke/oil/osh/word_eval.py", line 2629, in _EvalCommandSub
    stdout_str = self.shell_ex.RunCommandSub(cs_part)
  File "/home/uke/oil/core/executor.py", line 691, in RunCommandSub
    status, stdout_str, stderr_str = self.CaptureStdout(node)
  File "/home/uke/oil/core/executor.py", line 619, in CaptureStdout
    fds, w, exc = select.select([r,r2], [], [r,r2], -1)
NameError: global name 'select' is not defined
dash11 \(\) in pattern (regression)

stdout:
match
stderr:
mksh12 case \n bug regression

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: 'newline' unexpected
zsh12 case \n bug regression

stdout:
stderr: 
zsh: parse error near `\n'
zsh: command not found: in