Results for vars-special.test.sh

statusdashbash-4mkshzshosh
pass 1842222838
ok 00241
N-I 2201450
BUG 20450
FAIL 00003
total4242424242
casedashbash-4mkshzshoshdescription
0pass pass pass pass pass $PWD is set
1pass pass BUG pass pass $PWD is not only set, but exported
details
2pass pass pass pass pass $PATH is set if unset at startup
3pass pass pass BUG pass $HOME is NOT set
details
4N-I pass N-I N-I pass Vars set interactively only: $HISTFILE
detailsdetailsdetails
5N-I pass ok ok pass Some vars are set, even without startup file, or env: PATH, PWD
detailsdetailsdetails
6BUG pass BUG pass FAIL UID EUID PPID can't be changed
detailsdetailsdetails
7pass pass pass BUG pass HOSTNAME OSTYPE can be changed
details
8pass pass pass BUG pass $1 .. $9 are scoped, while $0 is not
details
9pass pass pass pass pass $?
10pass pass pass pass pass $#
11pass pass pass pass pass $$ looks like a PID
12pass pass pass pass pass $$ doesn't change with subshell or command sub
13N-I pass pass N-I pass $BASHPID DOES change with subshell and command sub
detailsdetails
14pass pass pass pass pass Background PID $! looks like a PID
15pass pass pass pass pass $PPID
16N-I pass pass N-I pass $PIPESTATUS
detailsdetails
17N-I pass pass pass FAIL $RANDOM
detailsdetails
18N-I pass N-I pass pass $UID and $EUID
detailsdetails
19N-I pass N-I pass pass $OSTYPE is non-empty
detailsdetails
20N-I pass N-I N-I pass $HOSTNAME
detailsdetailsdetails
21BUG pass pass BUG pass $LINENO is the current line, not line of function call
detailsdetails
22pass pass pass BUG pass $LINENO in "bare" redirect arg (bug regression)
details
23pass pass pass pass pass $LINENO in redirect arg (bug regression)
24N-I pass N-I pass pass $LINENO in [[
detailsdetails
25N-I pass pass pass pass $LINENO in ((
details
26pass pass ok pass pass $LINENO in for loop
details
27pass pass pass pass pass $LINENO in other for loops
28N-I pass BUG pass FAIL $LINENO in for (( loop
detailsdetailsdetails
29pass pass pass pass pass $LINENO for assignment
30pass pass BUG pass pass $LINENO in case
details
31N-I pass N-I pass pass $_ with simple command and evaluation
detailsdetails
32N-I pass N-I pass pass $_ and ${_}
detailsdetails
33N-I pass N-I pass pass $_ with word splitting
detailsdetails
34N-I pass N-I ok pass $_ with pipeline and subshell
detailsdetailsdetails
35N-I pass N-I pass pass $_ with && and ||
detailsdetails
36N-I pass N-I pass pass $_ is not reset with (( and [[
detailsdetails
37N-I pass N-I ok ok $_ with assignments, arrays, etc.
detailsdetailsdetailsdetails
38N-I pass N-I ok pass $_ with loop
detailsdetailsdetails
39N-I pass pass pass pass $_ is not undefined on first use
details
40N-I pass N-I N-I pass BASH_VERSION / OILS_VERSION
detailsdetailsdetails
41N-I pass pass pass pass $SECONDS
details
148 passed, 7 OK, 41 not implemented, 11 BUG, 3 failed, 0 timeouts, 0 cases skipped
3 failed under osh

Details on runs that didn't PASS

mksh1 $PWD is not only set, but exported

stdout:
stderr: 
zsh3 $HOME is NOT set

stdout:
zsh sets HOME
stderr:
dash4 Vars set interactively only: $HISTFILE

stdout:
stderr: 
mksh4 Vars set interactively only: $HISTFILE

stdout:
stderr: 
zsh4 Vars set interactively only: $HISTFILE

stdout:
stderr: 
dash5 Some vars are set, even without startup file, or env: PATH, PWD

stdout:
stderr: 
mksh5 Some vars are set, even without startup file, or env: PATH, PWD

stdout:
path pwd ps4 0
shellopts 0
home ps1 0
ifs 0
stderr:
typeset -x PATH=/usr/bin:/bin
typeset PWD=/home/uke/oil/_tmp/spec-tmp/vars-special.test.sh.33147/05-mksh
typeset PS4='+ '
typeset -x HOME=
typeset PS1='$ '
typeset IFS=$' \t\n'
zsh5 Some vars are set, even without startup file, or env: PATH, PWD

stdout:
path pwd ps4 0
shellopts 1
home ps1 0
ifs 0
stderr:
typeset PATH=/bin:/usr/bin:/usr/ucb:/usr/local/bin
typeset PWD=/home/uke/oil/_tmp/spec-tmp/vars-special.test.sh.33147/05-zsh
typeset PS4='+%N:%i> '
zsh:typeset:1: no such variable: SHELLOPTS
typeset HOME=/home/uke
typeset PS1=''
typeset IFS=' 	
'
dash6 UID EUID PPID can't be changed

stdout:
uid=xx
euid=xx
status=0
stderr:
mksh6 UID EUID PPID can't be changed

stdout:
uid=xx
euid=xx
status=0
stderr:
osh6 UID EUID PPID can't be changed

[osh stdout] Expected 'status=1\n', got 'uid=xx\neuid=xx\nstatus=0\n'

stdout:
uid=xx
euid=xx
status=0
stderr:
zsh7 HOSTNAME OSTYPE can be changed

stdout:
stderr: 
zsh8 $1 .. $9 are scoped, while $0 is not

stdout:
a b
stderr:
dash13 $BASHPID DOES change with subshell and command sub

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

stdout:
stderr: 
empty BASHPID in parent
dash16 $PIPESTATUS

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

stdout:
['']
stderr:
dash17 $RANDOM

stdout:
0
stderr:
osh17 $RANDOM

[osh status] Expected 0, got 1

stdout:
0
stderr:
dash18 $UID and $EUID

stdout:
stderr: 
mksh18 $UID and $EUID

stdout:
stderr: 
dash19 $OSTYPE is non-empty

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

stdout:
status=1
stderr:
dash20 $HOSTNAME

stdout:
status=1
stderr:
mksh20 $HOSTNAME

stdout:
status=1
stderr:
zsh20 $HOSTNAME

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

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

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

stdout:
stderr: 
dash24 $LINENO in [[

stdout:
one
stderr:
dash: 2: [[: not found
mksh24 $LINENO in [[

stdout:
one
stderr:
dash25 $LINENO in ((

stdout:
one

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

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

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

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

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

stdout:
one
0
1
2
stderr:
mksh30 $LINENO in case

stdout:
line=3
stderr:
dash31 $_ with simple command and evaluation

stdout:
hi world

stderr:
mksh31 $_ with simple command and evaluation

stdout:
hi world

stderr:
dash32 $_ and ${_}

stdout:
stderr: 
mksh32 $_ and ${_}

stdout:
stderr: 
dash33 $_ with word splitting

stdout:
stderr: 
mksh33 $_ with word splitting

stdout:
stderr: 
dash34 $_ with pipeline and subshell

stdout:
stderr: 
mksh34 $_ with pipeline and subshell

stdout:
stderr: 
zsh34 $_ with pipeline and subshell

stdout:
last=3
pipeline=last=3
subshell=
done=
stderr:
zsh: command not found: shopt
seq: write error: Broken pipe
dash35 $_ with && and ||

stdout:
stderr: 
mksh35 $_ with && and ||

stdout:
stderr: 
dash36 $_ is not reset with (( and [[

stdout:
stderr: 
mksh36 $_ is not reset with (( and [[

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

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

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

stdout:
colon [foo]
bare assign []
declare [declare]
array [declare [declare]]
declare array [declare]
declare flag [-g]
stderr:
osh37 $_ with assignments, arrays, etc.

stdout:
colon [foo]
bare assign [colon [foo]]
declare [bare assign [colon [foo]]]
array [declare [bare assign [colon [foo]]]]
declare array [array [declare [bare assign [colon [foo]]]]]
declare flag [declare array [array [declare [bare assign [colon [foo]]]]]]
stderr:
dash38 $_ with loop

stdout:
stderr: 
mksh38 $_ with loop

stdout:
stderr: 
zsh38 $_ with loop

stdout:
init
begin=init
prev=
prev=prev=
prev=prev=prev=
stderr:
dash39 $_ is not undefined on first use

stdout:
stderr: 
dash: 1: _: parameter not set
dash40 BASH_VERSION / OILS_VERSION

stdout:
no version
stderr:
mksh40 BASH_VERSION / OILS_VERSION

stdout:
no version
stderr:
zsh40 BASH_VERSION / OILS_VERSION

stdout:
no version
stderr:
dash41 $SECONDS

stdout:
seconds=
stderr: