Results for parse-errors.test.sh

statusbashdashashzshmkshkshtoyshsushbrushosh
pass 21212257721141224
ok 23001800000
N-I 0100000000
BUG 3100100000
FAIL 00421019613153
TIME 1111110000
total27272727272727272727
casebashdashashzshmkshkshtoyshsushbrushoshdescription
0pass pass pass pass pass pass pass pass pass pass Long Token - 65535 bytes
1ok ok FAIL FAIL ok FAIL FAIL FAIL FAIL pass Token that's too long for Oils - 65536 bytes
detailsdetailsdetailsdetailsdetailsdetailsdetailsdetailsdetails
2pass pass pass pass pass pass pass pass pass pass $% is not a parse error
3ok pass pass FAIL ok FAIL FAIL FAIL FAIL pass Bad braced var sub -- not allowed
detailsdetailsdetailsdetailsdetailsdetailsdetails
4BUG BUG FAIL FAIL BUG FAIL FAIL FAIL FAIL pass Bad var sub caught at parse time
detailsdetailsdetailsdetailsdetailsdetailsdetailsdetailsdetails
5pass pass pass FAIL ok FAIL pass pass pass pass Incomplete while
detailsdetailsdetails
6pass pass pass FAIL ok FAIL pass FAIL FAIL pass Incomplete for
detailsdetailsdetailsdetailsdetails
7pass pass pass FAIL ok FAIL pass pass pass pass Incomplete if
detailsdetailsdetails
8pass pass pass FAIL ok FAIL pass pass pass pass do unexpected
detailsdetailsdetails
9pass pass pass FAIL ok FAIL pass FAIL FAIL pass } is a parse error
detailsdetailsdetailsdetailsdetails
10pass pass pass FAIL ok FAIL pass FAIL FAIL pass { is its own word, needs a space
detailsdetailsdetailsdetailsdetails
11pass pass pass FAIL pass pass FAIL FAIL FAIL pass } on the second line
detailsdetailsdetailsdetails
12BUG pass pass FAIL ok FAIL pass FAIL FAIL pass Invalid for loop variable name
detailsdetailsdetailsdetailsdetailsdetails
13pass pass pass pass pass pass pass pass pass pass bad var name globally isn't parsed like an assignment
14pass ok FAIL pass pass pass pass FAIL FAIL pass bad var name in export
detailsdetailsdetailsdetails
15pass ok FAIL pass pass pass pass FAIL FAIL pass bad var name in local
detailsdetailsdetailsdetails
16pass pass pass FAIL ok FAIL pass pass pass pass misplaced parentheses are not a subshell
detailsdetailsdetails
17pass pass pass FAIL ok FAIL pass pass pass pass incomplete command sub
detailsdetailsdetails
18pass pass pass FAIL ok FAIL pass pass pass pass incomplete backticks
detailsdetailsdetails
19pass pass pass FAIL ok FAIL pass pass pass pass misplaced ;;
detailsdetailsdetails
20pass N-I pass FAIL ok FAIL FAIL pass FAIL pass empty clause in [[
detailsdetailsdetailsdetailsdetailsdetails
21TIME TIME TIME TIME TIME TIME FAIL pass FAIL pass interactive parse error (regression)
detailsdetailsdetailsdetailsdetailsdetailsdetailsdetails
22BUG pass pass FAIL ok FAIL pass FAIL FAIL FAIL array literal inside array is a parse error
detailsdetailsdetailsdetailsdetailsdetailsdetails
23pass pass pass FAIL ok FAIL pass FAIL FAIL FAIL array literal inside loop is a parse error
detailsdetailsdetailsdetailsdetailsdetails
24pass pass pass FAIL ok FAIL pass FAIL FAIL FAIL array literal in case
detailsdetailsdetailsdetailsdetailsdetails
25pass pass pass FAIL ok FAIL pass pass pass pass %foo=() is parse error (regression)
detailsdetailsdetails
26pass pass pass FAIL pass pass pass pass pass pass echo =word is allowed
details
154 passed, 23 OK, 1 not implemented, 5 BUG, 81 failed, 6 timeouts, 0 cases skipped
3 failed under osh

Details on runs that didn't PASS

bash1 Token that's too long for Oils - 65536 bytes

stdout:
status=0
65536 out
stderr:
dash1 Token that's too long for Oils - 65536 bytes

stdout:
status=0
65536 out
stderr:
ash1 Token that's too long for Oils - 65536 bytes

[ash stdout] Expected 'status=2\n0 out\n', got 'status=0\n65536 out\n'

stdout:
status=0
65536 out
stderr:
zsh1 Token that's too long for Oils - 65536 bytes

[zsh stdout] Expected 'status=2\n0 out\n', got 'status=0\n65536 out\n'

stdout:
status=0
65536 out
stderr:
mksh1 Token that's too long for Oils - 65536 bytes

stdout:
status=0
65536 out
stderr:
ksh1 Token that's too long for Oils - 65536 bytes

[ksh stdout] Expected 'status=2\n0 out\n', got 'status=0\n65536 out\n'

stdout:
status=0
65536 out
stderr:
toysh1 Token that's too long for Oils - 65536 bytes

[toysh stdout] Expected 'status=2\n0 out\n', got 'status=0\n65536 out\n'

stdout:
status=0
65536 out
stderr:
sush1 Token that's too long for Oils - 65536 bytes

[sush stdout] Expected 'status=2\n0 out\n', got 'status=0\n65536 out\n'

stdout:
status=0
65536 out
stderr:
brush1 Token that's too long for Oils - 65536 bytes

[brush stdout] Expected 'status=2\n0 out\n', got 'status=0\n65536 out\n'

stdout:
status=0
65536 out
stderr:
bash3 Bad braced var sub -- not allowed

stdout:
stderr: 
bash: line 1: ${%}: bad substitution
zsh3 Bad braced var sub -- not allowed

[zsh status] Expected 2, got 0

stdout:
stderr: 
mksh3 Bad braced var sub -- not allowed

stdout:
stderr: 
mksh: <stdin>[1]: ${%}: bad substitution
ksh3 Bad braced var sub -- not allowed

[ksh status] Expected 2, got 1

stdout:
stderr: 
E: ksh: <stdin>[1]: ${%}: bad substitution
toysh3 Bad braced var sub -- not allowed

[toysh status] Expected 2, got 1

stdout:
stderr: 
main: line 1: sh: : bad substitution
sush3 Bad braced var sub -- not allowed

[sush status] Expected 2, got 1

stdout:
stderr: 
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: `${%}': bad substitution
brush3 Bad braced var sub -- not allowed

[brush status] Expected 2, got 0

stdout:
${%}
stderr:
bash4 Bad var sub caught at parse time

stdout:
ok
stderr:
dash4 Bad var sub caught at parse time

stdout:
ok
stderr:
ash4 Bad var sub caught at parse time

[ash status] Expected 2, got 0

stdout:
ok
stderr:
zsh4 Bad var sub caught at parse time

[zsh status] Expected 2, got 0

stdout:
ok
stderr:
mksh4 Bad var sub caught at parse time

stdout:
ok
stderr:
ksh4 Bad var sub caught at parse time

[ksh status] Expected 2, got 0

stdout:
ok
stderr:
toysh4 Bad var sub caught at parse time

[toysh status] Expected 2, got 0

stdout:
ok
stderr:
sush4 Bad var sub caught at parse time

[sush status] Expected 2, got 0

stdout:
ok
stderr:
brush4 Bad var sub caught at parse time

[brush status] Expected 2, got 0

stdout:
ok
stderr:
zsh5 Incomplete while

[zsh status] Expected 2, got 1

stdout:
stderr: 
zsh: parse error near `\n'
mksh5 Incomplete while

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: 'while' unmatched
ksh5 Incomplete while

[ksh status] Expected 2, got 1

stdout:
stderr: 
E: ksh: <stdin>[1]: syntax error: unmatched 'while'
zsh6 Incomplete for

[zsh stdout] Expected u'', got 'status=1\n'
[zsh status] Expected 2, got 0

stdout:
status=1
stderr:
zsh: parse error near `\n'
mksh6 Incomplete for

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: 'newline' unexpected
ksh6 Incomplete for

[ksh status] Expected 2, got 1

stdout:
stderr: 
E: ksh: <stdin>[1]: syntax error: unexpected 'newline'
sush6 Incomplete for

[sush stdout] Expected u'', got 'hi\nstatus=0\n'
[sush status] Expected 2, got 0

stdout:
hi
status=0
stderr:
brush6 Incomplete for

[brush stdout] Expected u'', got 'status=2\n'
[brush status] Expected 2, got 0

stdout:
status=2
stderr:
ERROR main: syntax error near token `
' (line 1 col 13)
zsh7 Incomplete if

[zsh status] Expected 2, got 1

stdout:
stderr: 
zsh: parse error near `\n'
mksh7 Incomplete if

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: 'if' unmatched
ksh7 Incomplete if

[ksh status] Expected 2, got 1

stdout:
stderr: 
E: ksh: <stdin>[1]: syntax error: unmatched 'if'
zsh8 do unexpected

[zsh status] Expected 2, got 1

stdout:
stderr: 
zsh: parse error near `do'
mksh8 do unexpected

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: 'do' unexpected
ksh8 do unexpected

[ksh status] Expected 2, got 1

stdout:
stderr: 
E: ksh: <stdin>[1]: syntax error: unexpected 'do'
zsh9 } is a parse error

[zsh stdout] Expected u'', got 'should not get here\n'
[zsh status] Expected 2, got 0

stdout:
should not get here
stderr:
zsh: parse error near `}'
mksh9 } is a parse error

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: '}' unexpected
ksh9 } is a parse error

[ksh status] Expected 2, got 1

stdout:
stderr: 
E: ksh: <stdin>[1]: syntax error: unexpected '}'
sush9 } is a parse error

[sush stdout] Expected u'', got 'should not get here\n'
[sush status] Expected 2, got 0

stdout:
should not get here
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: Unexpected token: }

brush9 } is a parse error

[brush stdout] Expected u'', got 'should not get here\n'
[brush status] Expected 2, got 0

stdout:
should not get here
stderr:
ERROR main: syntax error near token `
' (line 1 col 2)
zsh10 { is its own word, needs a space

[zsh stdout] Expected u'', got '_tmp\nstatus=0\n'
[zsh status] Expected 2, got 0

stdout:
_tmp
status=0
stderr:
mksh10 { is its own word, needs a space

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: '}' unexpected
ksh10 { is its own word, needs a space

[ksh status] Expected 2, got 1

stdout:
stderr: 
E: ksh: <stdin>[1]: syntax error: unexpected '}'
sush10 { is its own word, needs a space

[sush stdout] Expected u'', got 'status=2\n'
[sush status] Expected 2, got 0

stdout:
status=2
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: Unexpected token: }

brush10 { is its own word, needs a space

[brush stdout] Expected u'', got 'status=2\n'
[brush status] Expected 2, got 0

stdout:
status=2
stderr:
ERROR main: syntax error near token `
' (line 1 col 7)
zsh11 } on the second line

[zsh status] Expected 127, got 0

stdout:
_tmp
stderr:
toysh11 } on the second line

[toysh status] Expected 127, got 2

stdout:
stderr: 
set: bad -o errexit
sh: {ls: No such file or directory
main: line 3: sh: syntax error: }
sush11 } on the second line

[sush status] Expected 127, got 2

stdout:
stderr: 
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: set: errexit: invalid option name
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: {ls: command not found
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: Unexpected token: }

brush11 } on the second line

[brush status] Expected 127, got 2

stdout:
stderr: 
{ls: command not found
ERROR main: syntax error near token `
' (line 1 col 2)
bash12 Invalid for loop variable name

stdout:
done
stderr:
bash: line 3: `i.j': not a valid identifier
zsh12 Invalid for loop variable name

[zsh stdout] Expected u'', got 'hi\ndone\n'
[zsh status] Expected 2, got 0

stdout:
hi
done
stderr:
zsh: parse error near `i.j'
zsh: parse error near `done'
mksh12 Invalid for loop variable name

stdout:
stderr: 
mksh: <stdin>[1]: for: bad identifier
ksh12 Invalid for loop variable name

[ksh status] Expected 2, got 1

stdout:
stderr: 
E: ksh: <stdin>[1]: for: bad identifier
sush12 Invalid for loop variable name

[sush stdout] Expected u'', got 'hi\ndone\n'
[sush status] Expected 2, got 0

stdout:
hi
done
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: Unexpected token: .j
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: Unexpected token: done

brush12 Invalid for loop variable name

[brush stdout] Expected u'', got 'hi\nhi\nhi\ndone\n'
[brush status] Expected 2, got 0

stdout:
hi
hi
hi
done
stderr:
dash14 bad var name in export

stdout:
stderr: 
dash: 1: export: FOO-BAR: bad variable name
ash14 bad var name in export

[ash status] Expected 1, got 2

stdout:
stderr: 
ash: export: line 1: FOO-BAR: bad variable name
sush14 bad var name in export

[sush status] Expected 1, got 0

stdout:
stderr: 
brush14 bad var name in export

[brush status] Expected 1, got 0

stdout:
stderr: 
dash15 bad var name in local

stdout:
stderr: 
dash: 2: FOO-BAR: bad variable name
ash15 bad var name in local

[ash status] Expected 1, got 2

stdout:
stderr: 
ash: FOO-BAR: bad variable name
sush15 bad var name in local

[sush status] Expected 1, got 0

stdout:
stderr: 
brush15 bad var name in local

[brush status] Expected 1, got 0

stdout:
stderr: 
zsh16 misplaced parentheses are not a subshell

[zsh status] Expected 2, got 1

stdout:
stderr: 
zsh: unknown file attribute: b
mksh16 misplaced parentheses are not a subshell

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: '(' unexpected
ksh16 misplaced parentheses are not a subshell

[ksh status] Expected 2, got 1

stdout:
stderr: 
E: ksh: <stdin>[1]: syntax error: unexpected '('
zsh17 incomplete command sub

[zsh status] Expected 2, got 1

stdout:
stderr: 
zsh: parse error near `$(x'
mksh17 incomplete command sub

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: '(' unmatched
ksh17 incomplete command sub

[ksh status] Expected 2, got 1

stdout:
stderr: 
E: ksh: <stdin>[1]: syntax error: unmatched '('
zsh18 incomplete backticks

[zsh status] Expected 2, got 1

stdout:
stderr: 
zsh: unmatched `
mksh18 incomplete backticks

stdout:
stderr: 
mksh: <stdin>[2]: no closing quote
ksh18 incomplete backticks

[ksh status] Expected 2, got 1

stdout:
stderr: 
E: ksh: <stdin>[2]: no closing quote
zsh19 misplaced ;;

[zsh status] Expected 2, got 1

stdout:
stderr: 
zsh: parse error near `;;'
mksh19 misplaced ;;

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: ';;' unexpected
ksh19 misplaced ;;

[ksh status] Expected 2, got 1

stdout:
stderr: 
E: ksh: <stdin>[1]: syntax error: unexpected ';;'
dash20 empty clause in [[

stdout:
stderr: 
dash: 1: [[: not found
zsh20 empty clause in [[

[zsh status] Expected 2, got 1

stdout:
stderr: 
zsh: parse error near `||'
mksh20 empty clause in [[

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: '||' expression expected
ksh20 empty clause in [[

[ksh status] Expected 2, got 1

stdout:
stderr: 
E: ksh: <stdin>[1]: syntax error: expression expected '||'
toysh20 empty clause in [[

[toysh status] Expected 2, got -11

stdout:
stderr: 
brush20 empty clause in [[

[brush status] Expected 2, got 0

stdout:
stderr: 
ERROR main: syntax error near token `||' (line 1 col 4)
toysh21 interactive parse error (regression)

[toysh status] Expected 2, got -6

stdout:
stderr: 
munmap_chunk(): invalid pointer
brush21 interactive parse error (regression)

[brush status] Expected 2, got 0

stdout:
stderr: 
ERROR main: syntax error near token `)' (line 1 col 5)
bash22 array literal inside array is a parse error

stdout:
len=0
stderr:
bash: line 1: syntax error near unexpected token `('
bash: line 1: `a=( inside=() )'
zsh22 array literal inside array is a parse error

[zsh stdout] Expected u'', got 'len=0\n'
[zsh status] Expected 2, got 0

stdout:
len=0
stderr:
zsh: parse error near `()'
mksh22 array literal inside array is a parse error

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: '(' unexpected
ksh22 array literal inside array is a parse error

[ksh status] Expected 2, got 1

stdout:
stderr: 
E: ksh: <stdin>[1]: syntax error: unexpected '('
sush22 array literal inside array is a parse error

[sush stdout] Expected u'', got 'len=0\n'
[sush status] Expected 2, got 0

stdout:
len=0
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: Unexpected token: )

brush22 array literal inside array is a parse error

[brush stdout] Expected u'', got 'len=0\n'
[brush status] Expected 2, got 0

stdout:
len=0
stderr:
ERROR main: syntax error near token `(' (line 1 col 12)
osh22 array literal inside array is a parse error

[osh status] Expected 2, got 1

stdout:
stderr: 
  a=( inside=() )
             ^
[ stdin ]:1: fatal: Unexpected associative array literal
zsh23 array literal inside loop is a parse error

[zsh stdout] Expected u'', got 'x=\ndone\n'
[zsh status] Expected 2, got 127

stdout:
x=
done
stderr:
zsh: parse error near `()'
zsh: parse error near `done'
zsh: parse error near `}'
zsh: command not found: f
mksh23 array literal inside loop is a parse error

stdout:
stderr: 
mksh: <stdin>[2]: syntax error: '(' unexpected
ksh23 array literal inside loop is a parse error

[ksh status] Expected 2, got 1

stdout:
stderr: 
E: ksh: <stdin>[2]: syntax error: unexpected '('
sush23 array literal inside loop is a parse error

[sush stdout] Expected u'', got 'x=\ndone\n'
[sush status] Expected 2, got 127

stdout:
x=
done
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: Unexpected token: ();
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 6: Unexpected token: done

/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 8: Unexpected token: }

/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 8: f: command not found
brush23 array literal inside loop is a parse error

[brush stdout] Expected u'', got 'x=\ndone\n'
[brush status] Expected 2, got 127

stdout:
x=
done
stderr:
ERROR main: syntax error near token `(' (line 2 col 14)
ERROR main: syntax error near token `
' (line 1 col 7)
ERROR main: syntax error near token `
' (line 1 col 2)
f: command not found
osh23 array literal inside loop is a parse error

[osh status] Expected 2, got 1

stdout:
stderr: 
    for x in a=(); do
               ^
[ stdin ]:2: fatal: Unexpected associative array literal
zsh24 array literal in case

[zsh stdout] Expected u'', got 'hi\n'
[zsh status] Expected 2, got 127

stdout:
hi
stderr:
zsh: parse error near `()'
zsh: parse error near `)'
zsh: parse error near `;;'
zsh: parse error near `esac'
zsh: parse error near `}'
zsh: command not found: f
mksh24 array literal in case

stdout:
stderr: 
mksh: <stdin>[2]: syntax error: '(' unexpected
ksh24 array literal in case

[ksh status] Expected 2, got 1

stdout:
stderr: 
E: ksh: <stdin>[2]: syntax error: unexpected '('
sush24 array literal in case

[sush stdout] Expected u'', got 'hi\n'
[sush status] Expected 2, got 127

stdout:
hi
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: Unexpected token: ()
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 5: Unexpected token: )

/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 7: Unexpected token: ;;

/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 8: Unexpected token: esac

/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 9: Unexpected token: }

/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 9: f: command not found
brush24 array literal in case

[brush stdout] Expected u'', got 'hi\n'
[brush status] Expected 2, got 127

stdout:
hi
stderr:
ERROR main: syntax error near token `(' (line 2 col 10)
ERROR main: syntax error near token `)' (line 1 col 8)
ERROR main: syntax error near token `;;' (line 1 col 7)
ERROR main: syntax error near token `
' (line 1 col 7)
ERROR main: syntax error near token `
' (line 1 col 2)
f: command not found
osh24 array literal in case

[osh status] Expected 2, got 1

stdout:
stderr: 
    case a=() in
           ^
[ stdin ]:2: fatal: Unexpected associative array literal
zsh25 %foo=() is parse error (regression)

[zsh status] Expected 2, got 1

stdout:
stderr: 
zsh: parse error near `}'
mksh25 %foo=() is parse error (regression)

stdout:
stderr: 
mksh: <stdin>[2]: %foo=: invalid function name
ksh25 %foo=() is parse error (regression)

[ksh status] Expected 2, got 1

stdout:
stderr: 
E: ksh: <stdin>[2]: %foo=: invalid function name
zsh26 echo =word is allowed

[zsh stdout] Expected '=word\n', got ''
[zsh status] Expected 0, got 1

stdout:
stderr: 
zsh: word not found