174 passed, 5 OK, 1 not implemented, 19 BUG, 81 failed, 0 timeouts, 0 cases skipped 2 failed under osh
dash | 0 Pattern replacement [dash stdout] Expected 'abXX\n', got '' [dash status] Expected 0, got 2 stdout: stderr: dash: 2: Bad substitution |
dash | 1 Pattern replacement on unset variable [dash stdout] Expected '--\nstatus=0\n', got '' [dash status] Expected 1, got 2 stdout: stderr: dash: 1: Bad substitution |
ash | 1 Pattern replacement on unset variable stdout: -- status=0stderr: ash: v: parameter not set |
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: |
dash | 2 Global Pattern replacement with / [dash stdout] Expected 'yy_xx_xx yy_yy_xx\n', got '' [dash status] Expected 0, got 2 stdout: stderr: dash: 2: Bad substitution |
toysh | 2 Global Pattern replacement with / [toysh stdout] Expected 'yy_xx_xx yy_yy_xx\n', got 'yy_xx_xx yy_yy_yy_\\\xc7\xa7/\x7f\n' stdout: yy_xx_xx yy_yy_yy_\ǧ/stderr: |
dash | 3 Left Anchored Pattern replacement with # [dash stdout] Expected 'xx_yy_xx xx_xx_xx\n', got '' [dash status] Expected 0, got 2 stdout: stderr: dash: 2: Bad substitution |
dash | 4 Right Anchored Pattern replacement with % [dash stdout] Expected 'xx_yy_xx xx_xx_yy\n', got '' [dash status] Expected 0, got 2 stdout: stderr: dash: 2: Bad substitution |
ash | 4 Right Anchored Pattern replacement with % stdout: xx_yy_xx xx_xx_xxstderr: |
dash | 5 Replace fixed strings [dash stdout] Expected 'yy_xx yy_yy yy_xx xx_yy\n', got '' [dash status] Expected 0, got 2 stdout: stderr: dash: 2: Bad substitution |
ash | 5 Replace fixed strings stdout: yy_xx yy_yy xx_xx xx_xxstderr: |
dash | 6 Replace is longest match [dash stdout] Expected 'begin [] end\n', got '' [dash status] Expected 0, got 2 stdout: stderr: dash: 2: Bad substitution |
dash | 7 Replace char class [dash stdout] Expected 'yy_yy_yy xx-xx-xx\n', got '' [dash status] Expected 0, got 2 stdout: stderr: dash: 2: Bad substitution |
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: |
dash | 8 Replace hard glob [dash stdout] Expected 'aa__cc\n', got '' [dash status] Expected 0, got 2 stdout: stderr: dash: 2: Bad substitution |
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: |
dash | 9 ${v/} is empty search and replacement [dash stdout] Expected '-abcde-\nstatus=0\n', got '' [dash status] Expected 0, got 2 stdout: stderr: dash: 2: Bad substitution |
ash | 9 ${v/} is empty search and replacement stdout: -abcde - status=0stderr: |
dash | 10 ${v//} is empty search and replacement [dash stdout] Expected '-a/b/c-\nstatus=0\n', got '' [dash status] Expected 0, got 2 stdout: stderr: dash: 2: Bad substitution |
ash | 10 ${v//} is empty search and replacement stdout: -a/b/c - status=0stderr: |
dash | 11 Confusing unquoted slash matches bash (and ash) [dash stdout] Expected 'c_c\nc_c\n', got '' [dash status] Expected 0, got 2 stdout: stderr: dash: 2: Bad substitution |
ash | 11 Confusing unquoted slash matches bash (and ash) stdout: c_c /_/ /cstderr: |
zsh | 11 Confusing unquoted slash matches bash (and ash) stdout: /c//c_/c/ /_/stderr: |
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: |
dash | 12 Synthesized ${x///} bug (similar to above) [dash stdout] Expected 'ambiguous: slash brace } hi\nquoted: slash brace } hi\n' Got '' [dash status] Expected 0, got 2 stdout: stderr: dash: 2: Bad substitution |
ash | 12 Synthesized ${x///} bug (similar to above) stdout: ambiguous: slash brace } hi quoted: slash / brace } histderr: |
zsh | 12 Synthesized ${x///} bug (similar to above) stdout: ambiguous: slash / brace } hi quoted: slash / brace } histderr: |
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: |
dash | 13 ${v/a} is the same as ${v/a/} -- no replacement string [dash stdout] Expected 'abb\nstatus=0\n', got '' [dash status] Expected 0, got 2 stdout: stderr: dash: 2: Bad substitution |
dash | 14 Replacement with special chars (bug fix) [dash stdout] Expected '?x\n', got '' [dash status] Expected 0, got 2 stdout: stderr: dash: 2: Bad substitution |
toysh | 14 Replacement with special chars (bug fix) [toysh stdout] Expected '?x\n', got '"?"x\n' stdout: "?"xstderr: |
dash | 15 Replace backslash [dash stdout] Expected '[_]\n[\\_]\n[\\_]\n[_]\n', got '' [dash status] Expected 0, got 2 stdout: stderr: dash: 3: Bad substitution |
zsh | 15 Replace backslash stdout: [_] [_] [\_] [_]stderr: |
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: |
dash | 16 Replace right ] [dash stdout] Expected '--_--\n--_--\n', got '' [dash status] Expected 0, got 2 stdout: stderr: dash: 3: Bad substitution |
toysh | 16 Replace right ] [toysh stdout] Expected '--_--\n--_--\n', got '--]--\n--]--\n' stdout: --]-- --]--stderr: |
dash | 17 Substitute glob characters in pattern, quoted and unquoted [dash stdout] Expected 'a-b\n-\n', got '' [dash status] Expected 0, got 2 stdout: stderr: dash: 5: Bad substitution |
ash | 17 Substitute glob characters in pattern, quoted and unquoted [ash stdout] Expected 'a-b\n-\n', got '' stdout: stderr: |
zsh | 17 Substitute glob characters in pattern, quoted and unquoted stdout: a-b a-bstderr: |
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: |
dash | 18 Substitute one unicode character (UTF-8) [dash stdout] Expected 'foo and foo\nfoo and _\xce\xbc_\n_\xce\xbc_ and foo\n', got '' [dash status] Expected 0, got 2 stdout: stderr: dash: 6: Bad substitution |
ash | 18 Substitute one unicode character (UTF-8) [ash stdout] Expected 'foo and foo\nfoo and _\xce\xbc_\n_\xce\xbc_ and foo\n', got '_\xce\xbc_ and _\xce\xbc_\n_\xce\xbc_ and _\xce\xbc_\n_\xce\xbc_ and _\xce\xbc_\n' stdout: _μ_ and _μ_ _μ_ and _μ_ _μ_ and _μ_stderr: |
mksh | 18 Substitute one unicode character (UTF-8) stdout: _μ_ and _μ_ _μ_ and _μ_ _μ_ and _μ_stderr: |
dash | 19 When LC_ALL=C, pattern ? doesn't match multibyte character [dash 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 '' [dash status] Expected 0, got 2 stdout: stderr: dash: 6: Bad substitution |
ash | 19 When LC_ALL=C, pattern ? doesn't match multibyte character [ash 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 '_\xce\xbc_ and _\xce\xbc_\n_\xce\xbc_ and _\xce\xbc_\n_\xce\xbc_ and _\xce\xbc_\n\nfoo and foo\n_x_ and _y_\n_x_ and _y_\n' stdout: _μ_ and _μ_ _μ_ and _μ_ _μ_ and _μ_ foo and foo _x_ and _y_ _x_ and _y_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: |
dash | 20 ${x/^} regression [dash stdout] Expected 'abc\nabc\n^^\n^^^\n!!!\n!!\nb!c\na^c\n', got '' [dash status] Expected 0, got 2 stdout: stderr: dash: 2: Bad substitution |
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: |
dash | 21 \(\) in pattern (regression) [dash stdout] Expected '1 z\n2 z\n3 fooz\n4 z\n', got '' [dash status] Expected 0, got 2 stdout: stderr: dash: 2: Bad substitution |
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: |
dash | 22 patsub with single quotes and hyphen in character class (regression) [dash stdout] Expected '++--.,<>[]\n', got '' [dash status] Expected 0, got 2 stdout: stderr: dash: 2: Bad substitution |
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)[^\>\<\+\-\.\,\\\[\]\]' |
dash | 23 patsub with [^]] [dash stdout] Expected 'ab^cd^\n', got '' [dash status] Expected 0, got 2 stdout: stderr: dash: 3: Bad substitution |
ash | 23 patsub with [^]] [ash stdout] Expected 'ab^cd^\n', got 'zzzzzz\n' stdout: zzzzzzstderr: |
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: |
dash | 24 [a-z] Invalid range end is syntax error [dash status] Expected 1, got 2 stdout: stderr: dash: 3: Bad substitution |
ash | 24 [a-z] Invalid range end is syntax error stdout: fooz status=0stderr: |
zsh | 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]' |
dash | 25 Pattern is empty $foo$bar -- regression for infinite loop [dash stdout] Expected '-foo-\n', got '' [dash status] Expected 0, got 2 stdout: stderr: dash: 3: Bad substitution |
ash | 25 Pattern is empty $foo$bar -- regression for infinite loop [ash stdout] Expected '-foo-\n', got '-foo- bar\n' stdout: -foo- barstderr: |
zsh | 25 Pattern is empty $foo$bar -- regression for infinite loop stdout: bar-barfbarobarobar-stderr: |
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: |
dash | 26 Chromium from http://www.oilshell.org/blog/2016/11/07.html [dash stdout] Expected '\\/foo\\/bar\\/baz\n\\/foo\\/bar\\/baz\n', got '' [dash status] Expected 0, got 2 stdout: stderr: dash: 4: Bad substitution |
ash | 26 Chromium from http://www.oilshell.org/blog/2016/11/07.html [ash 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/baz /\/stderr: |
zsh | 26 Chromium from http://www.oilshell.org/blog/2016/11/07.html stdout: stderr: |
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: |
dash | 27 ${x//~homedir/} [dash stdout] Expected 'z/git/oilshell\nz/git/oilshell\n', got '' [dash status] Expected 0, got 2 stdout: stderr: dash: 4: Bad substitution |
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: |