Results for quote.test.sh

casedashbashmkshoshdescription
0pass pass pass pass Unquoted words
1pass pass pass pass Single-quoted
2pass pass pass pass Two single-quoted parts
3pass pass pass pass Unquoted and single quoted
4pass pass pass pass newline inside single-quoted string
5pass pass pass pass Double-quoted
6pass pass pass pass Mix of quotes in one word
7pass pass pass pass Var substitution
8pass pass pass pass Var substitution with braces
9pass pass pass pass Var substitution with braces, quoted
10pass pass pass pass Var length
11pass pass pass FAIL Backslash escapes
details
12pass pass pass FAIL Backslash escapes inside double quoted string
details
13BUG pass BUG FAIL C-style backslash escapes inside double quoted string
detailsdetailsdetails
14pass pass pass pass Literal $
15pass pass pass pass Quoted Literal $
16pass pass pass pass Line continuation
17pass ok ok pass $? split over multiple lines
detailsdetails
18pass pass ok pass Unterminated single quote
details
19pass pass ok pass Unterminated double quote
details
20pass pass pass pass Semicolon
21BUG pass BUG pass No tab escapes within single quotes
detailsdetails
22N-I pass pass pass $''
details
23N-I pass pass FAIL $'' with newlines
detailsdetails
24N-I pass pass pass $""
details
25pass pass pass FAIL printf
details

88 passed, 4 ok, 3 known unimplemented, 4 known bugs, 5 failed, 0 skipped

Details on runs that didn't PASS

osh11 Backslash escapes

[osh stdout] Expected b'$ | a b c d \\\n', got b''

stdout:
stderr: 
Traceback (most recent call last):
  File "bin/osh", line 378, in <module>
    sys.exit(main(sys.argv))
  File "bin/osh", line 368, in main
    return OshMain(main_argv)
  File "bin/osh", line 327, in OshMain
    status, cflow = ex.Execute(node)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 659, in Execute
    argv = self.ev.EvalWords(node.words)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 791, in EvalWords
    ok, val = self.EvalCompoundWord(w, ifs=ifs, do_glob=do_glob)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 580, in EvalCompoundWord
    ok, val = self.EvalWordPart(p, quoted=False)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 685, in EvalWordPart
    val = self.token.val
AttributeError: 'NormalEvaluator' object has no attribute 'token'
osh12 Backslash escapes inside double quoted string

[osh stdout] Expected b'$ \\ \\ \\p \\q\n', got b''

stdout:
stderr: 
Traceback (most recent call last):
  File "bin/osh", line 378, in <module>
    sys.exit(main(sys.argv))
  File "bin/osh", line 368, in main
    return OshMain(main_argv)
  File "bin/osh", line 327, in OshMain
    status, cflow = ex.Execute(node)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 659, in Execute
    argv = self.ev.EvalWords(node.words)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 791, in EvalWords
    ok, val = self.EvalCompoundWord(w, ifs=ifs, do_glob=do_glob)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 580, in EvalCompoundWord
    ok, val = self.EvalWordPart(p, quoted=False)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 696, in EvalWordPart
    return self.EvalDoubleQuotedPart(part)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 722, in EvalDoubleQuotedPart
    ok, val = self.EvalWordPart(p, quoted=True)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 685, in EvalWordPart
    val = self.token.val
AttributeError: 'NormalEvaluator' object has no attribute 'token'
dash13 C-style backslash escapes inside double quoted string

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

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

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

stdout:
stderr: 
Traceback (most recent call last):
  File "bin/osh", line 378, in <module>
    sys.exit(main(sys.argv))
  File "bin/osh", line 368, in main
    return OshMain(main_argv)
  File "bin/osh", line 327, in OshMain
    status, cflow = ex.Execute(node)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 659, in Execute
    argv = self.ev.EvalWords(node.words)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 791, in EvalWords
    ok, val = self.EvalCompoundWord(w, ifs=ifs, do_glob=do_glob)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 580, in EvalCompoundWord
    ok, val = self.EvalWordPart(p, quoted=False)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 696, in EvalWordPart
    return self.EvalDoubleQuotedPart(part)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 722, in EvalDoubleQuotedPart
    ok, val = self.EvalWordPart(p, quoted=True)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 685, in EvalWordPart
    val = self.token.val
AttributeError: 'NormalEvaluator' object has no attribute 'token'
bash17 $? split over multiple lines

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

stdout:
0
stderr:
mksh18 Unterminated single quote

stdout:
stderr: 
/bin/mksh: <stdin>[2]: no closing quote
mksh19 Unterminated double quote

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

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

stdout:
a	b
stderr:
dash22 $''

stdout:
$foo
stderr:
dash23 $'' with newlines

stdout:
$col1
col2
col3
stderr:
osh23 $'' with newlines

[osh stdout] Expected b'col1\ncol2\ncol3\n', got b'col1\\ncol2\\ncol3\n'

stdout:
col1\ncol2\ncol3
stderr:
dash24 $""

stdout:
$foo
stderr:
osh25 printf

[osh stdout] Expected b'c1\tc2\nc3\tc4\n', got b''

stdout:
stderr: 
Traceback (most recent call last):
  File "bin/osh", line 378, in <module>
    sys.exit(main(sys.argv))
  File "bin/osh", line 368, in main
    return OshMain(main_argv)
  File "bin/osh", line 327, in OshMain
    status, cflow = ex.Execute(node)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 659, in Execute
    argv = self.ev.EvalWords(node.words)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 791, in EvalWords
    ok, val = self.EvalCompoundWord(w, ifs=ifs, do_glob=do_glob)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 580, in EvalCompoundWord
    ok, val = self.EvalWordPart(p, quoted=False)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 696, in EvalWordPart
    return self.EvalDoubleQuotedPart(part)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 722, in EvalDoubleQuotedPart
    ok, val = self.EvalWordPart(p, quoted=True)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 685, in EvalWordPart
    val = self.token.val
AttributeError: 'NormalEvaluator' object has no attribute 'token'