glob () { run-file glob "$@" } 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
150 passed, 1 OK, 30 not implemented, 11 BUG, 3 failed, 0 timeouts, 0 cases skipped 3 failed under osh
dash | 13 store literal globs in array then expand stdout: stderr: dash: 2: Syntax error: "(" unexpected |
ash | 13 store literal globs in array then expand stdout: stderr: ash: syntax error: unexpected "(" |
dash | 14 glob inside array stdout: stderr: dash: 2: Syntax error: "(" unexpected |
ash | 14 glob inside array stdout: stderr: ash: syntax error: unexpected "(" |
mksh | 16 glob with char class expression stdout: _tmp/*.[[:punct:]E]stderr: |
bash | 19 : escaped stdout: _tmp/foo.- _tmp/foo.-stderr: |
mksh | 19 : escaped stdout: _tmp/*.[[:punct:]] _tmp/*.[[:punct:]]stderr: |
ash | 19 : escaped stdout: _tmp/foo.- _tmp/foo.-stderr: |
dash | 25 shopt -s nullglob stdout: ['_tmp/spec-tmp/*.nonexistent'] ['_tmp/spec-tmp/*.nonexistent']stderr: dash: 2: shopt: not found |
mksh | 25 shopt -s nullglob stdout: ['_tmp/spec-tmp/*.nonexistent'] ['_tmp/spec-tmp/*.nonexistent']stderr: mksh: <stdin>[2]: shopt: not found |
ash | 25 shopt -s nullglob stdout: ['_tmp/spec-tmp/*.nonexistent'] ['_tmp/spec-tmp/*.nonexistent']stderr: ash: shopt: not found |
dash | 26 shopt -s failglob in command context stdout: ['*.ZZ'] ['*.ZZ'] status=0stderr: dash: 2: shopt: not found |
mksh | 26 shopt -s failglob in command context stdout: ['*.ZZ'] ['*.ZZ'] status=0stderr: mksh: <stdin>[2]: shopt: not found |
ash | 26 shopt -s failglob in command context stdout: ['*.ZZ'] ['*.ZZ'] status=0stderr: ash: shopt: not found |
dash | 27 shopt -s failglob in loop context stdout: *.ZZ status=0 *.ZZ status=0stderr: dash: 3: shopt: not found |
mksh | 27 shopt -s failglob in loop context stdout: *.ZZ status=0 *.ZZ status=0stderr: mksh: <stdin>[3]: shopt: not found |
ash | 27 shopt -s failglob in loop context stdout: *.ZZ status=0 *.ZZ status=0stderr: ash: shopt: not found |
dash | 28 shopt -s failglob in array literal context stdout: stderr: dash: 1: Syntax error: "(" unexpected |
mksh | 28 shopt -s failglob in array literal context stdout: *.ZZ status=0stderr: mksh: <stdin>[3]: shopt: not found |
ash | 28 shopt -s failglob in array literal context stdout: stderr: ash: syntax error: unexpected "(" |
dash | 29 shopt -s failglob exits properly in command context with set -e stdout: ['*.ZZ']stderr: dash: 3: shopt: not found |
mksh | 29 shopt -s failglob exits properly in command context with set -e stdout: ['*.ZZ']stderr: mksh: <stdin>[3]: shopt: not found |
ash | 29 shopt -s failglob exits properly in command context with set -e stdout: ['*.ZZ']stderr: ash: shopt: not found |
dash | 30 shopt -s failglob exits properly in loop context with set -e stdout: *.ZZ status=0stderr: dash: 5: shopt: not found |
mksh | 30 shopt -s failglob exits properly in loop context with set -e stdout: *.ZZ status=0stderr: mksh: <stdin>[5]: shopt: not found |
ash | 30 shopt -s failglob exits properly in loop context with set -e stdout: *.ZZ status=0stderr: ash: shopt: not found |
dash | 31 shopt -s failglob behavior on single line with semicolon stdout: *.ZZ status=0 *.ZZ status=0stderr: dash: 1: shopt: not found |
mksh | 31 shopt -s failglob behavior on single line with semicolon stdout: *.ZZ status=0 *.ZZ status=0stderr: mksh: <stdin>[1]: shopt: not found |
ash | 31 shopt -s failglob behavior on single line with semicolon stdout: *.ZZ status=0 *.ZZ status=0stderr: ash: shopt: not found |
osh | 31 shopt -s failglob behavior on single line with semicolon stdout: status=1 status=1stderr: echo *.ZZ; echo status=$? # bash doesn't execute the second part! ^~~~ [ stdin ]:2: failglob: Pattern '*.ZZ' matched no files echo *.ZZ ^~~~ [ stdin ]:3: failglob: Pattern '*.ZZ' matched no files |
dash | 32 Splitting/Globbing doesn't happen on local assignment stdout: stderr: dash: 4: local: INSTALL-old.txt: bad variable name |
dash | 34 Glob of negated unescaped [[] and []] stdout: _[^[z] _[^]z] _[^[z] _[^]z]stderr: |
mksh | 34 Glob of negated unescaped [[] and []] stdout: _[^[z] _[^]z] _[^[z] _[^]z]stderr: |
dash | 35 PatSub of unescaped [[] and []] stdout: stderr: dash: 2: Bad substitution |
osh | 35 PatSub of unescaped [[] and []] [osh stdout] Expected '<foo]\n[foo>\n<foo]\n[foo>\n', got '<foo]\n[foo>\n[foo]\n[foo>\n' stdout: <foo] [foo> [foo] [foo>stderr: |
dash | 36 PatSub of negated unescaped [[] and []] stdout: stderr: dash: 2: Bad substitution |
mksh | 36 PatSub of negated unescaped [[] and []] stdout: <foo] [foo> <foo]stderr: |
osh | 36 PatSub of negated unescaped [[] and []] [osh stdout] Expected '[<<<<\n>>>>]\n[<<<<\n', got '[<<<<\n>>>>]\n[foo]\n' stdout: [<<<< >>>>] [foo]stderr: |
dash | 37 Glob unicode char stdout: __a__stderr: |
mksh | 37 Glob unicode char stdout: __a__stderr: |
ash | 37 Glob unicode char stdout: __a__stderr: |
dash | 38 dotglob (bash option that dashglob is roughly consistent with) stdout: other otherstderr: dash: 6: shopt: not found |
mksh | 38 dotglob (bash option that dashglob is roughly consistent with) stdout: other otherstderr: mksh: <stdin>[6]: shopt: not found |
ash | 38 dotglob (bash option that dashglob is roughly consistent with) stdout: other otherstderr: ash: shopt: not found |
osh | 38 dotglob (bash option that dashglob is roughly consistent with) [osh stdout] Expected 'other\n.foorc other\n', got 'other\nother\n' stdout: other otherstderr: |