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 853, in Execute
    status, cflow = self._Execute(node)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 752, in _Execute
    status, cflow = self._Execute(child)  # last status wins
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 652, in _Execute
    argv = self.ev.EvalWords(node.words)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 788, in EvalWords
    return self._EvalWords(words)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 778, in _EvalWords
    val = self._EvalCompoundWord(w, ifs=ifs, do_glob=do_glob)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 454, in _EvalCompoundWord
    val = self._EvalWordPart(p, quoted=False)  # may raise
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 710, in _EvalWordPart
    defined, val = self._ApplyVarOps(defined, val, part)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 382, in _ApplyVarOps
    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 853, in Execute
    status, cflow = self._Execute(node)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 752, in _Execute
    status, cflow = self._Execute(child)  # last status wins
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 652, in _Execute
    argv = self.ev.EvalWords(node.words)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 788, in EvalWords
    return self._EvalWords(words)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 778, in _EvalWords
    val = self._EvalCompoundWord(w, ifs=ifs, do_glob=do_glob)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 454, in _EvalCompoundWord
    val = self._EvalWordPart(p, quoted=False)  # may raise
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 676, in _EvalWordPart
    return self._EvalDoubleQuotedPart(part)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 731, in _EvalDoubleQuotedPart
    val = self._EvalWordPart(p, quoted=True)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 710, in _EvalWordPart
    defined, val = self._ApplyVarOps(defined, val, part)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 382, in _ApplyVarOps
    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 853, in Execute
    status, cflow = self._Execute(node)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 752, in _Execute
    status, cflow = self._Execute(child)  # last status wins
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 652, in _Execute
    argv = self.ev.EvalWords(node.words)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 788, in EvalWords
    return self._EvalWords(words)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 778, in _EvalWords
    val = self._EvalCompoundWord(w, ifs=ifs, do_glob=do_glob)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 454, in _EvalCompoundWord
    val = self._EvalWordPart(p, quoted=False)  # may raise
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 676, in _EvalWordPart
    return self._EvalDoubleQuotedPart(part)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 731, in _EvalDoubleQuotedPart
    val = self._EvalWordPart(p, quoted=True)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 710, in _EvalWordPart
    defined, val = self._ApplyVarOps(defined, val, part)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 382, in _ApplyVarOps
    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 853, in Execute
    status, cflow = self._Execute(node)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 752, in _Execute
    status, cflow = self._Execute(child)  # last status wins
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 652, in _Execute
    argv = self.ev.EvalWords(node.words)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 788, in EvalWords
    return self._EvalWords(words)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 778, in _EvalWords
    val = self._EvalCompoundWord(w, ifs=ifs, do_glob=do_glob)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 454, in _EvalCompoundWord
    val = self._EvalWordPart(p, quoted=False)  # may raise
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 676, in _EvalWordPart
    return self._EvalDoubleQuotedPart(part)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 731, in _EvalDoubleQuotedPart
    val = self._EvalWordPart(p, quoted=True)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 710, in _EvalWordPart
    defined, val = self._ApplyVarOps(defined, val, part)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 382, in _ApplyVarOps
    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 853, in Execute
    status, cflow = self._Execute(node)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 752, in _Execute
    status, cflow = self._Execute(child)  # last status wins
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 652, in _Execute
    argv = self.ev.EvalWords(node.words)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 788, in EvalWords
    return self._EvalWords(words)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 778, in _EvalWords
    val = self._EvalCompoundWord(w, ifs=ifs, do_glob=do_glob)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 454, in _EvalCompoundWord
    val = self._EvalWordPart(p, quoted=False)  # may raise
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 676, in _EvalWordPart
    return self._EvalDoubleQuotedPart(part)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 731, in _EvalDoubleQuotedPart
    val = self._EvalWordPart(p, quoted=True)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 710, in _EvalWordPart
    defined, val = self._ApplyVarOps(defined, val, part)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 382, in _ApplyVarOps
    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 853, in Execute
    status, cflow = self._Execute(node)
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 752, in _Execute
    status, cflow = self._Execute(child)  # last status wins
  File "/home/andy/git/oil/bin/../core/cmd_exec.py", line 652, in _Execute
    argv = self.ev.EvalWords(node.words)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 788, in EvalWords
    return self._EvalWords(words)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 778, in _EvalWords
    val = self._EvalCompoundWord(w, ifs=ifs, do_glob=do_glob)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 454, in _EvalCompoundWord
    val = self._EvalWordPart(p, quoted=False)  # may raise
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 710, in _EvalWordPart
    defined, val = self._ApplyVarOps(defined, val, part)
  File "/home/andy/git/oil/bin/../core/word_eval.py", line 382, in _ApplyVarOps
    print(op.words)
AttributeError: 'StringUnary' object has no attribute 'words'