Results for quote.test.sh

statusdashbashmkshashosh
pass 2232263132
ok 11310
N-I 81220
BUG 30300
FAIL 00002
total3434343434
casedashbashmkshashoshdescription
0pass pass pass pass pass Unquoted words
1pass pass pass pass pass Single-quoted
2pass pass pass pass pass Two single-quoted parts
3pass pass pass pass pass Unquoted and single quoted
4pass pass pass pass pass newline inside single-quoted string
5pass pass pass pass pass Double-quoted
6pass pass pass pass pass Mix of quotes in one word
7pass pass pass pass pass Var substitution
8pass pass pass pass pass Var substitution with braces
9pass pass pass pass pass Var substitution with braces, quoted
10pass pass pass pass pass Var length
11BUG pass BUG pass FAIL Storing backslashes and then echoing them
detailsdetailsdetails
12pass pass pass pass pass Backslash escapes
13pass pass pass pass pass Backslash escapes inside double quoted string
14BUG pass BUG pass pass C-style backslash escapes inside double quoted string
detailsdetails
15pass pass pass pass pass Literal $
16pass pass pass pass pass Quoted Literal $
17pass pass pass pass pass Line continuation
18pass pass pass pass pass Line continuation inside double quotes
19ok ok ok ok pass $? split over multiple lines
detailsdetailsdetailsdetails
20pass pass ok pass pass Unterminated single quote
details
21pass pass ok pass pass Unterminated double quote
details
22pass pass pass pass pass Semicolon
23BUG pass BUG pass pass No tab escapes within single quotes
detailsdetails
24N-I pass pass pass pass $''
details
25N-I pass pass pass pass $'' with quotes
details
26N-I pass pass pass pass $'' with newlines
details
27N-I pass pass pass pass $'' octal escapes don't have leading 0
details
28N-I pass pass pass pass $'' octal escapes with fewer than 3 chars
details
29N-I pass N-I pass FAIL OSH allows invalid backslashes
detailsdetailsdetails
30N-I N-I N-I N-I pass YSH parse errors with parse_backslash
detailsdetailsdetailsdetails
31pass pass pass pass pass Oil allows unquoted foo\ bar
32N-I pass pass N-I pass $""
detailsdetails
33pass pass pass pass pass printf
143 passed, 6 OK, 13 not implemented, 6 BUG, 2 failed, 0 timeouts, 0 cases skipped
2 failed under osh

Details on runs that didn't PASS

dash11 Storing backslashes and then echoing them

stdout:
\ \
\ \
stderr:
mksh11 Storing backslashes and then echoing them

stdout:
\ \
\ \
stderr:
osh11 Storing backslashes and then echoing them

[osh stdout] Expected '\\ \\\\\n\\ \\\\\n', got '\\ \\\n\\ \\\\\n'

stdout:
\ \
\ \\
stderr:
dash14 C-style backslash escapes inside double quoted string

stdout:
 
stderr:
mksh14 C-style backslash escapes inside double quoted string

stdout:
 
stderr:
dash19 $? split over multiple lines

stdout:
0
stderr:
bash19 $? split over multiple lines

stdout:
0
stderr:
mksh19 $? split over multiple lines

stdout:
0
stderr:
ash19 $? split over multiple lines

stdout:
0
stderr:
mksh20 Unterminated single quote

stdout:
stderr: 
mksh: <stdin>[2]: no closing quote
mksh21 Unterminated double quote

stdout:
stderr: 
mksh: <stdin>[2]: no closing quote
dash23 No tab escapes within single quotes

stdout:
a	b
stderr:
mksh23 No tab escapes within single quotes

stdout:
a	b
stderr:
dash24 $''

stdout:
$foo
stderr:
dash25 $'' with quotes

stdout:
stderr: 
dash: 2: Syntax error: Unterminated quoted string
dash26 $'' with newlines

stdout:
$col1
col2
col3
stderr:
dash27 $'' octal escapes don't have leading 0

stdout:
 $ 001 $ 377
stderr:
dash28 $'' octal escapes with fewer than 3 chars

stdout:
 $ 001 \t \t I \n
stderr:
dash29 OSH allows invalid backslashes

stdout:
stderr: 
mksh29 OSH allows invalid backslashes

stdout:
stderr: 
osh29 OSH allows invalid backslashes

[osh stdout] Expected '\\uZ \\u{03bc \\z\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 1701, in _Dispatch
    status = self._DoSimple(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 904, in _DoSimple
    allow_assign=True)
  File "/home/uke/oil/osh/word_eval.py", line 2602, in EvalWordSequence2
    self._EvalWordFrame(frame, strs)
  File "/home/uke/oil/osh/word_eval.py", line 2310, in _EvalWordFrame
    argv.append(glob_.GlobUnescape(frag))
  File "/home/uke/oil/osh/glob_.py", line 139, in GlobUnescape
    raise AssertionError("Unexpected escaped character %r" % c2)
AssertionError: Unexpected escaped character 117
dash30 YSH parse errors with parse_backslash

stdout:
stderr: 
bash30 YSH parse errors with parse_backslash

stdout:
stderr: 
mksh30 YSH parse errors with parse_backslash

stdout:
stderr: 
ash30 YSH parse errors with parse_backslash

stdout:
stderr: 
dash32 $""

stdout:
$foo
stderr:
ash32 $""

stdout:
$foo
stderr: