Results for special-vars.test.sh

statusdashbashmkshzshosh
pass 1530192024
ok 00120
N-I 140840
BUG 10240
FAIL 00006
total3030303030
casedashbashmkshzshoshdescription
0pass pass pass pass pass $PWD is set
1pass pass BUG pass pass $PWD is not only set, but exported
details
2pass pass pass BUG pass $HOME is NOT set
details
3pass pass pass BUG pass $1 .. $9 are scoped, while $0 is not
details
4pass pass pass pass pass $?
5pass pass pass pass pass $#
6N-I pass N-I pass FAIL $_
detailsdetailsdetails
7pass pass pass pass pass $$ looks like a PID
8pass pass pass pass pass $$ doesn't change with subshell or command sub
9N-I pass pass N-I pass $BASHPID DOES change with subshell and command sub
detailsdetails
10pass pass pass pass pass Background PID $! looks like a PID
11pass pass pass pass pass $PPID
12N-I pass pass N-I pass $PIPESTATUS
detailsdetails
13N-I pass pass pass FAIL $RANDOM
detailsdetails
14N-I pass N-I pass pass $UID and $EUID
detailsdetails
15N-I pass N-I pass pass $OSTYPE is non-empty
detailsdetails
16N-I pass N-I N-I pass $HOSTNAME
detailsdetailsdetails
17BUG pass pass BUG pass $LINENO is the current line, not line of function call
detailsdetails
18pass pass pass BUG pass $LINENO in "bare" redirect arg (bug regression)
details
19pass pass pass pass pass $LINENO in redirect arg (bug regression)
20N-I pass N-I pass pass $LINENO for [[
detailsdetails
21N-I pass pass pass pass $LINENO for ((
details
22pass pass ok pass pass $LINENO in for loop
details
23pass pass pass pass pass $LINENO in other for loops
24N-I pass BUG pass FAIL $LINENO in for (( loop
detailsdetailsdetails
25pass pass pass pass pass $LINENO for assignment
26N-I pass N-I pass FAIL $_
detailsdetailsdetails
27N-I pass N-I ok FAIL $_ with assignments, arrays, etc.
detailsdetailsdetailsdetails
28N-I pass pass ok FAIL $_ undefined
detailsdetailsdetails
29N-I pass N-I N-I pass BASH_VERSION / OIL_VERSION
detailsdetailsdetails
108 passed, 3 OK, 26 not implemented, 7 BUG, 6 failed, 0 timeouts, 0 cases skipped
6 failed under osh

Details on runs that didn't PASS

mksh1 $PWD is not only set, but exported

stdout:
stderr: 
zsh2 $HOME is NOT set

stdout:
zsh sets HOME
stderr:
zsh3 $1 .. $9 are scoped, while $0 is not

stdout:
fun a b
stderr:
dash6 $_

stdout:
hi

stderr:
mksh6 $_

stdout:
hi

stderr:
osh6 $_

[osh stdout] Expected u'hi\nhi\n', got 'hi\n\n'

stdout:
hi

stderr:
dash9 $BASHPID DOES change with subshell and command sub

stdout:
stderr: 
empty BASHPID in parent
zsh9 $BASHPID DOES change with subshell and command sub

stdout:
stderr: 
empty BASHPID in parent
dash12 $PIPESTATUS

stdout:
stderr: 
dash: 2: Bad substitution
zsh12 $PIPESTATUS

stdout:
['']
stderr:
dash13 $RANDOM

stdout:
0
stderr:
osh13 $RANDOM

[osh status] Expected 0, got 1

stdout:
0
stderr:
dash14 $UID and $EUID

stdout:
stderr: 
mksh14 $UID and $EUID

stdout:
stderr: 
dash15 $OSTYPE is non-empty

stdout:
status=1
stderr:
mksh15 $OSTYPE is non-empty

stdout:
status=1
stderr:
dash16 $HOSTNAME

stdout:
status=1
stderr:
mksh16 $HOSTNAME

stdout:
status=1
stderr:
zsh16 $HOSTNAME

stdout:
status=1
stderr:
dash17 $LINENO is the current line, not line of function call

stdout:
1
['2']
['2']
['4']
stderr:
zsh17 $LINENO is the current line, not line of function call

stdout:
1
['1']
['1']
['3']
stderr:
zsh18 $LINENO in "bare" redirect arg (bug regression)

stdout:
stderr: 
dash20 $LINENO for [[

stdout:
one
stderr:
dash: 2: [[: not found
mksh20 $LINENO for [[

stdout:
one
stderr:
dash21 $LINENO for ((

stdout:
one

stderr:
dash: 2: x: not found
mksh22 $LINENO in for loop

stdout:
one
1
zzz
stderr:
dash24 $LINENO in for (( loop

stdout:
one
stderr:
dash: 2: Syntax error: Bad for loop variable
mksh24 $LINENO in for (( loop

stdout:
one
stderr:
mksh: <stdin>[2]: syntax error: '((' unexpected
osh24 $LINENO in for (( loop

[osh stdout] Expected 'one\n0\n1\n', got 'one\n0\n1\n2\n'

stdout:
one
0
1
2
stderr:
dash26 $_

stdout:

stderr:
mksh26 $_

stdout:

stderr:
osh26 $_

[osh stdout] Expected '1\nfoobar\n', got '\n\n'

stdout:

stderr:
dash27 $_ with assignments, arrays, etc.

stdout:
stderr: 
mksh27 $_ with assignments, arrays, etc.

stdout:
stderr: 
zsh27 $_ with assignments, arrays, etc.

stdout:
foo
s:
s:declare
a:s:declare
a:declare
flag:-g
stderr:
osh27 $_ with assignments, arrays, etc.

[osh stdout] Expected 'foo\ns:\ns:s=bar\na:\na:a\nflag:a\n', got '\ns:\ns:\na:\na:\nflag:\n'

stdout:
s:
s:
a:
a:
flag:
stderr:
dash28 $_ undefined

stdout:
stderr: 
dash: 1: _: parameter not set
zsh28 $_ undefined

stdout:
stderr: 
osh28 $_ undefined

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

stdout:
stderr: 
  echo $_
       ^~
[ -c flag ]:1: fatal: Undefined variable '_'
  x=$($SH -u -c 'echo $_')
  ^~
[ stdin ]:3: fatal: Exiting with status 1 (assignment in PID 25145)
dash29 BASH_VERSION / OIL_VERSION

stdout:
no version
stderr:
mksh29 BASH_VERSION / OIL_VERSION

stdout:
no version
stderr:
zsh29 BASH_VERSION / OIL_VERSION

stdout:
no version
stderr: