139 passed, 2 OK, 1 not implemented, 7 BUG, 47 failed, 0 timeouts, 0 cases skipped 2 failed under osh
mksh | 1 Pattern replacement on unset variable stdout: -- status=0 --stderr: |
ksh | 1 Pattern replacement on unset variable [ksh stdout] Expected '--\nstatus=0\n', got '--\nstatus=0\n--\n' [ksh status] Expected 1, got 0 stdout: -- status=0 --stderr: |
toysh | 1 Pattern replacement on unset variable [toysh stdout] Expected '--\nstatus=0\n', got '\nstatus=0\n\n' [toysh status] Expected 1, got 0 stdout: status=0stderr: set: bad -o nounset |
sush | 1 Pattern replacement on unset variable [sush stdout] Expected '--\nstatus=0\n', got '--\nstatus=0\n--\n' [sush status] Expected 1, got 0 stdout: -- status=0 --stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: set: nounset: invalid option name |
brush | 1 Pattern replacement on unset variable [brush stdout] Expected '--\nstatus=0\n', got '--\nstatus=0\n--\n' [brush status] Expected 1, got 0 stdout: -- status=0 --stderr: |
toysh | 2 Global Pattern replacement with / [toysh stdout] Expected 'yy_xx_xx yy_yy_xx\n', got 'yy_xx_xx yy_yy_yy_<0\xf8\xd2\x7f\n' stdout: 'yy_xx_xx yy_yy_yy_<0\xf8\xd2\x7f\n'stderr: |
mksh | 7 Replace char class stdout: xx_xx_xx xx_xx_xxstderr: |
ksh | 7 Replace char class [ksh stdout] Expected 'yy_yy_yy xx-xx-xx\n', got 'yy_yy_yy --_--_--\n' stdout: yy_yy_yy --_--_--stderr: |
toysh | 7 Replace char class [toysh stdout] Expected 'yy_yy_yy xx-xx-xx\n', got 'xx_xx_xx xx_xx_xx\n' stdout: xx_xx_xx xx_xx_xxstderr: |
toysh | 8 Replace hard glob [toysh stdout] Expected 'aa__cc\n', got 'aa__\n' stdout: aa__stderr: |
sush | 8 Replace hard glob [sush stdout] Expected 'aa__cc\n', got '__cc\n' stdout: __ccstderr: |
mksh | 11 Confusing unquoted slash matches bash (and ash) stdout: /_/ c_cstderr: |
ksh | 11 Confusing unquoted slash matches bash (and ash) [ksh stdout] Expected 'c_c\nc_c\n', got '/_/\nc_c\n' stdout: /_/ c_cstderr: |
toysh | 11 Confusing unquoted slash matches bash (and ash) [toysh stdout] Expected 'c_c\nc_c\n', got '/_/\n/_/\n' stdout: /_/ /_/stderr: |
sush | 11 Confusing unquoted slash matches bash (and ash) [sush stdout] Expected 'c_c\nc_c\n', got '/_/\nc_c\n' stdout: /_/ c_cstderr: |
brush | 11 Confusing unquoted slash matches bash (and ash) [brush stdout] Expected 'c_c\nc_c\n', got '/c//c_/c//c\nc_c\n' stdout: /c//c_/c//c c_cstderr: |
mksh | 12 Synthesized ${x///} bug (similar to above) stdout: ambiguous: slash / brace } hi quoted: slash brace } histderr: |
ksh | 12 Synthesized ${x///} bug (similar to above) [ksh stdout] Expected 'ambiguous: slash brace } hi\nquoted: slash brace } hi\n' Got 'ambiguous: slash / brace } hi\nquoted: slash brace } hi\n' stdout: ambiguous: slash / brace } hi quoted: slash brace } histderr: |
toysh | 12 Synthesized ${x///} bug (similar to above) [toysh stdout] Expected 'ambiguous: slash brace } hi\nquoted: slash brace } hi\n' Got 'ambiguous: slash / brace } hi\nquoted: slash / brace } hi\n' stdout: ambiguous: slash / brace } hi quoted: slash / brace } histderr: |
sush | 12 Synthesized ${x///} bug (similar to above) [sush stdout] Expected 'ambiguous: slash brace } hi\nquoted: slash brace } hi\n' Got 'ambiguous: slash / brace } hi\nquoted: slash brace } hi\n' stdout: ambiguous: slash / brace } hi quoted: slash brace } histderr: |
brush | 12 Synthesized ${x///} bug (similar to above) [brush stdout] Expected 'ambiguous: slash brace } hi\nquoted: slash brace } hi\n' Got 'ambiguous: slash / brace } hi\nquoted: slash brace } hi\n' stdout: ambiguous: slash / brace } hi quoted: slash brace } histderr: |
toysh | 14 Replacement with special chars (bug fix) [toysh stdout] Expected '?x\n', got '"?"x\n' stdout: "?"xstderr: |
mksh | 15 Replace backslash stdout: [_] [_] [\_] [_]stderr: |
ksh | 15 Replace backslash [ksh stdout] Expected '[_]\n[\\_]\n[\\_]\n[_]\n', got '[_]\n[_]\n[\\_]\n[_]\n' stdout: [_] [_] [\_] [_]stderr: |
toysh | 15 Replace backslash [toysh stdout] Expected '[_]\n[\\_]\n[\\_]\n[_]\n', got '[\\f]\n[\\f]\n[\\]\n[_]\n' stdout: [\f] [\f] [\] [_]stderr: |
sush | 15 Replace backslash [sush stdout] Expected '[_]\n[\\_]\n[\\_]\n[_]\n', got '[\\_]\n[\\_]\n[\\_]\n[\\_]\n' stdout: [\_] [\_] [\_] [\_]stderr: |
toysh | 16 Replace right ] [toysh stdout] Expected '--_--\n--_--\n', got '--]--\n--]--\n' stdout: --]-- --]--stderr: |
toysh | 17 Substitute glob characters in pattern, quoted and unquoted [toysh stdout] Expected 'a-b\n-\n', got '' [toysh status] Expected 0, got -6 stdout: stderr: munmap_chunk(): invalid pointer |
sush | 17 Substitute glob characters in pattern, quoted and unquoted [sush stdout] Expected 'a-b\n-\n', got '-\n-\n' stdout: - -stderr: |
mksh | 18 Substitute one unicode character (UTF-8) stdout: _μ_ and _μ_ _μ_ and _μ_ _μ_ and _μ_stderr: |
toysh | 19 When LC_ALL=C, pattern ? doesn't match multibyte character [toysh stdout] Expected '_\xce\xbc_ and _\xce\xbc_\n_\xce\xbc_ and _\xce\xbc_\n_\xce\xbc_ and _\xce\xbc_\n\nfoo and foo\nfoo and _y_\n_x_ and foo\n' Got 'foo and foo\nfoo and _\xce\xbc_\n_\xce\xbc_ and foo\n\nfoo and foo\nfoo and _y_\n_x_ and foo\n' stdout: foo and foo foo and _μ_ _μ_ and foo foo and foo foo and _y_ _x_ and foostderr: |
sush | 19 When LC_ALL=C, pattern ? doesn't match multibyte character [sush stdout] Expected '_\xce\xbc_ and _\xce\xbc_\n_\xce\xbc_ and _\xce\xbc_\n_\xce\xbc_ and _\xce\xbc_\n\nfoo and foo\nfoo and _y_\n_x_ and foo\n' Got 'foo and foo\nfoo and _\xce\xbc_\n_\xce\xbc_ and foo\n\nfoo and foo\nfoo and _y_\n_x_ and foo\n' stdout: foo and foo foo and _μ_ _μ_ and foo foo and foo foo and _y_ _x_ and foostderr: |
brush | 19 When LC_ALL=C, pattern ? doesn't match multibyte character [brush stdout] Expected '_\xce\xbc_ and _\xce\xbc_\n_\xce\xbc_ and _\xce\xbc_\n_\xce\xbc_ and _\xce\xbc_\n\nfoo and foo\nfoo and _y_\n_x_ and foo\n' Got 'foo and foo\nfoo and _\xce\xbc_\n_\xce\xbc_ and foo\n\nfoo and foo\nfoo and _y_\n_x_ and foo\n' stdout: foo and foo foo and _μ_ _μ_ and foo foo and foo foo and _y_ _x_ and foostderr: |
osh | 19 When LC_ALL=C, pattern ? doesn't match multibyte character [osh stdout] Expected '_\xce\xbc_ and _\xce\xbc_\n_\xce\xbc_ and _\xce\xbc_\n_\xce\xbc_ and _\xce\xbc_\n\nfoo and foo\nfoo and _y_\n_x_ and foo\n' Got 'foo and foo\nfoo and _\xce\xbc_\n_\xce\xbc_ and foo\n\nfoo and foo\nfoo and _y_\n_x_ and foo\n' stdout: foo and foo foo and _μ_ _μ_ and foo foo and foo foo and _y_ _x_ and foostderr: |
toysh | 20 ${x/^} regression [toysh stdout] Expected 'abc\nabc\n^^\n^^^\n!!!\n!!\nb!c\na^c\n', got 'abc\nabc\n^^\n^^^\n!!!\n!!!\nb!c\na^!c\n' stdout: abc abc ^^ ^^^ !!! !!! b!c a^!cstderr: |
toysh | 21 \(\) in pattern (regression) [toysh stdout] Expected '1 z\n2 z\n3 fooz\n4 z\n', got '1 z\n2 z\n3 foo\n4 z\n' stdout: 1 z 2 z 3 foo 4 zstderr: |
sush | 21 \(\) in pattern (regression) [sush stdout] Expected '1 z\n2 z\n3 fooz\n4 z\n', got '1 foo()\n2 foo()\n3 fooz\n4 foo()\n' stdout: 1 foo() 2 foo() 3 fooz 4 foo()stderr: |
mksh | 22 patsub with single quotes and hyphen in character class (regression) stdout: helloworldstderr: |
ksh | 22 patsub with single quotes and hyphen in character class (regression) [ksh stdout] Expected '++--.,<>[]\n', got 'helloworld\n' stdout: helloworldstderr: |
toysh | 22 patsub with single quotes and hyphen in character class (regression) [toysh stdout] Expected '++--.,<>[]\n', got '^++--hello.,world<>[]\n' stdout: ^++--hello.,world<>[]stderr: |
sush | 22 patsub with single quotes and hyphen in character class (regression) [sush stdout] Expected '++--.,<>[]\n', got '^++--hello.,world<>[]\n' stdout: ^++--hello.,world<>[]stderr: |
brush | 22 patsub with single quotes and hyphen in character class (regression) [brush stdout] Expected '++--.,<>[]\n', got '^++--hello.,world<>[]\n' stdout: ^++--hello.,world<>[]stderr: [31mERROR[0m error: invalid regex: Parsing error at position 27: Invalid character class; expression: '(?ms)[^\>\<\+\-\.\,\\\[\]\]' |
osh | 23 patsub with [^]] [osh stdout] Expected 'ab^cd^\n', got 'zzzzzz\n' stdout: zzzzzzstderr: |
bash | 24 [a-z] Invalid range end is syntax error stdout: fooz status=0stderr: |
mksh | 24 [a-z] Invalid range end is syntax error stdout: fooz status=0stderr: |
ksh | 24 [a-z] Invalid range end is syntax error [ksh stdout] Expected u'', got 'fooz\nstatus=0\n' [ksh status] Expected 1, got 0 stdout: fooz status=0stderr: |
toysh | 24 [a-z] Invalid range end is syntax error [toysh stdout] Expected u'', got 'fooz\nstatus=0\n' [toysh status] Expected 1, got 0 stdout: fooz status=0stderr: |
sush | 24 [a-z] Invalid range end is syntax error [sush stdout] Expected u'', got 'fooz\nstatus=0\n' [sush status] Expected 1, got 0 stdout: fooz status=0stderr: |
brush | 24 [a-z] Invalid range end is syntax error [brush stdout] Expected u'', got 'status=1\n' [brush status] Expected 1, got 0 stdout: status=1stderr: [31mERROR[0m error: invalid regex: Error compiling regex: Regex error: error parsing pattern 0; expression: '(?ms)[z-a]' |
sush | 25 Pattern is empty $foo$bar -- regression for infinite loop [sush stdout] Expected '-foo-\n', got '' [sush status] Expected 0, got 1 stdout: stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: parse error |
brush | 25 Pattern is empty $foo$bar -- regression for infinite loop [brush stdout] Expected '-foo-\n', got 'bar-barfbarobarobar-bar\n' stdout: bar-barfbarobarobar-barstderr: |
mksh | 26 Chromium from http://www.oilshell.org/blog/2016/11/07.html stdout: /foo/bar/baz \/foo\/bar\/bazstderr: |
ksh | 26 Chromium from http://www.oilshell.org/blog/2016/11/07.html [ksh stdout] Expected '\\/foo\\/bar\\/baz\n\\/foo\\/bar\\/baz\n', got '/foo/bar/baz\n\\/foo\\/bar\\/baz\n' stdout: /foo/bar/baz \/foo\/bar\/bazstderr: |
toysh | 26 Chromium from http://www.oilshell.org/blog/2016/11/07.html [toysh stdout] Expected '\\/foo\\/bar\\/baz\n\\/foo\\/bar\\/baz\n', got '' [toysh status] Expected 0, got -6 stdout: stderr: munmap_chunk(): invalid pointer |
sush | 26 Chromium from http://www.oilshell.org/blog/2016/11/07.html [sush stdout] Expected '\\/foo\\/bar\\/baz\n\\/foo\\/bar\\/baz\n', got '/foo/bar/baz\n\\/foo\\/bar\\/baz\n' stdout: /foo/bar/baz \/foo\/bar\/bazstderr: |
brush | 26 Chromium from http://www.oilshell.org/blog/2016/11/07.html [brush stdout] Expected '\\/foo\\/bar\\/baz\n\\/foo\\/bar\\/baz\n', got '/\\///\\/f/\\/o/\\/o/\\///\\/b/\\/a/\\/r/\\///\\/b/\\/a/\\/z/\\/\n\\/foo\\/bar\\/baz\n' stdout: /\///\/f/\/o/\/o/\///\/b/\/a/\/r/\///\/b/\/a/\/z/\/ \/foo\/bar\/bazstderr: |
sush | 27 ${x//~homedir/} [sush stdout] Expected 'z/git/oilshell\nz/git/oilshell\n', got 'zzgitzoilshell\nz/git/oilshell\n' stdout: zzgitzoilshell z/git/oilshellstderr: |