Results for parse-errors.test.sh

statusbashmkshkshtoyshsushbrushosh
pass 217721141224
ok 21800000
BUG 3100000
FAIL 0019613153
TIME 1110000
total27272727272727
casebashmkshkshtoyshsushbrushoshdescription
0pass pass pass pass pass pass pass Long Token - 65535 bytes
1ok ok FAIL FAIL FAIL FAIL pass Token that's too long for Oils - 65536 bytes
detailsdetailsdetailsdetailsdetailsdetails
2pass pass pass pass pass pass pass $% is not a parse error
3ok ok FAIL FAIL FAIL FAIL pass Bad braced var sub -- not allowed
detailsdetailsdetailsdetailsdetailsdetails
4BUG BUG FAIL FAIL FAIL FAIL pass Bad var sub caught at parse time
detailsdetailsdetailsdetailsdetailsdetails
5pass ok FAIL pass pass pass pass Incomplete while
detailsdetails
6pass ok FAIL pass FAIL FAIL pass Incomplete for
detailsdetailsdetailsdetails
7pass ok FAIL pass pass pass pass Incomplete if
detailsdetails
8pass ok FAIL pass pass pass pass do unexpected
detailsdetails
9pass ok FAIL pass FAIL FAIL pass } is a parse error
detailsdetailsdetailsdetails
10pass ok FAIL pass FAIL FAIL pass { is its own word, needs a space
detailsdetailsdetailsdetails
11pass pass pass FAIL FAIL FAIL pass } on the second line
detailsdetailsdetails
12BUG ok FAIL pass FAIL FAIL pass Invalid for loop variable name
detailsdetailsdetailsdetailsdetails
13pass pass pass pass pass pass pass bad var name globally isn't parsed like an assignment
14pass pass pass pass FAIL FAIL pass bad var name in export
detailsdetails
15pass pass pass pass FAIL FAIL pass bad var name in local
detailsdetails
16pass ok FAIL pass pass pass pass misplaced parentheses are not a subshell
detailsdetails
17pass ok FAIL pass pass pass pass incomplete command sub
detailsdetails
18pass ok FAIL pass pass pass pass incomplete backticks
detailsdetails
19pass ok FAIL pass pass pass pass misplaced ;;
detailsdetails
20pass ok FAIL FAIL pass FAIL pass empty clause in [[
detailsdetailsdetailsdetails
21TIME TIME TIME FAIL pass FAIL pass interactive parse error (regression)
detailsdetailsdetailsdetailsdetails
22BUG ok FAIL pass FAIL FAIL FAIL array literal inside array is a parse error
detailsdetailsdetailsdetailsdetailsdetails
23pass ok FAIL pass FAIL FAIL FAIL array literal inside loop is a parse error
detailsdetailsdetailsdetailsdetails
24pass ok FAIL pass FAIL FAIL FAIL array literal in case
detailsdetailsdetailsdetailsdetails
25pass ok FAIL pass pass pass pass %foo=() is parse error (regression)
detailsdetails
26pass pass pass pass pass pass pass echo =word is allowed
106 passed, 20 OK, 0 not implemented, 4 BUG, 56 failed, 3 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:
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
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:
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:
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'
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)
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'
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'
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)
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)
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
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:
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: 
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: 
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 '('
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 '('
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
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 ';;'
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=() )'
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
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
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
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