Results for builtin-eval-source.test.sh

statusbashmkshkshtoyshsushbrushosh
pass 1912139151422
ok 0500000
N-I 1200000
BUG 0300000
FAIL 20913780
total22222222222222
casebashmkshkshtoyshsushbrushoshdescription
0pass pass pass pass pass pass pass Eval
1pass pass pass FAIL pass pass pass eval accepts/ignores --
details
2pass ok FAIL FAIL FAIL FAIL pass eval usage
detailsdetailsdetailsdetailsdetails
3pass BUG pass FAIL FAIL FAIL pass eval string with 'break continue return error'
detailsdetailsdetailsdetails
4N-I N-I FAIL FAIL FAIL FAIL pass eval YSH block with 'break continue return error'
detailsdetailsdetailsdetailsdetailsdetails
5pass pass pass pass pass FAIL pass exit within eval (regression)
details
6pass pass pass pass pass FAIL pass exit within source (regression)
details
7pass pass pass pass pass pass pass Source
8pass pass pass pass FAIL pass pass source accepts/ignores --
details
9pass pass pass pass pass pass pass Source nonexistent
10pass ok FAIL FAIL pass pass pass Source with no arguments
detailsdetailsdetails
11pass pass pass FAIL pass pass pass Source with arguments
details
12pass pass pass FAIL FAIL FAIL pass Source from a function, mutating argv and defining a local var
detailsdetailsdetails
13FAIL ok FAIL FAIL pass pass pass Source with syntax error
detailsdetailsdetailsdetails
14FAIL ok FAIL FAIL pass pass pass Eval with syntax error
detailsdetailsdetailsdetails
15pass BUG FAIL FAIL pass pass pass Eval in does tilde expansion
detailsdetailsdetails
16pass BUG FAIL FAIL pass pass pass Eval in bash does tilde expansion in array
detailsdetailsdetails
17pass N-I FAIL pass pass pass pass source works for files in current directory (bash only)
detailsdetails
18pass pass pass pass FAIL FAIL pass source looks in PATH for files
detailsdetails
19pass pass pass FAIL FAIL FAIL pass source finds files in PATH before current dir
detailsdetailsdetails
20pass pass pass pass pass pass pass source works for files in subdirectory
21pass ok FAIL FAIL pass pass pass source doesn't crash when targeting a directory
detailsdetailsdetails
104 passed, 5 OK, 3 not implemented, 3 BUG, 39 failed, 0 timeouts, 0 cases skipped

Details on runs that didn't PASS

toysh1 eval accepts/ignores --

[toysh stdout] Expected 'hi\n', got ''
[toysh status] Expected 0, got 127

stdout:
stderr: 
sh: --: No such file or directory
mksh2 eval usage

stdout:
127
stderr:
mksh: -: not found
mksh: <stdin>[3]: eval: -z: unknown option
ksh2 eval usage

[ksh stdout] Expected '127\n2\n', got '127\n'
[ksh status] Expected 0, got 1

stdout:
127
stderr:
E: ksh: -: inaccessible or not found
E: ksh: <stdin>[3]: eval: -z: unknown option
toysh2 eval usage

[toysh stdout] Expected '127\n2\n', got '127\n127\n'

stdout:
127
127
stderr:
sh: -: No such file or directory
sh: -z: No such file or directory
sush2 eval usage

[sush stdout] Expected '127\n2\n', got '127\n127\n'

stdout:
127
127
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: -: command not found
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: -z: command not found
brush2 eval usage

[brush stdout] Expected '127\n2\n', got '127\n127\n'

stdout:
127
127
stderr:
-: command not found
-z: command not found
mksh3 eval string with 'break continue return error'

stdout:
--- break
1
2
end func
--- continue
1
2
end func
--- return
1
--- false
1
stderr:
mksh: break: can't break
mksh: break: can't break
mksh: continue: can't continue
mksh: continue: can't continue
toysh3 eval string with 'break continue return error'

[toysh stdout] Expected '--- break\n1\nend func\n--- continue\n1\n2\nend func\n--- return\n1\n--- false\n1\n' Got '--- break\n1\n'
[toysh status] Expected 1, got -11

stdout:
--- break
1
stderr:
set: bad -e
sush3 eval string with 'break continue return error'

[sush stdout] Expected '--- break\n1\nend func\n--- continue\n1\n2\nend func\n--- return\n1\n--- false\n1\n' Got '--- break\n1\nend func\n--- continue\n1\nend func\n--- return\n1\n'

stdout:
--- break
1
end func
--- continue
1
end func
--- return
1
stderr:
brush3 eval string with 'break continue return error'

[brush stdout] Expected '--- break\n1\nend func\n--- continue\n1\n2\nend func\n--- return\n1\n--- false\n1\n' Got '--- break\n1\n2\nend func\n--- continue\n1\n2\nend func\n--- return\n1\n2\nend func\n--- false\n1\n2\nend func\nstatus=0\n'
[brush status] Expected 1, got 0

stdout:
--- break
1
2
end func
--- continue
1
2
end func
--- return
1
2
end func
--- false
1
2
end func
status=0
stderr:
bash4 eval YSH block with 'break continue return error'

stdout:
stderr: 
mksh4 eval YSH block with 'break continue return error'

stdout:
stderr: 
ksh4 eval YSH block with 'break continue return error'

[ksh stdout] Expected '--- break\n1\nend func\n--- continue\n1\n2\nend func\n--- return\n1\n--- false\n1\n' Got ''

stdout:
stderr: 
E: ksh: <stdin>[3]: shopt: inaccessible or not found
E: ksh: <stdin>[5]: syntax error: unexpected '('
toysh4 eval YSH block with 'break continue return error'

[toysh stdout] Expected '--- break\n1\nend func\n--- continue\n1\n2\nend func\n--- return\n1\n--- false\n1\n' Got ''
[toysh status] Expected 1, got -6

stdout:
stderr: 
munmap_chunk(): invalid pointer
sush4 eval YSH block with 'break continue return error'

[sush stdout] Expected '--- break\n1\nend func\n--- continue\n1\n2\nend func\n--- return\n1\n--- false\n1\n' Got 'end func\n--- \nstatus=2\n'
[sush status] Expected 1, got 0

stdout:
end func
--- 
status=2
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: shopt: ysh:all: not supported yet
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 6: Unexpected token: (;
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 9: Unexpected token: (b)

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

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

/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 13: var: command not found
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 15: Unexpected token: (break)],

/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 16: Unexpected token: (continue)],

/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 17: Unexpected token: (return)],

/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 18: Unexpected token: (false)],

/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 18: ]: command not found
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 21: Unexpected token: (cases)
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 21: var: command not found
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 24: Unexpected token: (;
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 25: Unexpected token: }

brush4 eval YSH block with 'break continue return error'

[brush stdout] Expected '--- break\n1\nend func\n--- continue\n1\n2\nend func\n--- return\n1\n--- false\n1\n' Got 'end func\n--- \nstatus=2\n'
[brush status] Expected 1, got 0

stdout:
end func
--- 
status=2
stderr:
shopt: ysh:all: invalid shell option name
ERROR main: syntax error near token `;' (line 1 col 22)
ERROR main: syntax error near token `(' (line 3 col 18)
ERROR main: syntax error near token `
' (line 1 col 7)
ERROR main: syntax error near token `
' (line 1 col 2)
var: command not found
ERROR main: syntax error near token `],' (line 1 col 21)
ERROR main: syntax error near token `],' (line 1 col 27)
ERROR main: syntax error near token `],' (line 1 col 23)
ERROR main: syntax error near token `],' (line 1 col 21)
]: command not found
ERROR main: syntax error near token `(' (line 1 col 18)
var: command not found
ERROR main: syntax error near token `;' (line 1 col 20)
ERROR main: syntax error near token `
' (line 1 col 2)
brush5 exit within eval (regression)

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

stdout:
should not get here
stderr:
brush6 exit within source (regression)

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

stdout:
should not get here
stderr:
sush8 source accepts/ignores --

[sush stdout] Expected 'foo\n', got ''
[sush status] Expected 0, got 1

stdout:
stderr: 
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: --: No such file or directory
mksh10 Source with no arguments

stdout:
status=1
stderr:
mksh: <stdin>[1]: source: missing argument
ksh10 Source with no arguments

[ksh stdout] Expected 'status=2\n', got 'status=1\n'

stdout:
status=1
stderr:
E: ksh: <stdin>[1]: source: missing argument
toysh10 Source with no arguments

[toysh stdout] Expected 'status=2\n', got 'status=1\n'

stdout:
status=1
stderr:
source: Needs 1 argument (see "source --help")
toysh11 Source with arguments

[toysh stdout] Expected 'show-argv: foo bar\n', got 'show-argv: /home/andy/git/oils-for-unix/oils/spec/testdata/show-argv.sh foo bar\n'

stdout:
show-argv: /home/andy/git/oils-for-unix/oils/spec/testdata/show-argv.sh foo bar
stderr:
toysh12 Source from a function, mutating argv and defining a local var

[toysh stdout] Expected 'source-argv: args to func\nsource-argv: args to src\nto func\nfoo=foo_val\nfoo=\n' Got 'source-argv: /home/andy/git/oils-for-unix/oils/spec/testdata/source-argv.sh\nsource-argv: /home/andy/git/oils-for-unix/oils/spec/testdata/source-argv.sh args to src\nargs to func\nfoo=foo_val\nfoo=\n'

stdout:
source-argv: /home/andy/git/oils-for-unix/oils/spec/testdata/source-argv.sh
source-argv: /home/andy/git/oils-for-unix/oils/spec/testdata/source-argv.sh args to src
args to func
foo=foo_val
foo=
stderr:
sush12 Source from a function, mutating argv and defining a local var

[sush stdout] Expected 'source-argv: args to func\nsource-argv: args to src\nto func\nfoo=foo_val\nfoo=\n' Got 'source-argv:\nsource-argv: args to src\nargs to func\nfoo=\nfoo=\n'

stdout:
source-argv:
source-argv: args to src
args to func
foo=
foo=
stderr:
brush12 Source from a function, mutating argv and defining a local var

[brush stdout] Expected 'source-argv: args to func\nsource-argv: args to src\nto func\nfoo=foo_val\nfoo=\n' Got 'source-argv:\nsource-argv: args to src\nargs to func\nfoo=foo_val\nfoo=\n'

stdout:
source-argv:
source-argv: args to src
args to func
foo=foo_val
foo=
stderr:
bash13 Source with syntax error

[bash stdout] Expected 'status=1\n', got 'status=2\n'

stdout:
status=2
stderr:
/home/andy/git/oils-for-unix/oils/_tmp/spec-tmp/builtin-eval-source.test.sh.3665819/13-bash/syntax-error.sh: line 1: syntax error near unexpected token `newline'
/home/andy/git/oils-for-unix/oils/_tmp/spec-tmp/builtin-eval-source.test.sh.3665819/13-bash/syntax-error.sh: line 1: `echo >'
mksh13 Source with syntax error

stdout:
status=1
stderr:
mksh: /home/andy/git/oils-for-unix/oils/_tmp/spec-tmp/builtin-eval-source.test.sh.3665819/13-mksh/syntax-error.sh[1]: syntax error: 'newline' unexpected
ksh13 Source with syntax error

[ksh stdout] Expected 'status=2\n', got 'status=1\n'

stdout:
status=1
stderr:
E: ksh: /home/andy/git/oils-for-unix/oils/_tmp/spec-tmp/builtin-eval-source.test.sh.3665819/13-ksh/syntax-error.sh[1]: syntax error: unexpected 'newline'
toysh13 Source with syntax error

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

stdout:
stderr: 
/home/andy/git/oils-for-unix/oils/_tmp/spec-tmp/builtin-eval-source.test.sh.3665819/13-toysh/syntax-error.sh: line 1: sh: syntax error: \n
bash14 Eval with syntax error

[bash stdout] Expected 'status=1\n', got 'status=2\n'

stdout:
status=2
stderr:
bash: eval: line 1: syntax error near unexpected token `newline'
bash: eval: line 1: `echo >'
mksh14 Eval with syntax error

stdout:
stderr: 
mksh: syntax error: 'newline' unexpected
ksh14 Eval with syntax error

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

stdout:
stderr: 
E: ksh: syntax error: unexpected 'newline'
toysh14 Eval with syntax error

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

stdout:
stderr: 
main: line 1: sh: syntax error: \n
mksh15 Eval in does tilde expansion

stdout:
FALSE
stderr:
ksh15 Eval in does tilde expansion

[ksh stdout] Expected 'FALSE\nFALSE\nTRUE\n', got 'FALSE\n'
[ksh status] Expected 0, got 1

stdout:
FALSE
stderr:
toysh15 Eval in does tilde expansion

[toysh stdout] Expected 'FALSE\nFALSE\nTRUE\n', got 'FALSE\n'
[toysh status] Expected 0, got 1

stdout:
FALSE
stderr:
mksh16 Eval in bash does tilde expansion in array

stdout:
FALSE
stderr:
ksh16 Eval in bash does tilde expansion in array

[ksh stdout] Expected 'FALSE\nFALSE\nTRUE\n', got 'FALSE\n'
[ksh status] Expected 0, got 1

stdout:
FALSE
stderr:
toysh16 Eval in bash does tilde expansion in array

[toysh stdout] Expected 'FALSE\nFALSE\nTRUE\n', got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
main: line 6: sh: syntax error: ~
mksh17 source works for files in current directory (bash only)

stdout:
stderr: 
mksh: <stdin>[3]: .: cmd: No such file or directory
ksh17 source works for files in current directory (bash only)

[ksh stdout] Expected 'current dir\nstatus=0\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[3]: .: cmd: No such file or directory
sush18 source looks in PATH for files

[sush stdout] Expected 'hi\n', got ''

stdout:
stderr: 
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: cmd: No such file or directory
brush18 source looks in PATH for files

[brush stdout] Expected 'hi\n', got ''

stdout:
stderr: 
ERROR failed to source file: cmd; i/o error: No such file or directory (os error 2)
toysh19 source finds files in PATH before current dir

[toysh stdout] Expected 'path\nstatus=0\n', got 'current dir\nstatus=0\n'

stdout:
current dir
status=0
stderr:
sush19 source finds files in PATH before current dir

[sush stdout] Expected 'path\nstatus=0\n', got 'current dir\nstatus=0\n'

stdout:
current dir
status=0
stderr:
brush19 source finds files in PATH before current dir

[brush stdout] Expected 'path\nstatus=0\n', got 'current dir\nstatus=0\n'

stdout:
current dir
status=0
stderr:
mksh21 source doesn't crash when targeting a directory

stdout:
status=0
stderr:
ksh21 source doesn't crash when targeting a directory

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

stdout:
status=0
stderr:
toysh21 source doesn't crash when targeting a directory

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

stdout:
status=0
stderr: