Results for var-sub-quote.test.sh

casedashbashmkshoshdescription
0pass pass pass pass :-
1pass pass pass pass -
2pass pass pass FAIL Inner single quotes
details
3pass pass pass pass Inner single quotes, outer double quotes
4pass pass pass pass Inner double quotes
5pass pass pass pass Inner double quotes, outer double quotes
6pass pass pass FAIL Multiple words: no quotes
details
7pass pass pass FAIL Multiple words: no outer quotes, inner single quotes
details
8pass pass pass pass Multiple words: no outer quotes, inner double quotes
9pass pass pass pass Multiple words: outer double quotes, no inner quotes
10pass pass pass pass Multiple words: outer double quotes, inner double quotes
11pass pass pass pass Multiple words: outer double quotes, inner single quotes
12pass pass pass FAIL Var with multiple words: no quotes
details
13pass pass pass pass Multiple words: no outer quotes, inner single quotes
14pass pass pass pass Multiple words: no outer quotes, inner double quotes
15pass pass pass pass Multiple words: outer double quotes, no inner quotes
16pass pass pass pass Multiple words: outer double quotes, inner double quotes
17pass pass pass pass Multiple words: outer double quotes, inner single quotes
18pass pass pass FAIL No outer quotes, Multiple internal quotes
details
19pass pass pass FAIL Strip a string with single quotes, unquoted
details
20pass pass pass FAIL Strip a string with single quotes, double quoted
details
21pass BUG BUG FAIL Strip a string with single quotes, double quoted, with unescaped '
detailsdetailsdetails
22pass pass pass FAIL The string to strip is space sensitive
details
23BUG pass pass FAIL The string to strip can be single quoted, outer is double quoted
detailsdetails
24pass pass pass FAIL The string to strip can be single quoted, outer is unquoted
details

86 passed, 0 ok, 0 known unimplemented, 3 known bugs, 11 failed, 0 skipped

Details on runs that didn't PASS

osh2 Inner single quotes

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

stdout:
["'b'"]
stderr:
osh6 Multiple words: no quotes

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

stdout:
['a b c']
stderr:
osh7 Multiple words: no outer quotes, inner single quotes

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

stdout:
["'a b c'"]
stderr:
osh12 Var with multiple words: no quotes

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

stdout:
['a b c']
stderr:
osh18 No outer quotes, Multiple internal quotes

[osh stdout] Expected b"['Aa', 'b', 'c', ' a b cD', 'E', 'F']\n", got b"['Aa b c a b cD E F']\n"

stdout:
['Aa b c  a b cD E F']
stderr:
osh19 Strip a string with single quotes, unquoted

[osh stdout] Expected b'["\'a", \'b\', \'c\']\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 758, in Execute
    status, cflow = self.Execute(child)  # last status wins
  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 705, in EvalWordPart
    return self.EvalVarSub(part, quoted=quoted)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 510, in EvalVarSub
    print(op.words)
AttributeError: 'StringUnary' object has no attribute 'words'
osh20 Strip a string with single quotes, double quoted

[osh stdout] Expected b'["\'a b c "]\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 758, in Execute
    status, cflow = self.Execute(child)  # last status wins
  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 705, in EvalWordPart
    return self.EvalVarSub(part, quoted=quoted)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 510, in EvalVarSub
    print(op.words)
AttributeError: 'StringUnary' object has no attribute 'words'
bash21 Strip a string with single quotes, double quoted, with unescaped '

stdout:
stderr: 
/bin/bash: line 2: unexpected EOF while looking for matching `''
/bin/bash: line 3: syntax error: unexpected end of file
mksh21 Strip a string with single quotes, double quoted, with unescaped '

stdout:
stderr: 
/bin/mksh: <stdin>[3]: no closing quote
osh21 Strip a string with single quotes, double quoted, with unescaped '

[osh stdout] Expected b'["\'a b c "]\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 758, in Execute
    status, cflow = self.Execute(child)  # last status wins
  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 705, in EvalWordPart
    return self.EvalVarSub(part, quoted=quoted)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 510, in EvalVarSub
    print(op.words)
AttributeError: 'StringUnary' object has no attribute 'words'
osh22 The string to strip is space sensitive

[osh stdout] Expected b"['a 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 758, in Execute
    status, cflow = self.Execute(child)  # last status wins
  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 705, in EvalWordPart
    return self.EvalVarSub(part, quoted=quoted)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 510, in EvalVarSub
    print(op.words)
AttributeError: 'StringUnary' object has no attribute 'words'
dash23 The string to strip can be single quoted, outer is double quoted

stdout:
['a b c d', 'a b c d']
stderr:
osh23 The string to strip can be single quoted, outer is double quoted

[osh stdout] Expected b"['a 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 758, in Execute
    status, cflow = self.Execute(child)  # last status wins
  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 705, in EvalWordPart
    return self.EvalVarSub(part, quoted=quoted)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 510, in EvalVarSub
    print(op.words)
AttributeError: 'StringUnary' object has no attribute 'words'
osh24 The string to strip can be single quoted, outer is unquoted

[osh stdout] Expected b"['a', '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 758, in Execute
    status, cflow = self.Execute(child)  # last status wins
  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 705, in EvalWordPart
    return self.EvalVarSub(part, quoted=quoted)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 510, in EvalVarSub
    print(op.words)
AttributeError: 'StringUnary' object has no attribute 'words'