spec test index / oilshell.org
case | dash | bash | mksh | zsh | ash | osh | osh_ALT | osh-byterun | description |
0 | pass | pass | pass | BUG | pass | pass | pass | FAIL | echo dashes |
details | details | ||||||||
1 | BUG | pass | BUG | BUG | pass | pass | pass | FAIL | echo backslashes |
details | details | details | details | ||||||
2 | N-I | pass | pass | pass | pass | pass | pass | FAIL | echo -e backslashes |
details | details | ||||||||
3 | N-I | pass | pass | pass | pass | pass | pass | FAIL | echo -en |
details | details | ||||||||
4 | ok | pass | ok | ok | pass | pass | pass | FAIL | echo -ez (invalid flag) |
details | details | details | details | ||||||
5 | pass | pass | pass | pass | pass | pass | pass | FAIL | echo -e with embedded newline |
details | |||||||||
6 | pass | pass | pass | pass | pass | pass | pass | FAIL | echo -e line continuation |
details | |||||||||
7 | N-I | pass | pass | pass | pass | pass | pass | FAIL | echo -e with C escapes |
details | details | ||||||||
8 | N-I | pass | pass | pass | pass | pass | pass | FAIL | echo -e with whitespace C escapes |
details | details | ||||||||
9 | BUG | pass | pass | pass | pass | pass | pass | FAIL | \0 |
details | details | ||||||||
10 | pass | pass | N-I | pass | pass | pass | pass | FAIL | \c stops processing input |
details | details | ||||||||
11 | N-I | pass | pass | pass | pass | pass | pass | FAIL | echo -e with hex escape |
details | details | ||||||||
12 | pass | pass | pass | pass | pass | pass | pass | FAIL | echo -e with octal escape |
details | |||||||||
13 | N-I | pass | pass | pass | N-I | pass | pass | FAIL | echo -e with 4 digit unicode escape |
details | details | details | |||||||
14 | N-I | pass | pass | pass | N-I | pass | pass | FAIL | echo -e with 8 digit unicode escape |
details | details | details | |||||||
15 | N-I | pass | pass | pass | pass | pass | pass | FAIL | \0377 is the highest octal byte |
details | details | ||||||||
16 | N-I | pass | pass | pass | BUG | pass | pass | FAIL | \0400 is one more than the highest octal byte |
details | details | details | |||||||
17 | pass | pass | BUG | pass | BUG | pass | pass | FAIL | \0777 is out of range |
details | details | details | |||||||
18 | N-I | pass | pass | pass | pass | pass | pass | FAIL | incomplete hex escape |
details | details | ||||||||
19 | N-I | pass | BUG | BUG | pass | pass | pass | FAIL | \x |
details | details | details | details | ||||||
20 | pass | pass | pass | pass | pass | pass | pass | FAIL | incomplete octal escape |
details | |||||||||
21 | N-I | pass | pass | pass | BUG | pass | pass | FAIL | incomplete unicode escape |
details | details | details | |||||||
22 | N-I | pass | pass | pass | N-I | pass | pass | FAIL | \u6 |
details | details | details | |||||||
23 | BUG | pass | pass | pass | BUG | pass | pass | FAIL | \0 \1 \8 |
details | details | details | |||||||
24 | pass | pass | pass | pass | pass | pass | pass | FAIL | Read builtin |
details | |||||||||
25 | pass | pass | pass | pass | pass | pass | pass | FAIL | Read from empty file |
details | |||||||||
26 | pass | pass | pass | pass | pass | pass | pass | FAIL | Read builtin with no newline. |
details | |||||||||
27 | BUG | pass | pass | pass | pass | pass | pass | FAIL | Read builtin with multiple variables |
details | details | ||||||||
28 | pass | pass | pass | pass | pass | pass | pass | FAIL | Read builtin with not enough variables |
details | |||||||||
29 | N-I | pass | pass | N-I | pass | pass | pass | FAIL | Read -n (with $REPLY) |
details | details | details | |||||||
30 | N-I | pass | pass | pass | pass | pass | pass | FAIL | Read uses $REPLY (without -n) |
details | details | ||||||||
31 | pass | pass | pass | pass | pass | pass | pass | FAIL | read -r ignores backslashes |
details | |||||||||
32 | pass | pass | BUG | BUG | pass | pass | pass | FAIL | read -r with other backslash escapes |
details | details | details | |||||||
33 | N-I | pass | pass | pass | pass | pass | pass | FAIL | read with line continuation reads multiple physical lines |
details | details | ||||||||
34 | pass | pass | pass | pass | pass | pass | pass | FAIL | read multiple vars spanning many lines |
details | |||||||||
35 | BUG | pass | BUG | BUG | pass | pass | pass | FAIL | read -r with \n |
details | details | details | details | ||||||
36 | N-I | pass | pass | pass | pass | pass | pass | FAIL | Read with IFS=$'\n' |
details | details | ||||||||
37 | pass | pass | pass | pass | pass | pass | pass | FAIL | Read multiple lines with IFS=: |
details | |||||||||
38 | pass | pass | pass | pass | pass | pass | pass | FAIL | Read with IFS='' |
details | |||||||||
39 | BUG | pass | BUG | BUG | BUG | pass | pass | FAIL | Read should not respect C escapes. |
details | details | details | details | details | |||||
40 | pass | pass | pass | pass | pass | pass | pass | FAIL | Read builtin uses dynamic scope |
details | |||||||||
41 | N-I | pass | N-I | N-I | N-I | pass | pass | FAIL | read -a reads into array |
details | details | details | details | details |
242 passed, 3 ok, 26 known unimplemented, 23 known bugs, 0 failed, 0 skipped
zsh | 0 echo dashes stdout: -- ---stderr: |
osh-byterun | 0 echo dashes [osh-byterun stdout] Expected u'-\n--\n---\n', got '' [osh-byterun status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/opy_.py", line 10, in <module> from frontend import args ImportError: No module named frontend |
dash | 1 echo backslashes stdout: \ \ \ \stderr: |
mksh | 1 echo backslashes stdout: \ \ \ \stderr: |
zsh | 1 echo backslashes stdout: \ \ \ \stderr: |
osh-byterun | 1 echo backslashes [osh-byterun stdout] Expected '\\\n\\\n\\\\\n\\\n', got '' [osh-byterun status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/opy_.py", line 10, in <module> from frontend import args ImportError: No module named frontend |
dash | 2 echo -e backslashes stdout: -e \ -e \ -e \ -e \stderr: |
osh-byterun | 2 echo -e backslashes [osh-byterun stdout] Expected '\\\n\\\n\\\n\\\n', got '' [osh-byterun status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/opy_.py", line 10, in <module> from frontend import args ImportError: No module named frontend |
dash | 3 echo -en stdout: -en abc defstderr: |
osh-byterun | 3 echo -en [osh-byterun stdout] Expected u'abc\ndef\n', got '' [osh-byterun status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/opy_.py", line 10, in <module> from frontend import args ImportError: No module named frontend |
dash | 4 echo -ez (invalid flag) stdout: -ez abcstderr: |
mksh | 4 echo -ez (invalid flag) stdout: -ez abcstderr: |
zsh | 4 echo -ez (invalid flag) stdout: -ez abcstderr: |
osh-byterun | 4 echo -ez (invalid flag) [osh-byterun stdout] Expected u'-ez abc\\n\n', got '' [osh-byterun status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/opy_.py", line 10, in <module> from frontend import args ImportError: No module named frontend |
osh-byterun | 5 echo -e with embedded newline [osh-byterun stdout] Expected 'foo\nbar\n', got '' [osh-byterun status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/opy_.py", line 10, in <module> from frontend import args ImportError: No module named frontend |
osh-byterun | 6 echo -e line continuation [osh-byterun stdout] Expected 'foo\\\nbar\n', got '' [osh-byterun status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/opy_.py", line 10, in <module> from frontend import args ImportError: No module named frontend |
dash | 7 echo -e with C escapes stdout: -e \d\estderr: |
osh-byterun | 7 echo -e with C escapes [osh-byterun stdout] Expected u'\x07\x08\\d\x1b\x0c\n', got '' [osh-byterun status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/opy_.py", line 10, in <module> from frontend import args ImportError: No module named frontend |
dash | 8 echo -e with whitespace C escapes stdout: -estderr: |
osh-byterun | 8 echo -e with whitespace C escapes [osh-byterun stdout] Expected u'\n\r\t\x0b\n', got '' [osh-byterun status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/opy_.py", line 10, in <module> from frontend import args ImportError: No module named frontend |
dash | 9 \0 stdout: -e abstderr: |
osh-byterun | 9 \0 [osh-byterun stdout] Expected u'ab\x00cd\n', got '' [osh-byterun status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/opy_.py", line 10, in <module> from frontend import args ImportError: No module named frontend |
mksh | 10 \c stops processing input stdout: xy abde abdestderr: |
osh-byterun | 10 \c stops processing input [osh-byterun stdout] Expected u'xy ab', got '' [osh-byterun status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/opy_.py", line 10, in <module> from frontend import args ImportError: No module named frontend |
dash | 11 echo -e with hex escape stdout: -e abcd\x65fstderr: |
osh-byterun | 11 echo -e with hex escape [osh-byterun stdout] Expected u'abcdef\n', got '' [osh-byterun status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/opy_.py", line 10, in <module> from frontend import args ImportError: No module named frontend |
osh-byterun | 12 echo -e with octal escape [osh-byterun stdout] Expected u'abcd$e\n', got '' [osh-byterun status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/opy_.py", line 10, in <module> from frontend import args ImportError: No module named frontend |
dash | 13 echo -e with 4 digit unicode escape stdout: abcd\u0065fstderr: |
ash | 13 echo -e with 4 digit unicode escape stdout: abcd\u0065fstderr: |
osh-byterun | 13 echo -e with 4 digit unicode escape [osh-byterun stdout] Expected 'abcdef\n', got '' [osh-byterun status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/opy_.py", line 10, in <module> from frontend import args ImportError: No module named frontend |
dash | 14 echo -e with 8 digit unicode escape stdout: abcd\U00000065fstderr: |
ash | 14 echo -e with 8 digit unicode escape stdout: abcd\U00000065fstderr: |
osh-byterun | 14 echo -e with 8 digit unicode escape [osh-byterun stdout] Expected 'abcdef\n', got '' [osh-byterun status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/opy_.py", line 10, in <module> from frontend import args ImportError: No module named frontend |
dash | 15 \0377 is the highest octal byte stdout: 2d 65 6e 20 ff 37 0astderr: |
osh-byterun | 15 \0377 is the highest octal byte [osh-byterun stdout] Expected u' ff 37\n', got '' [osh-byterun status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/opy_.py", line 10, in <module> from frontend import args ImportError: No module named frontend |
dash | 16 \0400 is one more than the highest octal byte stdout: 2d 65 6e 20stderr: |
ash | 16 \0400 is one more than the highest octal byte stdout: 20 30 30stderr: |
osh-byterun | 16 \0400 is one more than the highest octal byte [osh-byterun stdout] Expected u' 00 30\n', got '' [osh-byterun status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/opy_.py", line 10, in <module> from frontend import args ImportError: No module named frontend |
mksh | 17 \0777 is out of range stdout: c3 bfstderr: |
ash | 17 \0777 is out of range stdout: 3f 37stderr: |
osh-byterun | 17 \0777 is out of range [osh-byterun stdout] Expected u' ff\n', got '' [osh-byterun status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/opy_.py", line 10, in <module> from frontend import args ImportError: No module named frontend |
dash | 18 incomplete hex escape stdout: - e n a b c d \ x 6 \nstderr: |
osh-byterun | 18 incomplete hex escape [osh-byterun stdout] Expected u' a b c d 006\n', got '' [osh-byterun status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/opy_.py", line 10, in <module> from frontend import args ImportError: No module named frontend |
dash | 19 \x stdout: - e \ x \ x g \nstderr: |
mksh | 19 \x stdout: \0 \0 g \nstderr: |
zsh | 19 \x stdout: \0 \0 g \nstderr: |
osh-byterun | 19 \x [osh-byterun stdout] Expected u' \\ x \\ x g \\n\n', got '' [osh-byterun status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/opy_.py", line 10, in <module> from frontend import args ImportError: No module named frontend |
osh-byterun | 20 incomplete octal escape [osh-byterun stdout] Expected u' a b c d 004\n', got '' [osh-byterun status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/opy_.py", line 10, in <module> from frontend import args ImportError: No module named frontend |
dash | 21 incomplete unicode escape stdout: - e n a b c d \ u 0 0 6 \nstderr: |
ash | 21 incomplete unicode escape stdout: a b c d \ u 0 0 6stderr: |
osh-byterun | 21 incomplete unicode escape [osh-byterun stdout] Expected u' a b c d 006\n', got '' [osh-byterun status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/opy_.py", line 10, in <module> from frontend import args ImportError: No module named frontend |
dash | 22 \u6 stdout: \ u 6stderr: |
ash | 22 \u6 stdout: \ u 6stderr: |
osh-byterun | 22 \u6 [osh-byterun stdout] Expected u' 006\n', got '' [osh-byterun status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/opy_.py", line 10, in <module> from frontend import args ImportError: No module named frontend |
dash | 23 \0 \1 \8 stdout: 001 \ 8stderr: |
ash | 23 \0 \1 \8 stdout: \0 001 \ 8stderr: |
osh-byterun | 23 \0 \1 \8 [osh-byterun stdout] Expected u' \\0 \\ 1 \\ 8\n', got '' [osh-byterun status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/opy_.py", line 10, in <module> from frontend import args ImportError: No module named frontend |
osh-byterun | 24 Read builtin [osh-byterun stdout] Expected '[A\t\tB C D E]\n', got '' [osh-byterun status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/opy_.py", line 10, in <module> from frontend import args ImportError: No module named frontend |
osh-byterun | 25 Read from empty file [osh-byterun stdout] Expected "['status=1', '']\n", got '' [osh-byterun status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/opy_.py", line 10, in <module> from frontend import args ImportError: No module named frontend |
osh-byterun | 26 Read builtin with no newline. [osh-byterun stdout] Expected u'1\nZZZ\n', got '' [osh-byterun status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/opy_.py", line 10, in <module> from frontend import args ImportError: No module named frontend |
dash | 27 Read builtin with multiple variables stdout: [A/B/C D E ]stderr: |
osh-byterun | 27 Read builtin with multiple variables [osh-byterun stdout] Expected '[A/B/C D E]\n', got '' [osh-byterun status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/opy_.py", line 10, in <module> from frontend import args ImportError: No module named frontend |
osh-byterun | 28 Read builtin with not enough variables [osh-byterun stdout] Expected '/A/B//\n', got '' [osh-byterun status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/opy_.py", line 10, in <module> from frontend import args ImportError: No module named frontend |
dash | 29 Read -n (with $REPLY) stdout: []stderr: _tmp/spec-bin/dash: 2: read: Illegal option -n _tmp/spec-bin/dash: 3: read: Illegal option -n |
zsh | 29 Read -n (with $REPLY) stdout: []stderr: |
osh-byterun | 29 Read -n (with $REPLY) [osh-byterun stdout] Expected "['1234', '12']\n", got '' [osh-byterun status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/opy_.py", line 10, in <module> from frontend import args ImportError: No module named frontend |
dash | 30 Read uses $REPLY (without -n) stdout: stderr: _tmp/spec-bin/dash: 2: read: arg count |
osh-byterun | 30 Read uses $REPLY (without -n) [osh-byterun stdout] Expected '123\n', got '' [osh-byterun status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/opy_.py", line 10, in <module> from frontend import args ImportError: No module named frontend |
osh-byterun | 31 read -r ignores backslashes [osh-byterun stdout] Expected "['one two', 'one\\\\ two']\n", got '' [osh-byterun status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/opy_.py", line 10, in <module> from frontend import args ImportError: No module named frontend |
mksh | 32 read -r with other backslash escapes stdout: ['one twoethree', 'one\\ twoethree']stderr: |
zsh | 32 read -r with other backslash escapes stdout: ['one twoethree', 'one\\ twoethree']stderr: |
osh-byterun | 32 read -r with other backslash escapes [osh-byterun stdout] Expected "['one twox65three', 'one\\\\ two\\\\x65three']\n", got '' [osh-byterun status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/opy_.py", line 10, in <module> from frontend import args ImportError: No module named frontend |
dash | 33 read with line continuation reads multiple physical lines stdout: ['-e onetwo', '-e one\\']stderr: |
osh-byterun | 33 read with line continuation reads multiple physical lines [osh-byterun stdout] Expected "['onetwo', 'one\\\\']\n", got '' [osh-byterun status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/opy_.py", line 10, in <module> from frontend import args ImportError: No module named frontend |
osh-byterun | 34 read multiple vars spanning many lines [osh-byterun stdout] Expected "['one-two', 'three-four five-six', '']\n", got '' [osh-byterun status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/opy_.py", line 10, in <module> from frontend import args ImportError: No module named frontend |
dash | 35 read -r with \n stdout: ['', '']stderr: |
mksh | 35 read -r with \n stdout: ['', '']stderr: |
zsh | 35 read -r with \n stdout: ['', '']stderr: |
osh-byterun | 35 read -r with \n [osh-byterun stdout] Expected "['nline', '\\\\nline']\n", got '' [osh-byterun status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/opy_.py", line 10, in <module> from frontend import args ImportError: No module named frontend |
dash | 36 Read with IFS=$'\n' stdout: [a b c]stderr: |
osh-byterun | 36 Read with IFS=$'\n' [osh-byterun stdout] Expected '[ a b c]\n', got '' [osh-byterun status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/opy_.py", line 10, in <module> from frontend import args ImportError: No module named frontend |
osh-byterun | 37 Read multiple lines with IFS=: [osh-byterun stdout] Expected '[ \\a |b: c|d e|]\n', got '' [osh-byterun status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/opy_.py", line 10, in <module> from frontend import args ImportError: No module named frontend |
osh-byterun | 38 Read with IFS='' [osh-byterun stdout] Expected '[ a b c d|]\n', got '' [osh-byterun status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/opy_.py", line 10, in <module> from frontend import args ImportError: No module named frontend |
dash | 39 Read should not respect C escapes. stdout: stderr: |
mksh | 39 Read should not respect C escapes. stdout: d g h e 145 istderr: |
zsh | 39 Read should not respect C escapes. stdout: stderr: |
ash | 39 Read should not respect C escapes. stdout: abcdefghx65 145 istderr: |
osh-byterun | 39 Read should not respect C escapes. [osh-byterun stdout] Expected u'a b c d e f g h x65 145 i\n', got '' [osh-byterun status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/opy_.py", line 10, in <module> from frontend import args ImportError: No module named frontend |
osh-byterun | 40 Read builtin uses dynamic scope [osh-byterun stdout] Expected 'ref: refs/heads/dev/andy\n', got '' [osh-byterun status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/opy_.py", line 10, in <module> from frontend import args ImportError: No module named frontend |
dash | 41 read -a reads into array stdout: stderr: |
mksh | 41 read -a reads into array stdout: stderr: |
zsh | 41 read -a reads into array stdout: stderr: |
ash | 41 read -a reads into array stdout: stderr: |
osh-byterun | 41 read -a reads into array [osh-byterun stdout] Expected "['a', 'b', 'c d']\n['a', 'b', 'c\\\\', 'd']\n[]\n[]\n", got '' [osh-byterun status] Expected 0, got 1 stdout: stderr: Traceback (most recent call last): File "/home/andy/git/oilshell/oil/bin/opy_.py", line 10, in <module> from frontend import args ImportError: No module named frontend |