Results for regex.test.sh

statusbashdashashzshmkshkshtoyshsushbrushosh
pass 35210166611233037
ok 0007000000
N-I 0005000000
BUG 2009000000
FAIL 0352703131251470
TIME 0000001000
total37373737373737373737
casebashdashashzshmkshkshtoyshsushbrushoshdescription
0pass FAIL FAIL N-I FAIL FAIL FAIL pass pass pass BASH_REMATCH
detailsdetailsdetailsdetailsdetailsdetails
1pass FAIL pass pass FAIL FAIL pass pass pass pass Match is unanchored at both ends
detailsdetailsdetails
2pass FAIL pass pass pass pass pass pass pass pass Failed match
details
3pass FAIL FAIL pass FAIL FAIL FAIL pass pass pass Regex quoted with \ -- preferred in bash
detailsdetailsdetailsdetailsdetails
4pass FAIL FAIL ok pass pass pass pass pass pass Regex quoted with single quotes
detailsdetailsdetails
5pass FAIL FAIL ok pass pass pass pass pass pass Regex quoted with double quotes
detailsdetailsdetails
6pass FAIL FAIL pass FAIL FAIL FAIL pass pass pass Fix single quotes by storing in variable
detailsdetailsdetailsdetailsdetails
7pass FAIL FAIL pass FAIL FAIL FAIL pass pass pass Fix single quotes by storing in variable
detailsdetailsdetailsdetailsdetails
8pass FAIL FAIL ok pass pass pass pass pass pass Double quoting pat variable -- again bash doesn't like it.
detailsdetailsdetails
9pass FAIL pass pass FAIL FAIL pass FAIL pass pass Mixing quoted and unquoted parts
detailsdetailsdetailsdetails
10pass pass pass ok FAIL FAIL pass pass pass pass Regex with == and not =~ is parse error, different lexer mode required
detailsdetailsdetails
11pass FAIL pass pass pass pass pass pass pass pass Omitting ( )
details
12pass pass pass ok FAIL FAIL pass pass pass pass Malformed regex
detailsdetailsdetails
13pass FAIL FAIL N-I FAIL FAIL FAIL pass pass pass Regex with |
detailsdetailsdetailsdetailsdetailsdetails
14pass FAIL FAIL ok FAIL FAIL FAIL pass pass pass Regex to match literal brackets []
detailsdetailsdetailsdetailsdetailsdetails
15pass FAIL FAIL BUG FAIL FAIL FAIL pass pass pass Regex to match literals . ^ $ etc.
detailsdetailsdetailsdetailsdetailsdetails
16BUG FAIL FAIL BUG FAIL FAIL FAIL FAIL FAIL pass Unquoted { is a regex parse error
detailsdetailsdetailsdetailsdetailsdetailsdetailsdetailsdetails
17BUG FAIL FAIL pass pass pass FAIL FAIL FAIL pass Fatal error inside [[ =~ ]]
detailsdetailsdetailsdetailsdetailsdetails
18pass FAIL FAIL N-I FAIL FAIL FAIL FAIL pass pass Quoted { and +
detailsdetailsdetailsdetailsdetailsdetailsdetails
19pass FAIL FAIL BUG FAIL FAIL FAIL pass pass pass Escaped {
detailsdetailsdetailsdetailsdetailsdetails
20pass FAIL FAIL BUG FAIL FAIL FAIL pass pass pass Escaped { stored in variable first
detailsdetailsdetailsdetailsdetailsdetails
21pass FAIL pass pass FAIL FAIL FAIL pass pass pass regex with ?
detailsdetailsdetailsdetails
22pass FAIL pass pass FAIL FAIL FAIL pass pass pass regex with unprintable characters
detailsdetailsdetailsdetails
23pass FAIL FAIL pass FAIL FAIL FAIL pass pass pass pattern $f(x) -- regression
detailsdetailsdetailsdetailsdetails
24pass FAIL FAIL BUG FAIL FAIL FAIL FAIL pass pass pattern a=(1)
detailsdetailsdetailsdetailsdetailsdetailsdetails
25pass FAIL FAIL pass FAIL FAIL FAIL pass pass pass pattern @f(x)
detailsdetailsdetailsdetailsdetails
26pass FAIL FAIL pass FAIL FAIL FAIL FAIL pass pass Bug: Nix idiom with closing ) next to pattern
detailsdetailsdetailsdetailsdetailsdetails
27pass FAIL FAIL pass FAIL FAIL FAIL FAIL FAIL pass unquoted (a b) as pattern, (a b|c)
detailsdetailsdetailsdetailsdetailsdetailsdetails
28pass FAIL FAIL BUG FAIL FAIL FAIL FAIL pass pass Multiple adjacent () groups
detailsdetailsdetailsdetailsdetailsdetailsdetails
29pass FAIL FAIL ok FAIL FAIL FAIL FAIL FAIL pass unquoted [a b] as pattern, [a b|c]
detailsdetailsdetailsdetailsdetailsdetailsdetailsdetails
30pass FAIL FAIL N-I FAIL FAIL FAIL pass pass pass c|a unquoted
detailsdetailsdetailsdetailsdetailsdetails
31pass FAIL FAIL BUG FAIL FAIL TIME FAIL pass pass Operator chars ; & but not |
detailsdetailsdetailsdetailsdetailsdetailsdetails
32pass FAIL pass pass FAIL FAIL pass FAIL pass pass Quotes '' "" $'' $"" in pattern
detailsdetailsdetailsdetails
33pass FAIL pass pass FAIL FAIL pass pass pass pass Unicode in pattern
detailsdetailsdetails
34pass FAIL FAIL BUG FAIL FAIL FAIL FAIL FAIL pass Parse error with 2 words
detailsdetailsdetailsdetailsdetailsdetailsdetailsdetails
35pass FAIL FAIL BUG FAIL FAIL FAIL FAIL FAIL pass make a lisp example
detailsdetailsdetailsdetailsdetailsdetailsdetailsdetails
36pass FAIL FAIL N-I FAIL FAIL FAIL FAIL FAIL pass Operators and space lose meaning inside ()
detailsdetailsdetailsdetailsdetailsdetailsdetailsdetails
176 passed, 7 OK, 5 not implemented, 11 BUG, 170 failed, 1 timeouts, 0 cases skipped

Details on runs that didn't PASS

dash0 BASH_REMATCH

[dash stdout] Expected "status=0\n['foo123', 'foo', '123']\nstatus=1\n[]\n" Got ''
[dash status] Expected 0, got 2

stdout:
stderr: 
dash: 1: Syntax error: "(" unexpected
ash0 BASH_REMATCH

[ash stdout] Expected "status=0\n['foo123', 'foo', '123']\nstatus=1\n[]\n" Got ''
[ash status] Expected 0, got 2

stdout:
stderr: 
ash: syntax error: unexpected "("
zsh0 BASH_REMATCH

stdout:
status=0
['']
status=1
['']
stderr:
mksh0 BASH_REMATCH

[mksh stdout] Expected "status=0\n['foo123', 'foo', '123']\nstatus=1\n[]\n" Got ''
[mksh status] Expected 0, got 1

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: '=~' unexpected operator/operand
ksh0 BASH_REMATCH

[ksh stdout] Expected "status=0\n['foo123', 'foo', '123']\nstatus=1\n[]\n" Got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[1]: syntax error: unexpected operator/operand '=~'
toysh0 BASH_REMATCH

[toysh stdout] Expected "status=0\n['foo123', 'foo', '123']\nstatus=1\n[]\n" Got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
main: line 1: sh: syntax error: )
dash1 Match is unanchored at both ends

[dash stdout] Expected 'true\n', got ''
[dash status] Expected 0, got 127

stdout:
stderr: 
dash: 1: [[: not found
mksh1 Match is unanchored at both ends

[mksh stdout] Expected 'true\n', got ''
[mksh status] Expected 0, got 1

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: '=~' unexpected operator/operand
ksh1 Match is unanchored at both ends

[ksh stdout] Expected 'true\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[1]: syntax error: unexpected operator/operand '=~'
dash2 Failed match

[dash status] Expected 1, got 127

stdout:
stderr: 
dash: 1: [[: not found
dash3 Regex quoted with \ -- preferred in bash

[dash stdout] Expected 'true\n', got ''
[dash status] Expected 0, got 2

stdout:
stderr: 
dash: 1: Syntax error: "(" unexpected
ash3 Regex quoted with \ -- preferred in bash

[ash stdout] Expected 'true\n', got ''
[ash status] Expected 0, got 2

stdout:
stderr: 
ash: syntax error: unexpected "("
mksh3 Regex quoted with \ -- preferred in bash

[mksh stdout] Expected 'true\n', got ''
[mksh status] Expected 0, got 1

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: '=~' unexpected operator/operand
ksh3 Regex quoted with \ -- preferred in bash

[ksh stdout] Expected 'true\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[1]: syntax error: unexpected operator/operand '=~'
toysh3 Regex quoted with \ -- preferred in bash

[toysh stdout] Expected 'true\n', got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
main: line 1: sh: syntax error: )
dash4 Regex quoted with single quotes

[dash status] Expected 1, got 127

stdout:
stderr: 
dash: 1: [[: not found
ash4 Regex quoted with single quotes

[ash stdout] Expected u'', got 'true\n'
[ash status] Expected 1, got 0

stdout:
true
stderr:
zsh4 Regex quoted with single quotes

stdout:
true
stderr:
dash5 Regex quoted with double quotes

[dash status] Expected 1, got 127

stdout:
stderr: 
dash: 1: [[: not found
ash5 Regex quoted with double quotes

[ash stdout] Expected u'', got 'true\n'
[ash status] Expected 1, got 0

stdout:
true
stderr:
zsh5 Regex quoted with double quotes

stdout:
true
stderr:
dash6 Fix single quotes by storing in variable

[dash stdout] Expected 'true\n', got ''
[dash status] Expected 0, got 127

stdout:
stderr: 
dash: 2: [[: not found
ash6 Fix single quotes by storing in variable

[ash stdout] Expected 'true\n', got ''
[ash status] Expected 0, got 2

stdout:
stderr: 
mksh6 Fix single quotes by storing in variable

[mksh stdout] Expected 'true\n', got ''
[mksh status] Expected 0, got 1

stdout:
stderr: 
mksh: <stdin>[2]: syntax error: '=~' unexpected operator/operand
ksh6 Fix single quotes by storing in variable

[ksh stdout] Expected 'true\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[2]: syntax error: unexpected operator/operand '=~'
toysh6 Fix single quotes by storing in variable

[toysh stdout] Expected 'true\n', got ''
[toysh status] Expected 0, got 1

stdout:
stderr: 
dash7 Fix single quotes by storing in variable

[dash stdout] Expected 'true\n', got ''
[dash status] Expected 0, got 127

stdout:
stderr: 
dash: 2: [[: not found
ash7 Fix single quotes by storing in variable

[ash stdout] Expected 'true\n', got ''
[ash status] Expected 0, got 2

stdout:
stderr: 
mksh7 Fix single quotes by storing in variable

[mksh stdout] Expected 'true\n', got ''
[mksh status] Expected 0, got 1

stdout:
stderr: 
mksh: <stdin>[2]: syntax error: '=~' unexpected operator/operand
ksh7 Fix single quotes by storing in variable

[ksh stdout] Expected 'true\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[2]: syntax error: unexpected operator/operand '=~'
toysh7 Fix single quotes by storing in variable

[toysh stdout] Expected 'true\n', got ''
[toysh status] Expected 0, got 1

stdout:
stderr: 
dash8 Double quoting pat variable -- again bash doesn't like it.

[dash status] Expected 1, got 127

stdout:
stderr: 
dash: 2: [[: not found
ash8 Double quoting pat variable -- again bash doesn't like it.

[ash stdout] Expected u'', got 'true\n'
[ash status] Expected 1, got 0

stdout:
true
stderr:
zsh8 Double quoting pat variable -- again bash doesn't like it.

stdout:
true
stderr:
dash9 Mixing quoted and unquoted parts

[dash stdout] Expected 'true\ntrue\n', got ''
[dash status] Expected 0, got 127

stdout:
stderr: 
dash: 1: [[: not found
dash: 2: [[: not found
mksh9 Mixing quoted and unquoted parts

[mksh stdout] Expected 'true\ntrue\n', got ''
[mksh status] Expected 0, got 1

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: '=~' unexpected operator/operand
ksh9 Mixing quoted and unquoted parts

[ksh stdout] Expected 'true\ntrue\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[1]: syntax error: unexpected operator/operand '=~'
sush9 Mixing quoted and unquoted parts

[sush stdout] Expected 'true\ntrue\n', got ''
[sush status] Expected 0, got 1

stdout:
stderr: 
zsh10 Regex with == and not =~ is parse error, different lexer mode required

stdout:
stderr: 
mksh10 Regex with == and not =~ is parse error, different lexer mode required

[mksh status] Expected 2, got 1

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: '(' unexpected operator/operand
ksh10 Regex with == and not =~ is parse error, different lexer mode required

[ksh status] Expected 2, got 1

stdout:
stderr: 
E: ksh: <stdin>[1]: syntax error: unexpected operator/operand '('
dash11 Omitting ( )

[dash stdout] Expected 'true\n', got ''
[dash status] Expected 0, got 127

stdout:
stderr: 
dash: 1: [[: not found
zsh12 Malformed regex

stdout:
stderr: 
zsh: parse error near `)'
mksh12 Malformed regex

[mksh status] Expected 2, got 1

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: '=~' unexpected operator/operand
ksh12 Malformed regex

[ksh status] Expected 2, got 1

stdout:
stderr: 
E: ksh: <stdin>[1]: syntax error: unexpected operator/operand '=~'
dash13 Regex with |

[dash stdout] Expected 'true\n', got ''
[dash status] Expected 0, got 127

stdout:
stderr: 
dash: 1: [[: not found
dash: 1: bar: not found
ash13 Regex with |

[ash stdout] Expected 'true\n', got ''
[ash status] Expected 0, got 127

stdout:
stderr: 
ash: missing ]]
ash: bar: not found
zsh13 Regex with |

stdout:
stderr: 
zsh: parse error near `|'
mksh13 Regex with |

[mksh stdout] Expected 'true\n', got ''
[mksh status] Expected 0, got 1

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: '=~' unexpected operator/operand
ksh13 Regex with |

[ksh stdout] Expected 'true\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[1]: syntax error: unexpected operator/operand '=~'
toysh13 Regex with |

[toysh stdout] Expected 'true\n', got ''
[toysh status] Expected 0, got -11

stdout:
stderr: 
dash14 Regex to match literal brackets []

[dash stdout] Expected 'true\ntrue\n', got ''
[dash status] Expected 0, got 127

stdout:
stderr: 
dash: 1: [[: not found
dash: 4: [[: not found
ash14 Regex to match literal brackets []

[ash stdout] Expected 'true\ntrue\n', got 'true\n'

stdout:
true
stderr:
zsh14 Regex to match literal brackets []

stdout:
true
stderr:
zsh: failed to compile regex: Unmatched [, [^, [:, [., or [=
mksh14 Regex to match literal brackets []

[mksh stdout] Expected 'true\ntrue\n', got ''
[mksh status] Expected 0, got 1

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: '=~' unexpected operator/operand
ksh14 Regex to match literal brackets []

[ksh stdout] Expected 'true\ntrue\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[1]: syntax error: unexpected operator/operand '=~'
toysh14 Regex to match literal brackets []

[toysh stdout] Expected 'true\ntrue\n', got 'true\n'

stdout:
true
stderr:
[[: bad regex '[]': Unmatched [, [^, [:, [., or [=
dash15 Regex to match literals . ^ $ etc.

[dash stdout] Expected 'false\ntrue\nfalse\ntrue\nfalse\ntrue\nfalse\ntrue\n' Got 'false\nfalse\nfalse\nfalse\n'
[dash status] Expected 0, got 127

stdout:
false
false
false
false
stderr:
dash: 1: [[: not found
dash: 2: [[: not found
dash: 4: [[: not found
dash: 5: [[: not found
dash: 7: [[: not found
dash: 8: [[: not found
dash: 10: [[: not found
dash: 11: [[: not found
ash15 Regex to match literals . ^ $ etc.

[ash stdout] Expected 'false\ntrue\nfalse\ntrue\nfalse\ntrue\nfalse\ntrue\n' Got 'true\nfalse\nfalse\nfalse\n'
[ash status] Expected 0, got 2

stdout:
true
false
false
false
stderr:
zsh15 Regex to match literals . ^ $ etc.

stdout:
true
false
false
false
stderr:
zsh: failed to compile regex: Invalid preceding regular expression
zsh: failed to compile regex: Invalid preceding regular expression
zsh: failed to compile regex: Invalid preceding regular expression
zsh: failed to compile regex: Invalid preceding regular expression
mksh15 Regex to match literals . ^ $ etc.

[mksh stdout] Expected 'false\ntrue\nfalse\ntrue\nfalse\ntrue\nfalse\ntrue\n' Got ''
[mksh status] Expected 0, got 1

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: '=~' unexpected operator/operand
ksh15 Regex to match literals . ^ $ etc.

[ksh stdout] Expected 'false\ntrue\nfalse\ntrue\nfalse\ntrue\nfalse\ntrue\n' Got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[1]: syntax error: unexpected operator/operand '=~'
toysh15 Regex to match literals . ^ $ etc.

[toysh stdout] Expected 'false\ntrue\nfalse\ntrue\nfalse\ntrue\nfalse\ntrue\n' Got 'true\nfalse\nfalse\ntrue\nfalse\ntrue\n'

stdout:
true
false
false
true
false
true
stderr:
bash16 Unquoted { is a regex parse error

stdout:
status=2
stderr:
dash16 Unquoted { is a regex parse error

[dash stdout] Expected u'', got 'status=127\n'
[dash status] Expected 2, got 0

stdout:
status=127
stderr:
dash: 1: [[: not found
ash16 Unquoted { is a regex parse error

[ash stdout] Expected u'', got 'status=2\n'
[ash status] Expected 2, got 0

stdout:
status=2
stderr:
zsh16 Unquoted { is a regex parse error

stdout:
status=1
stderr:
zsh: failed to compile regex: Invalid preceding regular expression
mksh16 Unquoted { is a regex parse error

[mksh status] Expected 2, got 1

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: '=~' unexpected operator/operand
ksh16 Unquoted { is a regex parse error

[ksh status] Expected 2, got 1

stdout:
stderr: 
E: ksh: <stdin>[1]: syntax error: unexpected operator/operand '=~'
toysh16 Unquoted { is a regex parse error

[toysh stdout] Expected u'', got 'true\nstatus=0\n'
[toysh status] Expected 2, got 0

stdout:
true
status=0
stderr:
sush16 Unquoted { is a regex parse error

[sush stdout] Expected u'', got 'status=2\n'
[sush status] Expected 2, got 0

stdout:
status=2
stderr:
brush16 Unquoted { is a regex parse error

[brush stdout] Expected u'', got 'true\nstatus=0\n'
[brush status] Expected 2, got 0

stdout:
true
status=0
stderr:
bash17 Fatal error inside [[ =~ ]]

stdout:
status=1
stderr:
bash: line 1: 1 / 0 : division by 0 (error token is "0 ")
dash17 Fatal error inside [[ =~ ]]

[dash status] Expected 1, got 2

stdout:
stderr: 
dash: 1: arithmetic expression: division by zero: " 1 / 0 "
ash17 Fatal error inside [[ =~ ]]

[ash status] Expected 1, got 2

stdout:
stderr: 
ash: divide by zero
toysh17 Fatal error inside [[ =~ ]]

[toysh stdout] Expected u'', got 'status=1\n'
[toysh status] Expected 1, got 0

stdout:
status=1
stderr:
main: line 1: sh: /0
main: line 1: sh: bad math:  1 / 0  @ 8
sush17 Fatal error inside [[ =~ ]]

[sush stdout] Expected u'', got 'status=2\n'
[sush status] Expected 1, got 0

stdout:
status=2
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: 1 / 0 : division by 0 (error token is "0")
brush17 Fatal error inside [[ =~ ]]

[brush stdout] Expected u'', got 'status=1\n'
[brush status] Expected 1, got 0

stdout:
status=1
stderr:
ERROR error: arithmetic evaluation error: division by zero
dash18 Quoted { and +

[dash stdout] Expected 'yes {\nyes +\nyes *\nyes ?\nyes ^\nyes $\nyes (\nyes )\nyes |\nyes \\\n---\nyes .\nno .\n---\na 0\n- 1\nb 0\nz 0\nstatus=0\n' Got '---\nno .\n---\na 127\n- 127\nb 127\nz 127\nstatus=0\n'

stdout:
---
no .
---
a 127
- 127
b 127
z 127
status=0
stderr:
dash: 1: [[: not found
dash: 2: [[: not found
dash: 3: [[: not found
dash: 4: [[: not found
dash: 5: [[: not found
dash: 6: [[: not found
dash: 7: [[: not found
dash: 8: [[: not found
dash: 9: [[: not found
dash: 10: [[: not found
dash: 13: [[: not found
dash: 14: [[: not found
dash: 17: [[: not found
dash: 18: [[: not found
dash: 19: [[: not found
dash: 20: [[: not found
ash18 Quoted { and +

[ash stdout] Expected 'yes {\nyes +\nyes *\nyes ?\nyes ^\nyes $\nyes (\nyes )\nyes |\nyes \\\n---\nyes .\nno .\n---\na 0\n- 1\nb 0\nz 0\nstatus=0\n' Got 'yes ^\nyes $\nyes )\nyes |\n---\nyes .\n---\na 0\n- 1\nb 0\nz 0\nstatus=0\n'

stdout:
yes ^
yes $
yes )
yes |
---
yes .
---
a 0
- 1
b 0
z 0
status=0
stderr:
zsh18 Quoted { and +

stdout:
yes ^
yes $
yes )
yes |
---
yes .
---
a 0
- 1
b 0
z 0
status=0
stderr:
zsh: failed to compile regex: Invalid preceding regular expression
zsh: failed to compile regex: Invalid preceding regular expression
zsh: failed to compile regex: Invalid preceding regular expression
zsh: failed to compile regex: Invalid preceding regular expression
zsh: failed to compile regex: Unmatched ( or \(
zsh: failed to compile regex: Trailing backslash
mksh18 Quoted { and +

[mksh stdout] Expected 'yes {\nyes +\nyes *\nyes ?\nyes ^\nyes $\nyes (\nyes )\nyes |\nyes \\\n---\nyes .\nno .\n---\na 0\n- 1\nb 0\nz 0\nstatus=0\n' Got ''
[mksh status] Expected 0, got 1

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: '=~' unexpected operator/operand
ksh18 Quoted { and +

[ksh stdout] Expected 'yes {\nyes +\nyes *\nyes ?\nyes ^\nyes $\nyes (\nyes )\nyes |\nyes \\\n---\nyes .\nno .\n---\na 0\n- 1\nb 0\nz 0\nstatus=0\n' Got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[1]: syntax error: unexpected operator/operand '=~'
toysh18 Quoted { and +

[toysh stdout] Expected 'yes {\nyes +\nyes *\nyes ?\nyes ^\nyes $\nyes (\nyes )\nyes |\nyes \\\n---\nyes .\nno .\n---\na 0\n- 1\nb 0\nz 0\nstatus=0\n' Got 'yes {\nyes +\nyes *\nyes ?\nyes ^\nyes $\nyes (\nyes )\nyes |\n---\nyes .\n---\na 0\n- 1\nb 0\nz 0\nstatus=0\n'

stdout:
yes {
yes +
yes *
yes ?
yes ^
yes $
yes (
yes )
yes |
---
yes .
---
a 0
- 1
b 0
z 0
status=0
stderr:
[[: bad regex '\': Trailing backslash
sush18 Quoted { and +

[sush stdout] Expected 'yes {\nyes +\nyes *\nyes ?\nyes ^\nyes $\nyes (\nyes )\nyes |\nyes \\\n---\nyes .\nno .\n---\na 0\n- 1\nb 0\nz 0\nstatus=0\n' Got '---\nno .\n---\na 0\n- 1\nb 0\nz 0\nstatus=0\n'

stdout:
---
no .
---
a 0
- 1
b 0
z 0
status=0
stderr:
dash19 Escaped {

[dash stdout] Expected "['$PA', '$', 'PA']\n", got ''
[dash status] Expected 0, got 2

stdout:
stderr: 
dash: 1: Syntax error: "(" unexpected
ash19 Escaped {

[ash stdout] Expected "['$PA', '$', 'PA']\n", got ''
[ash status] Expected 0, got 2

stdout:
stderr: 
ash: syntax error: unexpected "("
zsh19 Escaped {

stdout:
stderr: 
zsh: failed to compile regex: Invalid preceding regular expression
mksh19 Escaped {

[mksh stdout] Expected "['$PA', '$', 'PA']\n", got ''
[mksh status] Expected 0, got 1

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: '=~' unexpected operator/operand
ksh19 Escaped {

[ksh stdout] Expected "['$PA', '$', 'PA']\n", got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[1]: syntax error: unexpected operator/operand '=~'
toysh19 Escaped {

[toysh stdout] Expected "['$PA', '$', 'PA']\n", got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
main: line 1: sh: syntax error: )
dash20 Escaped { stored in variable first

[dash stdout] Expected "['$PA', '$', 'PA']\n", got ''
[dash status] Expected 0, got 127

stdout:
stderr: 
dash: 2: [[: not found
ash20 Escaped { stored in variable first

[ash stdout] Expected "['$PA', '$', 'PA']\n", got ''
[ash status] Expected 0, got 2

stdout:
stderr: 
ash: syntax error: bad substitution
zsh20 Escaped { stored in variable first

stdout:
['']
stderr:
mksh20 Escaped { stored in variable first

[mksh stdout] Expected "['$PA', '$', 'PA']\n", got ''
[mksh status] Expected 0, got 1

stdout:
stderr: 
mksh: <stdin>[2]: syntax error: '=~' unexpected operator/operand
ksh20 Escaped { stored in variable first

[ksh stdout] Expected "['$PA', '$', 'PA']\n", got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[2]: syntax error: unexpected operator/operand '=~'
toysh20 Escaped { stored in variable first

[toysh stdout] Expected "['$PA', '$', 'PA']\n", got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
[[: bad regex '^(\$\{?)([A-Za-z0-9_]*)$': Unmatched \{
dash21 regex with ?

[dash stdout] Expected 'true\ntrue\n', got ''
[dash status] Expected 0, got 127

stdout:
stderr: 
dash: 1: [[: not found
dash: 2: [[: not found
mksh21 regex with ?

[mksh stdout] Expected 'true\ntrue\n', got ''
[mksh status] Expected 0, got 1

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: '=~' unexpected operator/operand
ksh21 regex with ?

[ksh stdout] Expected 'true\ntrue\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[1]: syntax error: unexpected operator/operand '=~'
toysh21 regex with ?

[toysh stdout] Expected 'true\ntrue\n', got ''
[toysh status] Expected 0, got 1

stdout:
stderr: 
dash22 regex with unprintable characters

[dash stdout] Expected 'status=0\nstatus=1\n', got 'status=127\nstatus=127\n'

stdout:
status=127
status=127
stderr:
dash: 3: [[: not found
dash: 4: [[: not found
mksh22 regex with unprintable characters

[mksh stdout] Expected 'status=0\nstatus=1\n', got ''
[mksh status] Expected 0, got 1

stdout:
stderr: 
mksh: <stdin>[3]: syntax error: '=~' unexpected operator/operand
ksh22 regex with unprintable characters

[ksh stdout] Expected 'status=0\nstatus=1\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[3]: syntax error: unexpected operator/operand '=~'
toysh22 regex with unprintable characters

[toysh stdout] Expected 'status=0\nstatus=1\n', got 'status=1\nstatus=1\n'

stdout:
status=1
status=1
stderr:
dash23 pattern $f(x) -- regression

[dash stdout] Expected 'status=0\nstatus=1\n', got ''
[dash status] Expected 0, got 2

stdout:
stderr: 
dash: 2: Syntax error: "(" unexpected
ash23 pattern $f(x) -- regression

[ash stdout] Expected 'status=0\nstatus=1\n', got ''
[ash status] Expected 0, got 2

stdout:
stderr: 
ash: syntax error: unexpected "("
mksh23 pattern $f(x) -- regression

[mksh stdout] Expected 'status=0\nstatus=1\n', got ''
[mksh status] Expected 0, got 1

stdout:
stderr: 
mksh: <stdin>[2]: syntax error: '=~' unexpected operator/operand
ksh23 pattern $f(x) -- regression

[ksh stdout] Expected 'status=0\nstatus=1\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[2]: syntax error: unexpected operator/operand '=~'
toysh23 pattern $f(x) -- regression

[toysh stdout] Expected 'status=0\nstatus=1\n', got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
main: line 2: sh: syntax error: )
dash24 pattern a=(1)

[dash stdout] Expected 'status=0\nstatus=1\n', got ''
[dash status] Expected 0, got 2

stdout:
stderr: 
dash: 1: Syntax error: "(" unexpected
ash24 pattern a=(1)

[ash stdout] Expected 'status=0\nstatus=1\n', got ''
[ash status] Expected 0, got 2

stdout:
stderr: 
ash: syntax error: unexpected "("
zsh24 pattern a=(1)

stdout:
status=0
stderr:
zsh: x not found
mksh24 pattern a=(1)

[mksh stdout] Expected 'status=0\nstatus=1\n', got ''
[mksh status] Expected 0, got 1

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: '=~' unexpected operator/operand
ksh24 pattern a=(1)

[ksh stdout] Expected 'status=0\nstatus=1\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[1]: syntax error: unexpected operator/operand '=~'
toysh24 pattern a=(1)

[toysh stdout] Expected 'status=0\nstatus=1\n', got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
main: line 1: sh: syntax error: )
sush24 pattern a=(1)

[sush stdout] Expected 'status=0\nstatus=1\n', got 'status=0\nstatus=2\n'

stdout:
status=0
status=2
stderr:
dash25 pattern @f(x)

[dash stdout] Expected 'status=0\nstatus=1\n', got ''
[dash status] Expected 0, got 2

stdout:
stderr: 
dash: 1: shopt: not found
dash: 2: Syntax error: "(" unexpected
ash25 pattern @f(x)

[ash stdout] Expected 'status=0\nstatus=1\n', got ''
[ash status] Expected 0, got 2

stdout:
stderr: 
ash: shopt: not found
ash: syntax error: unexpected "("
mksh25 pattern @f(x)

[mksh stdout] Expected 'status=0\nstatus=1\n', got ''
[mksh status] Expected 0, got 1

stdout:
stderr: 
mksh: <stdin>[1]: shopt: not found
mksh: <stdin>[2]: syntax error: '=~' unexpected operator/operand
ksh25 pattern @f(x)

[ksh stdout] Expected 'status=0\nstatus=1\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[1]: shopt: inaccessible or not found
E: ksh: <stdin>[2]: syntax error: unexpected operator/operand '=~'
toysh25 pattern @f(x)

[toysh stdout] Expected 'status=0\nstatus=1\n', got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
sh: shopt: No such file or directory
main: line 2: sh: syntax error: )
dash26 Bug: Nix idiom with closing ) next to pattern

[dash stdout] Expected 'one\ntwo\n', got ''
[dash status] Expected 0, got 2

stdout:
stderr: 
dash: 1: Syntax error: "(" unexpected (expecting "then")
ash26 Bug: Nix idiom with closing ) next to pattern

[ash stdout] Expected 'one\ntwo\n', got ''
[ash status] Expected 0, got 2

stdout:
stderr: 
ash: syntax error: unexpected "(" (expecting "then")
mksh26 Bug: Nix idiom with closing ) next to pattern

[mksh stdout] Expected 'one\ntwo\n', got ''
[mksh status] Expected 0, got 1

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: '=~' missing )
ksh26 Bug: Nix idiom with closing ) next to pattern

[ksh stdout] Expected 'one\ntwo\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[1]: syntax error: missing ) '=~'
toysh26 Bug: Nix idiom with closing ) next to pattern

[toysh stdout] Expected 'one\ntwo\n', got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
main: line 1: sh: syntax error: )
sush26 Bug: Nix idiom with closing ) next to pattern

[sush status] Expected 0, got 2

stdout:
one
two
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: Unexpected token: ]];
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: Unexpected token: fi

/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 6: Unexpected token: ]];
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 8: Unexpected token: fi

dash27 unquoted (a b) as pattern, (a b|c)

[dash stdout] Expected 'one\ntwo\nthree\n', got ''
[dash status] Expected 0, got 2

stdout:
stderr: 
dash: 1: Syntax error: "(" unexpected (expecting "then")
ash27 unquoted (a b) as pattern, (a b|c)

[ash stdout] Expected 'one\ntwo\nthree\n', got ''
[ash status] Expected 0, got 2

stdout:
stderr: 
ash: syntax error: unexpected "(" (expecting "then")
mksh27 unquoted (a b) as pattern, (a b|c)

[mksh stdout] Expected 'one\ntwo\nthree\n', got ''
[mksh status] Expected 0, got 1

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: '=~' unexpected operator/operand
ksh27 unquoted (a b) as pattern, (a b|c)

[ksh stdout] Expected 'one\ntwo\nthree\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[1]: syntax error: unexpected operator/operand '=~'
toysh27 unquoted (a b) as pattern, (a b|c)

[toysh stdout] Expected 'one\ntwo\nthree\n', got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
main: line 1: sh: syntax error: )
sush27 unquoted (a b) as pattern, (a b|c)

[sush stdout] Expected 'one\ntwo\nthree\n', got 'one\nBAD\ntwo\nthree\n'
[sush status] Expected 0, got 2

stdout:
one
BAD
two
three
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: Unexpected token: )
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: Unexpected token: fi

/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 6: Unexpected token: )
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 8: Unexpected token: fi

/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 10: Unexpected token: |c)
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 12: Unexpected token: fi

/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 15: Unexpected token: )
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 17: Unexpected token: fi

brush27 unquoted (a b) as pattern, (a b|c)

[brush stdout] Expected 'one\ntwo\nthree\n', got 'BAD\ntwo\nthree\n'

stdout:
BAD
two
three
stderr:
dash28 Multiple adjacent () groups

[dash stdout] Expected "['a-b-c-d', 'b', 'd']\n['ff', '', '']\n['zz', 'zz', '']\n['zz', 'z', 'z', '']\n" Got ''
[dash status] Expected 0, got 2

stdout:
stderr: 
dash: 1: Syntax error: "(" unexpected (expecting "then")
ash28 Multiple adjacent () groups

[ash stdout] Expected "['a-b-c-d', 'b', 'd']\n['ff', '', '']\n['zz', 'zz', '']\n['zz', 'z', 'z', '']\n" Got ''
[ash status] Expected 0, got 2

stdout:
stderr: 
ash: syntax error: unexpected "(" (expecting "then")
zsh28 Multiple adjacent () groups

stdout:
['']
['']
['']
['']
stderr:
zsh: parse error near `>>'
zsh: parse error near `fi'
zsh: parse error near `>>'
zsh: parse error near `fi'
zsh: parse error near `()'
zsh: parse error near `fi'
zsh: parse error near `()'
zsh: parse error near `fi'
mksh28 Multiple adjacent () groups

[mksh stdout] Expected "['a-b-c-d', 'b', 'd']\n['ff', '', '']\n['zz', 'zz', '']\n['zz', 'z', 'z', '']\n" Got ''
[mksh status] Expected 0, got 1

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: '=~' unexpected operator/operand
ksh28 Multiple adjacent () groups

[ksh stdout] Expected "['a-b-c-d', 'b', 'd']\n['ff', '', '']\n['zz', 'zz', '']\n['zz', 'z', 'z', '']\n" Got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[1]: syntax error: unexpected operator/operand '=~'
toysh28 Multiple adjacent () groups

[toysh stdout] Expected "['a-b-c-d', 'b', 'd']\n['ff', '', '']\n['zz', 'zz', '']\n['zz', 'z', 'z', '']\n" Got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
main: line 1: sh: syntax error: )
sush28 Multiple adjacent () groups

[sush stdout] Expected "['a-b-c-d', 'b', 'd']\n['ff', '', '']\n['zz', 'zz', '']\n['zz', 'z', 'z', '']\n" Got "[]\n[]\n['zz', 'zz', '']\n['zz', 'z', 'z', '']\n"

stdout:
[]
[]
['zz', 'zz', '']
['zz', 'z', 'z', '']
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: Unexpected token: )-c-(
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: Unexpected token: fi

/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 6: Unexpected token: )-c-(
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 8: Unexpected token: fi

dash29 unquoted [a b] as pattern, [a b|c]

[dash stdout] Expected 'yes\n[ab]=0\n[a b]=2\nyes\n[a b]=0\n', got '[ab]=127\n[a b]=127\n[a b]=2\n'

stdout:
[ab]=127
[a b]=127
[a b]=2
stderr:
dash: 1: [[: not found
dash: 1: [[: not found
dash: 1: Syntax error: "(" unexpected
ash29 unquoted [a b] as pattern, [a b|c]

[ash stdout] Expected 'yes\n[ab]=0\n[a b]=2\nyes\n[a b]=0\n', got 'yes\n[ab]=0\n[a b]=2\n[a b]=2\n'

stdout:
yes
[ab]=0
[a b]=2
[a b]=2
stderr:
ash: syntax error: unexpected "("
zsh29 unquoted [a b] as pattern, [a b|c]

stdout:
yes
[ab]=0
[a b]=1
yes
[a b]=0
stderr:
zsh: condition expected: a
mksh29 unquoted [a b] as pattern, [a b|c]

[mksh stdout] Expected 'yes\n[ab]=0\n[a b]=2\nyes\n[a b]=0\n', got '[ab]=1\n[a b]=1\n[a b]=1\n'

stdout:
[ab]=1
[a b]=1
[a b]=1
stderr:
mksh: <stdin>[1]: syntax error: '=~' unexpected operator/operand
mksh: <stdin>[1]: syntax error: '=~' unexpected operator/operand
mksh: <stdin>[1]: syntax error: '=~' unexpected operator/operand
ksh29 unquoted [a b] as pattern, [a b|c]

[ksh stdout] Expected 'yes\n[ab]=0\n[a b]=2\nyes\n[a b]=0\n', got '[ab]=1\n[a b]=1\n[a b]=1\n'

stdout:
[ab]=1
[a b]=1
[a b]=1
stderr:
E: ksh: <stdin>[1]: syntax error: unexpected operator/operand '=~'
E: ksh: <stdin>[1]: syntax error: unexpected operator/operand '=~'
E: ksh: <stdin>[1]: syntax error: unexpected operator/operand '=~'
toysh29 unquoted [a b] as pattern, [a b|c]

[toysh stdout] Expected 'yes\n[ab]=0\n[a b]=2\nyes\n[a b]=0\n', got 'yes\n[ab]=0\n[a b]=2\n[a b]=2\n'

stdout:
yes
[ab]=0
[a b]=2
[a b]=2
stderr:
[[: bad regex '[a': Unmatched [, [^, [:, [., or [=
main: line 1: sh: syntax error: )
sush29 unquoted [a b] as pattern, [a b|c]

[sush stdout] Expected 'yes\n[ab]=0\n[a b]=2\nyes\n[a b]=0\n', got 'yes\n[ab]=0\n[a b]=2\n[a b]=2\n'

stdout:
yes
[ab]=0
[a b]=2
[a b]=2
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: Unexpected token: )
brush29 unquoted [a b] as pattern, [a b|c]

[brush stdout] Expected 'yes\n[ab]=0\n[a b]=2\nyes\n[a b]=0\n', got 'yes\n[ab]=0\nyes\n[a b]=0\nyes\n[a b]=0\n'

stdout:
yes
[ab]=0
yes
[a b]=0
yes
[a b]=0
stderr:
dash30 c|a unquoted

[dash stdout] Expected 'one\n', got ''

stdout:
stderr: 
dash: 1: [[: not found
dash: 1: a: not found
ash30 c|a unquoted

[ash stdout] Expected 'one\n', got ''

stdout:
stderr: 
ash: missing ]]
ash: a: not found
zsh30 c|a unquoted

stdout:
one
stderr:
zsh: parse error near `|'
zsh: parse error near `fi'
mksh30 c|a unquoted

[mksh stdout] Expected 'one\n', got ''
[mksh status] Expected 0, got 1

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: '=~' unexpected operator/operand
ksh30 c|a unquoted

[ksh stdout] Expected 'one\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[1]: syntax error: unexpected operator/operand '=~'
toysh30 c|a unquoted

[toysh stdout] Expected 'one\n', got ''
[toysh status] Expected 0, got -11

stdout:
stderr: 
dash31 Operator chars ; & but not |

[dash stdout] Expected 'semi=2\nsemi paren\nsemi paren=0\n\namp=2\npipe1\npipe2\npipe=0\nfour\npipe=0\nangle=2\nnewline=2\n' Got 'semi=127\nsemi paren=2\n\namp=127\npipe=127\npipe=127\nangle=127\nnewline=127\n'

stdout:
semi=127
semi paren=2

amp=127
pipe=127
pipe=127
angle=127
newline=127
stderr:
dash: 1: [[: not found
dash: 1: ]]: not found
dash: 1: Syntax error: "(" unexpected
dash: 1: ]]: not found
dash: 1: [[: not found
dash: 1: [[: not found
dash: 1: ]]: not found
dash: 2: [[: not found
dash: 2: ]]: not found
dash: 1: dash: 1: [[: not found
]]: not found
dash: 1: [[: not found
dash: 1: [[: not found
dash: 2: b: not found
ash31 Operator chars ; & but not |

[ash stdout] Expected 'semi=2\nsemi paren\nsemi paren=0\n\namp=2\npipe1\npipe2\npipe=0\nfour\npipe=0\nangle=2\nnewline=2\n' Got 'semi=127\nsemi paren=2\n\namp=127\npipe=127\npipe=127\nangle=2\nnewline=127\n'

stdout:
semi=127
semi paren=2

amp=127
pipe=127
pipe=127
angle=2
newline=127
stderr:
ash: missing ]]
ash: ]]: not found
ash: syntax error: unexpected "("
ash: ]]: not found
ash: missing ]]
ash: missing ]]
ash: ]]: not found
ash: missing ]]
ash: ]]: not found
ash: missing ]]
ash: ]]: not found
ash: missing ]]
ash: missing ]]
ash: b: not found
zsh31 Operator chars ; & but not |

stdout:
semi=1
semi paren=1

amp=1
pipe=1
pipe=1
angle=1
newline=1
stderr:
zsh: parse error: condition expected: ';'
zsh: parse error near `)'
zsh: parse error: condition expected: '&'
zsh: parse error: condition expected: '|'
zsh: parse error: condition expected: 'a'
zsh: parse error near `|'
zsh: parse error: condition expected: '<>'
zsh: parse error near `b'
mksh31 Operator chars ; & but not |

[mksh stdout] Expected 'semi=2\nsemi paren\nsemi paren=0\n\namp=2\npipe1\npipe2\npipe=0\nfour\npipe=0\nangle=2\nnewline=2\n' Got 'semi=1\nsemi paren=1\n\namp=1\npipe=1\npipe=1\nangle=1\nnewline=1\n'

stdout:
semi=1
semi paren=1

amp=1
pipe=1
pipe=1
angle=1
newline=1
stderr:
mksh: <stdin>[1]: syntax error: '=~' unexpected operator/operand
mksh: <stdin>[1]: syntax error: '=~' unexpected operator/operand
mksh: <stdin>[1]: syntax error: '=~' unexpected operator/operand
mksh: <stdin>[1]: syntax error: '=~' unexpected operator/operand
mksh: <stdin>[1]: syntax error: '=~' unexpected operator/operand
mksh: <stdin>[1]: syntax error: '=~' unexpected operator/operand
mksh: <stdin>[1]: syntax error: '=~' unexpected operator/operand
ksh31 Operator chars ; & but not |

[ksh stdout] Expected 'semi=2\nsemi paren\nsemi paren=0\n\namp=2\npipe1\npipe2\npipe=0\nfour\npipe=0\nangle=2\nnewline=2\n' Got 'semi=1\nsemi paren=1\n\namp=1\npipe=1\npipe=1\nangle=1\nnewline=1\n'

stdout:
semi=1
semi paren=1

amp=1
pipe=1
pipe=1
angle=1
newline=1
stderr:
E: ksh: <stdin>[1]: syntax error: unexpected operator/operand '=~'
E: ksh: <stdin>[1]: syntax error: unexpected operator/operand '=~'
E: ksh: <stdin>[1]: syntax error: unexpected operator/operand '=~'
E: ksh: <stdin>[1]: syntax error: unexpected operator/operand '=~'
E: ksh: <stdin>[1]: syntax error: unexpected operator/operand '=~'
E: ksh: <stdin>[1]: syntax error: unexpected operator/operand '=~'
E: ksh: <stdin>[1]: syntax error: unexpected operator/operand '=~'
sush31 Operator chars ; & but not |

[sush stdout] Expected 'semi=2\nsemi paren\nsemi paren=0\n\namp=2\npipe1\npipe2\npipe=0\nfour\npipe=0\nangle=2\nnewline=2\n' Got 'semi\nsemi=0\nsemi paren\nsemi paren=0\n\namp\namp=0\npipe1\npipe2\npipe=0\nfour\npipe=0\nangle\nangle=0\nnewline=101\n'

stdout:
semi
semi=0
semi paren
semi paren=0

amp
amp=0
pipe1
pipe2
pipe=0
four
pipe=0
angle
angle=0
newline=101
stderr:
thread 'main' panicked at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/alloc/src/string.rs:1857:9:
assertion failed: self.is_char_boundary(at)
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
dash32 Quotes '' "" $'' $"" in pattern

[dash stdout] Expected 'sq\nsq=0\ndq\ndq=0\ndollar-sq\ndollar-sq=0\ndollar-dq\ndollar-dq=0\n' Got 'sq=127\ndq=127\ndollar-sq=127\ndollar-dq=127\n'

stdout:
sq=127
dq=127
dollar-sq=127
dollar-dq=127
stderr:
dash: 1: [[: not found
dash: 1: [[: not found
dash: 1: [[: not found
dash: 1: [[: not found
mksh32 Quotes '' "" $'' $"" in pattern

[mksh stdout] Expected 'sq\nsq=0\ndq\ndq=0\ndollar-sq\ndollar-sq=0\ndollar-dq\ndollar-dq=0\n' Got 'sq=1\ndq=1\ndollar-sq=1\ndollar-dq=1\n'

stdout:
sq=1
dq=1
dollar-sq=1
dollar-dq=1
stderr:
mksh: <stdin>[1]: syntax error: '=~' unexpected operator/operand
mksh: <stdin>[1]: syntax error: '=~' unexpected operator/operand
mksh: <stdin>[1]: syntax error: '=~' unexpected operator/operand
mksh: <stdin>[1]: syntax error: '=~' unexpected operator/operand
ksh32 Quotes '' "" $'' $"" in pattern

[ksh stdout] Expected 'sq\nsq=0\ndq\ndq=0\ndollar-sq\ndollar-sq=0\ndollar-dq\ndollar-dq=0\n' Got 'sq=1\ndq=1\ndollar-sq=1\ndollar-dq=1\n'

stdout:
sq=1
dq=1
dollar-sq=1
dollar-dq=1
stderr:
E: ksh: <stdin>[1]: syntax error: unexpected operator/operand '=~'
E: ksh: <stdin>[1]: syntax error: unexpected operator/operand '=~'
E: ksh: <stdin>[1]: syntax error: unexpected operator/operand '=~'
E: ksh: <stdin>[1]: syntax error: unexpected operator/operand '=~'
sush32 Quotes '' "" $'' $"" in pattern

[sush stdout] Expected 'sq\nsq=0\ndq\ndq=0\ndollar-sq\ndollar-sq=0\ndollar-dq\ndollar-dq=0\n' Got 'sq=1\ndq=1\ndollar-sq=1\ndollar-dq\ndollar-dq=0\n'

stdout:
sq=1
dq=1
dollar-sq=1
dollar-dq
dollar-dq=0
stderr:
dash33 Unicode in pattern

[dash stdout] Expected 'mu\nmu=0\n', got 'mu=127\n'

stdout:
mu=127
stderr:
dash: 1: [[: not found
mksh33 Unicode in pattern

[mksh stdout] Expected 'mu\nmu=0\n', got 'mu=1\n'

stdout:
mu=1
stderr:
mksh: <stdin>[1]: syntax error: '=~' unexpected operator/operand
ksh33 Unicode in pattern

[ksh stdout] Expected 'mu\nmu=0\n', got 'mu=1\n'

stdout:
mu=1
stderr:
E: ksh: <stdin>[1]: syntax error: unexpected operator/operand '=~'
dash34 Parse error with 2 words

[dash status] Expected 2, got 0

stdout:
stderr: 
dash: 1: [[: not found
ash34 Parse error with 2 words

[ash status] Expected 2, got 0

stdout:
stderr: 
ash: a: unknown operand
zsh34 Parse error with 2 words

stdout:
one
stderr:
zsh: condition expected: a
zsh: parse error near `fi'
mksh34 Parse error with 2 words

[mksh status] Expected 2, got 1

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: '=~' unexpected operator/operand
ksh34 Parse error with 2 words

[ksh status] Expected 2, got 1

stdout:
stderr: 
E: ksh: <stdin>[1]: syntax error: unexpected operator/operand '=~'
toysh34 Parse error with 2 words

[toysh status] Expected 2, got 0

stdout:
stderr: 
[[: too many arguments
sush34 Parse error with 2 words

[sush status] Expected 2, got 0

stdout:
stderr: 
brush34 Parse error with 2 words

[brush status] Expected 2, got 0

stdout:
stderr: 
dash35 make a lisp example

[dash stdout] Expected 'status=0\nm=(\n', got ''
[dash status] Expected 0, got 2

stdout:
stderr: 
dash: 2: Syntax error: "(" unexpected
ash35 make a lisp example

[ash stdout] Expected 'status=0\nm=(\n', got ''
[ash status] Expected 0, got 2

stdout:
stderr: 
ash: syntax error: unexpected "("
zsh35 make a lisp example

stdout:
status=1
m=
stderr:
zsh: parse error near `|'
mksh35 make a lisp example

[mksh stdout] Expected 'status=0\nm=(\n', got ''
[mksh status] Expected 0, got 1

stdout:
stderr: 
mksh: <stdin>[2]: syntax error: '=~' unexpected operator/operand
ksh35 make a lisp example

[ksh stdout] Expected 'status=0\nm=(\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[2]: syntax error: unexpected operator/operand '=~'
toysh35 make a lisp example

[toysh stdout] Expected 'status=0\nm=(\n', got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
main: line 2: sh: syntax error: )
sush35 make a lisp example

[sush stdout] Expected 'status=0\nm=(\n', got 'status=2\nm=\n'

stdout:
status=2
m=
stderr:
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: Unexpected token: ;{}\(\)^@\,]+)|^[,]|^[[:space:]]+
brush35 make a lisp example

[brush stdout] Expected 'status=0\nm=(\n', got 'status=1\nm=\n'

stdout:
status=1
m=
stderr:
 WARN error using regex: invalid regex: Parsing error at position 108: Invalid character class; expression: '(?ms)^^([][{}\(\)^@])|^(~@)|("(\\.|[^\\"])*")|^(;[^
]*)|^([~'`])|^([^][ ~`'";{}\(\)^@,]+)|^[,]|^[[:space:]]+'
dash36 Operators and space lose meaning inside ()

[dash stdout] Expected 'true\n', got ''
[dash status] Expected 0, got 2

stdout:
stderr: 
dash: 1: Syntax error: "(" unexpected
ash36 Operators and space lose meaning inside ()

[ash stdout] Expected 'true\n', got ''
[ash status] Expected 0, got 2

stdout:
stderr: 
ash: syntax error: unexpected "("
zsh36 Operators and space lose meaning inside ()

stdout:
stderr: 
zsh: parse error near `<'
mksh36 Operators and space lose meaning inside ()

[mksh stdout] Expected 'true\n', got ''
[mksh status] Expected 0, got 1

stdout:
stderr: 
mksh: <stdin>[1]: syntax error: '=~' unexpected operator/operand
ksh36 Operators and space lose meaning inside ()

[ksh stdout] Expected 'true\n', got ''
[ksh status] Expected 0, got 1

stdout:
stderr: 
E: ksh: <stdin>[1]: syntax error: unexpected operator/operand '=~'
toysh36 Operators and space lose meaning inside ()

[toysh stdout] Expected 'true\n', got ''
[toysh status] Expected 0, got 2

stdout:
stderr: 
main: line 1: sh: syntax error: )
sush36 Operators and space lose meaning inside ()

[sush stdout] Expected 'true\n', got ''
[sush status] Expected 0, got 2

stdout:
stderr: 
/home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: Unexpected token: )
brush36 Operators and space lose meaning inside ()

[brush stdout] Expected 'true\n', got ''
[brush status] Expected 0, got 1

stdout:
stderr: