vars-special () { run-file vars-special "$@" } run-file () { local spec_name=$1; shift; sh-spec spec/$spec_name.test.sh --compare-shells --oils-bin-dir $PWD/bin "$@" }
spec test index / oilshell.org
138 passed, 5 OK, 37 not implemented, 8 BUG, 2 failed, 0 timeouts, 0 cases skipped 2 failed under osh
mksh | 1 $PWD is not only set, but exported stdout: stderr: |
zsh | 3 $HOME is NOT set stdout: zsh sets HOMEstderr: |
zsh | 4 $1 .. $9 are scoped, while $0 is not stdout: a bstderr: |
dash | 9 $BASHPID DOES change with subshell and command sub stdout: stderr: empty BASHPID in parent |
zsh | 9 $BASHPID DOES change with subshell and command sub stdout: stderr: empty BASHPID in parent |
dash | 12 $PIPESTATUS stdout: stderr: dash: 2: Bad substitution |
zsh | 12 $PIPESTATUS stdout: ['']stderr: |
dash | 13 $RANDOM stdout: 0stderr: |
osh | 13 $RANDOM [osh status] Expected 0, got 1 stdout: 0stderr: |
dash | 14 $UID and $EUID stdout: stderr: |
mksh | 14 $UID and $EUID stdout: stderr: |
dash | 15 $OSTYPE is non-empty stdout: status=1stderr: |
mksh | 15 $OSTYPE is non-empty stdout: status=1stderr: |
dash | 16 $HOSTNAME stdout: status=1stderr: |
mksh | 16 $HOSTNAME stdout: status=1stderr: |
zsh | 16 $HOSTNAME stdout: status=1stderr: |
dash | 17 $LINENO is the current line, not line of function call stdout: 1 ['2'] ['2'] ['4']stderr: |
zsh | 17 $LINENO is the current line, not line of function call stdout: 1 ['1'] ['1'] ['3']stderr: |
zsh | 18 $LINENO in "bare" redirect arg (bug regression) stdout: stderr: |
dash | 20 $LINENO in [[ stdout: onestderr: dash: 2: [[: not found |
mksh | 20 $LINENO in [[ stdout: onestderr: |
dash | 21 $LINENO in (( stdout: onestderr: dash: 2: x: not found |
mksh | 22 $LINENO in for loop stdout: one 1 zzzstderr: |
dash | 24 $LINENO in for (( loop stdout: onestderr: dash: 2: Syntax error: Bad for loop variable |
mksh | 24 $LINENO in for (( loop stdout: onestderr: mksh: <stdin>[2]: syntax error: '((' unexpected |
osh | 24 $LINENO in for (( loop [osh stdout] Expected 'one\n0\n1\n', got 'one\n0\n1\n2\n' stdout: one 0 1 2stderr: |
mksh | 26 $LINENO in case stdout: line=3stderr: |
dash | 27 $_ with simple command and evaluation stdout: hi worldstderr: |
mksh | 27 $_ with simple command and evaluation stdout: hi worldstderr: |
dash | 28 $_ and ${_} stdout: stderr: |
mksh | 28 $_ and ${_} stdout: stderr: |
dash | 29 $_ with word splitting stdout: stderr: |
mksh | 29 $_ with word splitting stdout: stderr: |
dash | 30 $_ with pipeline and subshell stdout: stderr: |
mksh | 30 $_ with pipeline and subshell stdout: stderr: |
zsh | 30 $_ with pipeline and subshell stdout: last=3 pipeline=last=3 subshell= done=stderr: zsh: command not found: shopt seq: write error: Broken pipe |
dash | 31 $_ with && and || stdout: stderr: |
mksh | 31 $_ with && and || stdout: stderr: |
dash | 32 $_ is not reset with (( and [[ stdout: stderr: |
mksh | 32 $_ is not reset with (( and [[ stdout: stderr: |
dash | 33 $_ with assignments, arrays, etc. stdout: stderr: |
mksh | 33 $_ with assignments, arrays, etc. stdout: stderr: |
zsh | 33 $_ with assignments, arrays, etc. stdout: colon [foo] bare assign [] declare [declare] array [declare [declare]] declare array [declare] declare flag [-g]stderr: |
osh | 33 $_ 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: |
dash | 34 $_ with loop stdout: stderr: |
mksh | 34 $_ with loop stdout: stderr: |
zsh | 34 $_ with loop stdout: init begin=init prev= prev=prev= prev=prev=prev=stderr: |
dash | 35 $_ is not undefined on first use stdout: stderr: dash: 1: _: parameter not set |
dash | 36 BASH_VERSION / OILS_VERSION stdout: no versionstderr: |
mksh | 36 BASH_VERSION / OILS_VERSION stdout: no versionstderr: |
zsh | 36 BASH_VERSION / OILS_VERSION stdout: no versionstderr: |
dash | 37 $SECONDS stdout: seconds=stderr: |