Results for assign.test.sh

statusoshosh_.pyosh_.cc
pass 412913
ok 100
FAIL 21531
total444444
caseoshosh_.pyosh_.ccdescription
0pass FAIL FAIL Env value doesn't persist
detailsdetails
1pass FAIL FAIL Env value with equals
detailsdetails
2pass FAIL FAIL Env binding can use preceding bindings, but not subsequent ones
detailsdetails
3pass FAIL FAIL Env value with two quotes
detailsdetails
4pass FAIL FAIL Env value with escaped <
detailsdetails
5pass pass pass FOO=foo echo [foo]
6pass pass pass FOO=foo fun
7pass FAIL FAIL Multiple temporary envs on the stack
detailsdetails
8pass pass FAIL Escaped = in command name
details
9pass pass pass Env binding not allowed before compound command
10pass FAIL FAIL Trying to run keyword 'for'
detailsdetails
11pass FAIL FAIL Empty env binding
detailsdetails
12pass pass FAIL Assignment doesn't do word splitting
details
13pass pass FAIL Assignment doesn't do glob expansion
details
14pass FAIL FAIL Env binding in readonly/declare is NOT exported! (pitfall)
detailsdetails
15pass pass pass assignments / array assignments not interpreted after 'echo'
16pass pass pass dynamic local variables (and splitting)
17pass pass FAIL readonly x= gives empty string (regression)
details
18pass pass pass 'local x' does not set variable
19pass pass pass 'local -a x' does not set variable
20pass pass pass 'local x' and then array assignment
21pass pass pass 'declare -A' and then dict assignment
22pass FAIL FAIL declare in an if statement
detailsdetails
23pass pass pass Modify a temporary binding
24pass pass FAIL Reveal existence of "temp frame" (All shells disagree here!!!)
details
25pass pass FAIL Test above without 'local' (which is not POSIX)
details
26pass pass FAIL Using ${x-default} after unsetting local shadowing a global
details
27pass pass FAIL Using ${x-default} after unsetting a temp binding shadowing a global
details
28pass pass FAIL static assignment doesn't split
details
29pass pass FAIL aliased assignment doesn't split
details
30pass pass FAIL assignment using dynamic keyword (splits in most shells, not in zsh/osh)
details
31pass pass FAIL assignment using dynamic var names doesn't split
details
32pass pass FAIL assign and glob
details
33pass pass FAIL declare and glob
details
34pass pass pass readonly $x where x='b c'
35pass pass FAIL readonly a=(1 2) no_value c=(3 4) makes 'no_value' readonly
details
36pass FAIL FAIL export a=1 no_value c=2
detailsdetails
37pass pass FAIL local a=loc $var c=loc
details
38FAIL FAIL FAIL redirect after assignment builtin (what's going on with dash/bash/mksh here?)
detailsdetailsdetails
39FAIL FAIL FAIL redirect after command sub (like case above but without assignment builtin)
detailsdetailsdetails
40pass FAIL pass redirect after bare assignment
details
41ok FAIL FAIL redirect after declare -p
detailsdetailsdetails
42pass pass pass declare -a arr does not remove existing arrays (OSH regression)
43pass pass FAIL declare -A dict does not remove existing arrays (OSH regression)
details
83 passed, 1 OK, 0 not implemented, 0 BUG, 48 failed, 0 timeouts, 0 cases skipped
2 failed under osh

Details on runs that didn't PASS

osh_.py0 Env value doesn't persist

[osh_.py stdout] Expected 'foo\n--\n', got 'None\n--\n'

stdout:
None
--
stderr:
osh_.cc0 Env value doesn't persist

[osh_.cc stdout] Expected 'foo\n--\n', got '(cmd_value.Argv argv:[printenv.py FOO] arg_spids:[3 5])\n-foo-\n'

stdout:
(cmd_value.Argv argv:[printenv.py FOO] arg_spids:[3 5])
-foo-
stderr:
Unhandled SimpleCommand
osh_.py1 Env value with equals

[osh_.py stdout] Expected 'foo=foo\n', got 'None\n'

stdout:
None
stderr:
osh_.cc1 Env value with equals

[osh_.cc stdout] Expected 'foo=foo\n', got '(cmd_value.Argv argv:[printenv.py FOO] arg_spids:[4 6])\n'

stdout:
(cmd_value.Argv argv:[printenv.py FOO] arg_spids:[4 6])
stderr:
Unhandled SimpleCommand
osh_.py2 Env binding can use preceding bindings, but not subsequent ones

[osh_.py stdout] Expected 'foo\n[foo][]\nbaz\n', got 'None\nNone\nNone\n'

stdout:
None
None
None
stderr:
osh_.cc2 Env binding can use preceding bindings, but not subsequent ones

[osh_.cc stdout] Expected 'foo\n[foo][]\nbaz\n', got '(cmd_value.Argv argv:[printenv.py FOO BAR BAZ] arg_spids:[17 19 21 23])\n'

stdout:
(cmd_value.Argv argv:[printenv.py FOO BAR BAZ] arg_spids:[17 19 21 23])
stderr:
Unhandled SimpleCommand
osh_.py3 Env value with two quotes

[osh_.py stdout] Expected 'fooadjacent\n', got 'None\n'

stdout:
None
stderr:
osh_.cc3 Env value with two quotes

[osh_.cc stdout] Expected 'fooadjacent\n', got '(cmd_value.Argv argv:[printenv.py FOO] arg_spids:[8 10])\n'

stdout:
(cmd_value.Argv argv:[printenv.py FOO] arg_spids:[8 10])
stderr:
Unhandled SimpleCommand
osh_.py4 Env value with escaped <

[osh_.py stdout] Expected 'foo<foo\n', got 'None\n'

stdout:
None
stderr:
osh_.cc4 Env value with escaped <

[osh_.cc stdout] Expected 'foo<foo\n', got '(cmd_value.Argv argv:[printenv.py FOO] arg_spids:[5 7])\n'

stdout:
(cmd_value.Argv argv:[printenv.py FOO] arg_spids:[5 7])
stderr:
Unhandled SimpleCommand
osh_.py7 Multiple temporary envs on the stack

[osh_.py stdout] Expected 'f [] [A]\n--- g() ---\nf\n[]\n[A]\nNone\np\n--- f() ---\nf\nNone\nNone\nNone\nNone\n', got 'None\nNone\nNone\nNone\nNone\nNone\nNone\nNone\nNone\nNone\nf [] [A]\n--- g() ---\n--- f() ---\n'

stdout:
None
None
None
None
None
None
None
None
None
None
f [] [A]
--- g() ---
--- f() ---
stderr:
osh_.cc7 Multiple temporary envs on the stack

[osh_.cc stdout] Expected 'f [] [A]\n--- g() ---\nf\n[]\n[A]\nNone\np\n--- f() ---\nf\nNone\nNone\nNone\nNone\n', got 'f [] [A]\n--- g() ---\n(cmd_value.Argv argv:[printenv.py F G1 G2 A P] arg_spids:[32 34 36 38 40 42])\n--- f() ---\n(cmd_value.Argv argv:[printenv.py F G1 G2 A P] arg_spids:[73 75 77 79 81 83])\n'

stdout:
f [] [A]
--- g() ---
(cmd_value.Argv argv:[printenv.py F G1 G2 A P] arg_spids:[32 34 36 38 40 42])
--- f() ---
(cmd_value.Argv argv:[printenv.py F G1 G2 A P] arg_spids:[73 75 77 79 81 83])
stderr:
Unhandled SimpleCommand
Unhandled SimpleCommand
osh_.cc8 Escaped = in command name

[osh_.cc stdout] Expected 'HI\n', got "(cmd_value.Argv argv:['foo=bar'] arg_spids:[0])\n"

stdout:
(cmd_value.Argv argv:['foo=bar'] arg_spids:[0])
stderr:
Unhandled SimpleCommand
osh_.py10 Trying to run keyword 'for'

[osh_.py status] Expected 127, got 1

stdout:
stderr: 
Error running ['for']: [Errno 2] No such file or directory
osh_.cc10 Trying to run keyword 'for'

[osh_.cc status] Expected 127, got 0

stdout:
(cmd_value.Argv argv:[for] arg_spids:[3])
stderr:
Unhandled SimpleCommand
osh_.py11 Empty env binding

[osh_.py stdout] Expected '\n', got 'None\n'

stdout:
None
stderr:
osh_.cc11 Empty env binding

[osh_.cc stdout] Expected '\n', got '(cmd_value.Argv argv:[printenv.py EMPTY] arg_spids:[2 4])\n'

stdout:
(cmd_value.Argv argv:[printenv.py EMPTY] arg_spids:[2 4])
stderr:
Unhandled SimpleCommand
osh_.cc12 Assignment doesn't do word splitting

[osh_.cc stdout] Expected "['one two']\n", got "(cmd_value.Argv argv:[argv.py 'one two'] arg_spids:[8 10])\n"

stdout:
(cmd_value.Argv argv:[argv.py 'one two'] arg_spids:[8 10])
stderr:
Unhandled SimpleCommand
osh_.cc13 Assignment doesn't do glob expansion

[osh_.cc stdout] Expected "['_tmp/*.Z']\n", got "(cmd_value.Argv argv:[touch '_tmp/z.Z' '_tmp/zz.Z'] arg_spids:[0 2 4])\n(cmd_value.Argv argv:[argv.py '_tmp/*.Z'] arg_spids:[11 13])\n"

stdout:
(cmd_value.Argv argv:[touch '_tmp/z.Z' '_tmp/zz.Z'] arg_spids:[0 2 4])
(cmd_value.Argv argv:[argv.py '_tmp/*.Z'] arg_spids:[11 13])
stderr:
Unhandled SimpleCommand
Unhandled SimpleCommand
osh_.py14 Env binding in readonly/declare is NOT exported! (pitfall)

[osh_.py stdout] Expected 'v=None\nv2=foo\n', got ''
[osh_.py status] Expected 0, got 1
[osh_.py stderr] Found 'Traceback (most recent'

stdout:
stderr: 
Traceback (most recent call last):
  File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 417, in <module>
    status = main(sys.argv)
  File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 309, in main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/andy/git/oilshell/oil/core/main_loop.py", line 168, in Batch
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags=cmd_flags)
  File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1461, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1341, in _Execute
    status, check_errexit = self._Dispatch(node)
  File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 547, in _Dispatch
    cmd_val = self.word_ev.EvalWordSequence2(words, allow_assign=True)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1888, in EvalWordSequence2
    return self._EvalAssignBuiltin(builtin_id, val0.s, words)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1739, in _EvalAssignBuiltin
    right = self.EvalRhsWord(rhs_word)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1602, in EvalRhsWord
    return self.EvalWordToString(w)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1498, in EvalWordToString
    self._EvalWordPart(p, part_vals, quoted=False)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1332, in _EvalWordPart
    sv = self._EvalCommandSub(part.child, quoted) # type: part_value_t
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1959, in _EvalCommandSub
    stdout = self.shell_ex.RunCommandSub(node)
AttributeError: 'NoneType' object has no attribute 'RunCommandSub'
osh_.cc14 Env binding in readonly/declare is NOT exported! (pitfall)

[osh_.cc stdout] Expected 'v=None\nv2=foo\n', got ''
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
osh_eval.dbg: mycpp/mylib.h:596: V Dict<Str *, runtime_asdl::value_t *>::index(K) [K = Str *, V = runtime_asdl::value_t *]: Assertion `0' failed.
osh_.cc17 readonly x= gives empty string (regression)

[osh_.cc stdout] Expected "['']\n", got ''
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
osh_eval.dbg: mycpp/mylib.h:596: V Dict<Str *, runtime_asdl::value_t *>::index(K) [K = Str *, V = runtime_asdl::value_t *]: Assertion `0' failed.
osh_.py22 declare in an if statement

[osh_.py stdout] Expected 'bar\neggs\n', got '\n\n'

stdout:

stderr:
osh_.cc22 declare in an if statement

[osh_.cc stdout] Expected 'bar\neggs\n', got '\n\n'

stdout:

stderr:
osh_.cc24 Reveal existence of "temp frame" (All shells disagree here!!!)

[osh_.cc stdout] Expected 'x=temp-binding\nx=mutated-temp\nx=local\nx=mutated-temp\nx=global\n', got 'x=temp-binding\nx=mutated-temp\nx=local\nx=local\nx=local\n'

stdout:
x=temp-binding
x=mutated-temp
x=local
x=local
x=local
stderr:
osh_.cc25 Test above without 'local' (which is not POSIX)

[osh_.cc stdout] Expected 'x=temp-binding\nx=mutated-temp\nx=global\nx=global\n', got 'x=temp-binding\nx=mutated-temp\nx=mutated-temp\nx=mutated-temp\n'

stdout:
x=temp-binding
x=mutated-temp
x=mutated-temp
x=mutated-temp
stderr:
osh_.cc26 Using ${x-default} after unsetting local shadowing a global

[osh_.cc stdout] Expected 'x=global\nx=local\n- operator = global\n:- operator = global\n', got 'x=global\nx=local\n- operator = local\n:- operator = local\n'

stdout:
x=global
x=local
- operator = local
:- operator = local
stderr:
osh_.cc27 Using ${x-default} after unsetting a temp binding shadowing a global

[osh_.cc stdout] Expected 'x=temp-binding\nx=local\n- operator = temp-binding\n:- operator = temp-binding\n', got 'x=temp-binding\nx=local\n- operator = local\n:- operator = local\n'

stdout:
x=temp-binding
x=local
- operator = local
:- operator = local
stderr:
osh_.cc28 static assignment doesn't split

[osh_.cc stdout] Expected "['a b c', 'a b c', 'a b c']\n", got ''
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
osh_eval.dbg: mycpp/mylib.h:596: V Dict<Str *, runtime_asdl::value_t *>::index(K) [K = Str *, V = runtime_asdl::value_t *]: Assertion `0' failed.
osh_.cc29 aliased assignment doesn't split

[osh_.cc stdout] Expected "['a b c', 'a b c']\n", got ''
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
osh_eval.dbg: mycpp/mylib.h:596: V Dict<Str *, runtime_asdl::value_t *>::index(K) [K = Str *, V = runtime_asdl::value_t *]: Assertion `0' failed.
osh_.cc30 assignment using dynamic keyword (splits in most shells, not in zsh/osh)

[osh_.cc stdout] Expected "['a b c', 'a b c']\n", got ''
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
osh_eval.dbg: mycpp/mylib.h:596: V Dict<Str *, runtime_asdl::value_t *>::index(K) [K = Str *, V = runtime_asdl::value_t *]: Assertion `0' failed.
osh_.cc31 assignment using dynamic var names doesn't split

[osh_.cc stdout] Expected "['a b c', 'a b c']\n['a b c', 'a b c']\n", got ''
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
osh_eval.dbg: mycpp/mylib.h:596: V Dict<Str *, runtime_asdl::value_t *>::index(K) [K = Str *, V = runtime_asdl::value_t *]: Assertion `0' failed.
osh_.cc32 assign and glob

[osh_.cc stdout] Expected "['*']\n['*']\n", got "(cmd_value.Argv argv:[touch 'foo=a' 'foo=b'] arg_spids:[4 6 9])\n(cmd_value.Argv argv:[argv.py '*'] arg_spids:[15 17])\n(cmd_value.Argv argv:[argv.py '*'] arg_spids:[32 34])\n"

stdout:
(cmd_value.Argv argv:[touch 'foo=a' 'foo=b'] arg_spids:[4 6 9])
(cmd_value.Argv argv:[argv.py '*'] arg_spids:[15 17])
(cmd_value.Argv argv:[argv.py '*'] arg_spids:[32 34])
stderr:
[??? no location ???] $HOME isn't defined
Unhandled SimpleCommand
Unhandled SimpleCommand
Unhandled SimpleCommand
osh_.cc33 declare and glob

[osh_.cc stdout] Expected "['*']\n", got "(cmd_value.Argv argv:[touch 'foo=a' 'foo=b'] arg_spids:[4 6 9])\n(cmd_value.Argv argv:[argv.py '*'] arg_spids:[17 19])\n"

stdout:
(cmd_value.Argv argv:[touch 'foo=a' 'foo=b'] arg_spids:[4 6 9])
(cmd_value.Argv argv:[argv.py '*'] arg_spids:[17 19])
stderr:
[??? no location ???] $HOME isn't defined
Unhandled SimpleCommand
Unhandled SimpleCommand
osh_.cc35 readonly a=(1 2) no_value c=(3 4) makes 'no_value' readonly

[osh_.cc status] Expected 1, got -6

stdout:
stderr: 
osh_eval.dbg: mycpp/mylib.h:596: V Dict<Str *, runtime_asdl::value_t *>::index(K) [K = Str *, V = runtime_asdl::value_t *]: Assertion `0' failed.
osh_.py36 export a=1 no_value c=2

[osh_.py stdout] Expected 'foo\n', got 'None\n'

stdout:
None
stderr:
osh_.cc36 export a=1 no_value c=2

[osh_.cc stdout] Expected 'foo\n', got '(cmd_value.Argv argv:[printenv.py no_value] arg_spids:[13 15])\n'

stdout:
(cmd_value.Argv argv:[printenv.py no_value] arg_spids:[13 15])
stderr:
Unhandled SimpleCommand
osh_.cc37 local a=loc $var c=loc

[osh_.cc stdout] Expected "global\n['loc', '', 'loc']\n", got "global\n(cmd_value.Argv argv:[argv.py loc '' loc] arg_spids:[30 32 36 40])\n"

stdout:
global
(cmd_value.Argv argv:[argv.py loc '' loc] arg_spids:[30 32 36 40])
stderr:
Unhandled SimpleCommand
osh38 redirect after assignment builtin (what's going on with dash/bash/mksh here?)

[osh stderr] Expected 'STDERR\n', got ''

stdout:
done
stderr:
osh_.py38 redirect after assignment builtin (what's going on with dash/bash/mksh here?)

[osh_.py stdout] Expected 'done\n', got ''
[osh_.py stderr] Expected 'STDERR\n', got 'Traceback (most recent call last):\n File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 417, in <module>\n status = main(sys.argv)\n File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 309, in main\n cmd_flags=cmd_eval.IsMainProgram)\n File "/home/andy/git/oilshell/oil/core/main_loop.py", line 168, in Batch\n is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags=cmd_flags)\n File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1461, in ExecuteAndCatch\n status = self._Execute(node)\n File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1333, in _Execute\n status, check_errexit = self._Dispatch(node)\n File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 547, in _Dispatch\n cmd_val = self.word_ev.EvalWordSequence2(words, allow_assign=True)\n File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1888, in EvalWordSequence2\n return self._EvalAssignBuiltin(builtin_id, val0.s, words)\n File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1739, in _EvalAssignBuiltin\n right = self.EvalRhsWord(rhs_word)\n File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1602, in EvalRhsWord\n return self.EvalWordToString(w)\n File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1498, in EvalWordToString\n self._EvalWordPart(p, part_vals, quoted=False)\n File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1332, in _EvalWordPart\n sv = self._EvalCommandSub(part.child, quoted) # type: part_value_t\n File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1959, in _EvalCommandSub\n stdout = self.shell_ex.RunCommandSub(node)\nAttributeError: \'NoneType\' object has no attribute \'RunCommandSub\'\n'
[osh_.py status] Expected 0, got 1
[osh_.py stderr] Found 'Traceback (most recent'

stdout:
stderr: 
Traceback (most recent call last):
  File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 417, in <module>
    status = main(sys.argv)
  File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 309, in main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/andy/git/oilshell/oil/core/main_loop.py", line 168, in Batch
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags=cmd_flags)
  File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1461, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1333, in _Execute
    status, check_errexit = self._Dispatch(node)
  File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 547, in _Dispatch
    cmd_val = self.word_ev.EvalWordSequence2(words, allow_assign=True)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1888, in EvalWordSequence2
    return self._EvalAssignBuiltin(builtin_id, val0.s, words)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1739, in _EvalAssignBuiltin
    right = self.EvalRhsWord(rhs_word)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1602, in EvalRhsWord
    return self.EvalWordToString(w)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1498, in EvalWordToString
    self._EvalWordPart(p, part_vals, quoted=False)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1332, in _EvalWordPart
    sv = self._EvalCommandSub(part.child, quoted) # type: part_value_t
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1959, in _EvalCommandSub
    stdout = self.shell_ex.RunCommandSub(node)
AttributeError: 'NoneType' object has no attribute 'RunCommandSub'
osh_.cc38 redirect after assignment builtin (what's going on with dash/bash/mksh here?)

[osh_.cc stdout] Expected 'done\n', got ''
[osh_.cc stderr] Expected 'STDERR\n', got "osh_eval.dbg: mycpp/mylib.h:596: V Dict<Str *, runtime_asdl::value_t *>::index(K) [K = Str *, V = runtime_asdl::value_t *]: Assertion `0' failed.\n"
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
osh_eval.dbg: mycpp/mylib.h:596: V Dict<Str *, runtime_asdl::value_t *>::index(K) [K = Str *, V = runtime_asdl::value_t *]: Assertion `0' failed.
osh39 redirect after command sub (like case above but without assignment builtin)

[osh stderr] Expected 'STDERR\n', got ''

stdout:
stdout=STDOUT
stderr:
osh_.py39 redirect after command sub (like case above but without assignment builtin)

[osh_.py stdout] Expected 'stdout=STDOUT\n', got ''
[osh_.py stderr] Expected 'STDERR\n', got 'Traceback (most recent call last):\n File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 417, in <module>\n status = main(sys.argv)\n File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 309, in main\n cmd_flags=cmd_eval.IsMainProgram)\n File "/home/andy/git/oilshell/oil/core/main_loop.py", line 168, in Batch\n is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags=cmd_flags)\n File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1461, in ExecuteAndCatch\n status = self._Execute(node)\n File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1333, in _Execute\n status, check_errexit = self._Dispatch(node)\n File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 547, in _Dispatch\n cmd_val = self.word_ev.EvalWordSequence2(words, allow_assign=True)\n File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1868, in EvalWordSequence2\n self._EvalWordToParts(w, False, part_vals) # not double quoted\n File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1455, in _EvalWordToParts\n self._EvalWordPart(p, part_vals, quoted=quoted, is_subst=is_subst)\n File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1332, in _EvalWordPart\n sv = self._EvalCommandSub(part.child, quoted) # type: part_value_t\n File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1959, in _EvalCommandSub\n stdout = self.shell_ex.RunCommandSub(node)\nAttributeError: \'NoneType\' object has no attribute \'RunCommandSub\'\n'
[osh_.py status] Expected 0, got 1
[osh_.py stderr] Found 'Traceback (most recent'

stdout:
stderr: 
Traceback (most recent call last):
  File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 417, in <module>
    status = main(sys.argv)
  File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 309, in main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/andy/git/oilshell/oil/core/main_loop.py", line 168, in Batch
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags=cmd_flags)
  File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1461, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1333, in _Execute
    status, check_errexit = self._Dispatch(node)
  File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 547, in _Dispatch
    cmd_val = self.word_ev.EvalWordSequence2(words, allow_assign=True)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1868, in EvalWordSequence2
    self._EvalWordToParts(w, False, part_vals)  # not double quoted
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1455, in _EvalWordToParts
    self._EvalWordPart(p, part_vals, quoted=quoted, is_subst=is_subst)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1332, in _EvalWordPart
    sv = self._EvalCommandSub(part.child, quoted) # type: part_value_t
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1959, in _EvalCommandSub
    stdout = self.shell_ex.RunCommandSub(node)
AttributeError: 'NoneType' object has no attribute 'RunCommandSub'
osh_.cc39 redirect after command sub (like case above but without assignment builtin)

[osh_.cc stdout] Expected 'stdout=STDOUT\n', got 'stdout=\n'
[osh_.cc stderr] Expected 'STDERR\n', got ''

stdout:
stdout=
stderr:
osh_.py40 redirect after bare assignment

[osh_.py stdout] Expected 'done\n', got ''
[osh_.py stderr] Expected u'', got 'Traceback (most recent call last):\n File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 417, in <module>\n status = main(sys.argv)\n File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 309, in main\n cmd_flags=cmd_eval.IsMainProgram)\n File "/home/andy/git/oilshell/oil/core/main_loop.py", line 168, in Batch\n is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags=cmd_flags)\n File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1461, in ExecuteAndCatch\n status = self._Execute(node)\n File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1333, in _Execute\n status, check_errexit = self._Dispatch(node)\n File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 837, in _Dispatch\n val = self.word_ev.EvalRhsWord(pair.rhs)\n File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1602, in EvalRhsWord\n return self.EvalWordToString(w)\n File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1498, in EvalWordToString\n self._EvalWordPart(p, part_vals, quoted=False)\n File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1332, in _EvalWordPart\n sv = self._EvalCommandSub(part.child, quoted) # type: part_value_t\n File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1959, in _EvalCommandSub\n stdout = self.shell_ex.RunCommandSub(node)\nAttributeError: \'NoneType\' object has no attribute \'RunCommandSub\'\n'
[osh_.py status] Expected 0, got 1
[osh_.py stderr] Found 'Traceback (most recent'

stdout:
stderr: 
Traceback (most recent call last):
  File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 417, in <module>
    status = main(sys.argv)
  File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 309, in main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/andy/git/oilshell/oil/core/main_loop.py", line 168, in Batch
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags=cmd_flags)
  File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1461, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1333, in _Execute
    status, check_errexit = self._Dispatch(node)
  File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 837, in _Dispatch
    val = self.word_ev.EvalRhsWord(pair.rhs)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1602, in EvalRhsWord
    return self.EvalWordToString(w)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1498, in EvalWordToString
    self._EvalWordPart(p, part_vals, quoted=False)
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1332, in _EvalWordPart
    sv = self._EvalCommandSub(part.child, quoted) # type: part_value_t
  File "/home/andy/git/oilshell/oil/osh/word_eval.py", line 1959, in _EvalCommandSub
    stdout = self.shell_ex.RunCommandSub(node)
AttributeError: 'NoneType' object has no attribute 'RunCommandSub'
osh41 redirect after declare -p

stdout:
stderr: 
declare -- foo=bar
osh_.py41 redirect after declare -p

[osh_.py stderr] Expected 'declare -- foo=bar\n', got ''
[osh_.py stdout] Expected u'', got 'declare -- foo=bar\n'

stdout:
declare -- foo=bar
stderr:
osh_.cc41 redirect after declare -p

[osh_.cc stderr] Expected 'declare -- foo=bar\n', got ''
[osh_.cc status] Expected 0, got -11

stdout:
stderr: 
osh_.cc43 declare -A dict does not remove existing arrays (OSH regression)

[osh_.cc stdout] Expected 'dict:3\n', got ''
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
osh_eval.dbg: mycpp/mylib.h:769: int len(const Dict<K, V> *) [K = Str *, V = Str *]: Assertion `0' failed.