Results for word-split.test.sh

statusbashdashmkshashyashosh
pass 434042404133
N-I 010100
BUG 021220
FAIL 0000010
total434343434343
casebashdashmkshashyashoshdescription
0pass pass pass pass pass pass IFS is scoped
1pass pass pass pass pass pass Tilde sub is not split, but var sub is
2pass pass pass pass pass pass Word splitting
3pass pass pass pass pass pass Word splitting 2
4pass pass pass pass pass pass $*
5pass pass pass pass pass pass "$*"
6pass pass pass pass pass pass $@
7pass pass pass pass pass pass "$@"
8pass pass pass pass pass pass empty argv
9pass pass pass pass pass pass Word elision with space
10pass pass pass pass BUG pass Word elision with non-whitespace IFS
details
11pass pass pass pass pass pass Leading/trailing word elision with non-whitespace IFS
12pass pass pass pass pass pass Leading ' ' vs leading ' _ '
13pass pass pass pass pass pass Multiple non-whitespace IFS chars.
14pass pass pass pass pass pass IFS with whitespace and non-whitepace.
15pass pass pass pass pass pass empty $@ and $* is elided
16pass pass pass pass pass pass unquoted empty arg is elided
17pass pass pass pass pass pass unquoted whitespace arg is elided
18pass pass pass pass pass pass empty literals are not elided
19pass pass pass pass pass pass no splitting when IFS is empty
20pass pass pass pass pass pass default value can yield multiple words
21pass pass pass pass pass pass default value can yield multiple words with part joining
22pass pass pass pass pass pass default value with unquoted IFS char
23pass pass pass pass pass pass IFS empty doesn't do splitting
24pass pass pass pass pass pass IFS unset behaves like $' \t\n'
25pass pass pass pass pass FAIL IFS='\'
details
26pass pass pass pass pass FAIL IFS='\ '
details
27pass pass pass pass pass pass IFS characters are glob metacharacters
28pass pass pass pass pass pass Trailing space
29pass pass pass pass pass pass Empty IFS (regression for bug)
30pass pass pass pass pass pass Unset IFS (regression for bug)
31pass pass pass pass pass pass IFS=o (regression for bug)
32pass pass pass pass pass pass IFS and joining arrays
33pass BUG pass BUG BUG FAIL IFS and joining arrays by assignments
detailsdetailsdetailsdetails
34pass pass pass pass pass pass TODO
35pass pass pass pass pass FAIL IFS='' with $@ and $* (bug #627)
details
36pass pass pass pass pass FAIL IFS='' with $@ and $* and printf (bug #627)
details
37pass N-I pass N-I pass FAIL IFS='' with ${a[@]} and ${a[*]} (bug #627)
detailsdetailsdetails
38pass pass pass pass pass FAIL Bug #628 split on : with : in literal word
details
39pass pass pass pass pass pass Bug #698, similar crash
40pass pass pass pass pass FAIL Bug #1664, \\ with noglob
details
41pass pass pass pass pass FAIL Empty IFS bug #2141 (from pnut)
details
42pass BUG BUG BUG pass FAIL Unicode in IFS
detailsdetailsdetailsdetails
239 passed, 0 OK, 2 not implemented, 7 BUG, 10 failed, 0 timeouts, 0 cases skipped
10 failed under osh

Details on runs that didn't PASS

yash10 Word elision with non-whitespace IFS

stdout:
[]
[' ']
[]
stderr:
osh25 IFS='\'

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

stdout:
['a', '', '', '', 'b']
stderr:
osh26 IFS='\ '

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

stdout:
['a', '', '', '', 'b', '', '', '', '', '', '', '', 'c', 'd', '', '', '']
stderr:
dash33 IFS and joining arrays by assignments

stdout:
['x:y z']
['x:y z']
['x:y z']
['x:y z']
stderr:
dash: 10: sx:y z: not found
ash33 IFS and joining arrays by assignments

stdout:
['x:y z']
['x:y z']
['x:y z']
['x:y z']
stderr:
ash: sx:y z: not found
yash33 IFS and joining arrays by assignments

stdout:
['x:y z']
['x:y z']
['x:y z']
['x:y z']
stderr:
yash: no such command `sx:y z'
osh33 IFS and joining arrays by assignments

[osh stdout] Expected "['x y z']\n['x y z']\n['x y z']\n['x:y z']\n" Got "['x y z']\n['x:y z']\n['x:y z']\n['x:y z']\n"

stdout:
['x y z']
['x:y z']
['x:y z']
['x:y z']
stderr:
  s"$*"
  ^
[ stdin ]:10: 'sx:y z' not found (OILS-ERR-100)
osh35 IFS='' with $@ and $* (bug #627)

[osh stdout] Expected "['at', 'a', 'b c']\n['star', 'a', 'b c']\n" Got "['at', 'ab c']\n['star', 'ab c']\n"

stdout:
['at', 'ab c']
['star', 'ab c']
stderr:
osh36 IFS='' with $@ and $* and printf (bug #627)

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

stdout:
[ab c]
[ab c]
stderr:
dash37 IFS='' with ${a[@]} and ${a[*]} (bug #627)

stdout:
stderr: 
dash: 1: Syntax error: "(" unexpected
ash37 IFS='' with ${a[@]} and ${a[*]} (bug #627)

stdout:
stderr: 
ash: syntax error: unexpected "("
osh37 IFS='' with ${a[@]} and ${a[*]} (bug #627)

[osh stdout] Expected "['at', 'a', 'b c']\n['star', 'a', 'b c']\n" Got "['at', 'ab c']\n['star', 'ab c']\n"

stdout:
['at', 'ab c']
['star', 'ab c']
stderr:
osh38 Bug #628 split on : with : in literal word

[osh stdout] Expected "['a', ':b']\n['a', ':']\n---\n['a', 'zb']\n['a', 'z']\n" Got "['a', '\\\\', 'b']\n['a', '\\\\']\n---\n['a', '\\\\', 'b']\n['a', '\\\\']\n"

stdout:
['a', '\\', 'b']
['a', '\\']
---
['a', '\\', 'b']
['a', '\\']
stderr:
osh40 Bug #1664, \\ with noglob

[osh stdout] Expected "['[\\\\]_']\n['[\\\\]_']\nnoglob\n['[\\\\]_']\n['[\\\\]_']\n" Got "['[\\\\]_']\n['[\\\\]_']\nnoglob\n['[\\\\\\\\]_']\n['[\\\\]_']\n"

stdout:
['[\\]_']
['[\\]_']
noglob
['[\\\\]_']
['[\\]_']
stderr:
osh41 Empty IFS bug #2141 (from pnut)

[osh stdout] Expected '12 + 30 = 42\n12 + 30 = 42\n12 + 30 = 42\n12 + 30 = 42\n12 + 30 = 42\n' Got '12 + 30 = 42\n12 + 30 = 42\n1230 + 0 = 1230\n1230 + = 1230\n'
[osh status] Expected 0, got 1

stdout:
12 + 30 = 42
12 + 30 = 42
1230 + 0 = 1230
1230 +  = 1230
stderr:
    res=$(($1 + $2))
                ^~
[ stdin ]:4: fatal: Undefined variable '2'
dash42 Unicode in IFS

stdout:
<>
<>
<x>
stderr:
dash: 1: setopt: not found
mksh42 Unicode in IFS

stdout:
<>
<>
<x>
stderr:
mksh: <stdin>[1]: setopt: not found
ash42 Unicode in IFS

stdout:
<>
<>
<x>
stderr:
ash: setopt: not found
osh42 Unicode in IFS

[osh stdout] Expected '<>\n<x>\n', got '<>\n<>\n<x>\n'

stdout:
<>
<>
<x>
stderr:
  setopt SH_WORD_SPLIT
  ^~~~~~
[ stdin ]:1: 'setopt' not found (OILS-ERR-100)