Results for assign.test.sh

statusoshosh_.pyosh_.cc
pass 411919
ok 100
FAIL 22525
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 FAIL FAIL Escaped = in command name
detailsdetails
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 FAIL FAIL Assignment doesn't do word splitting
detailsdetails
13pass FAIL FAIL Assignment doesn't do glob expansion
detailsdetails
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 FAIL FAIL readonly x= gives empty string (regression)
detailsdetails
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 pass Reveal existence of "temp frame" (All shells disagree here!!!)
25pass pass pass Test above without 'local' (which is not POSIX)
26pass pass pass Using ${x-default} after unsetting local shadowing a global
27pass pass pass Using ${x-default} after unsetting a temp binding shadowing a global
28pass FAIL FAIL static assignment doesn't split
detailsdetails
29pass FAIL FAIL aliased assignment doesn't split
detailsdetails
30pass FAIL FAIL assignment using dynamic keyword (splits in most shells, not in zsh/osh)
detailsdetails
31pass FAIL FAIL assignment using dynamic var names doesn't split
detailsdetails
32pass FAIL FAIL assign and glob
detailsdetails
33pass FAIL FAIL declare and glob
detailsdetails
34pass pass pass readonly $x where x='b c'
35pass pass pass readonly a=(1 2) no_value c=(3 4) makes 'no_value' readonly
36pass FAIL FAIL export a=1 no_value c=2
detailsdetails
37pass FAIL FAIL local a=loc $var c=loc
detailsdetails
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 pass pass redirect after bare assignment
41ok FAIL FAIL redirect after declare -p
detailsdetailsdetails
42pass pass pass declare -a arr does not remove existing arrays (OSH regression)
43pass pass pass declare -A dict does not remove existing arrays (OSH regression)
79 passed, 1 OK, 0 not implemented, 0 BUG, 52 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 '(cmd_value.Argv argv:[printenv.py FOO] arg_spids:[3 5])\n--\n'

stdout:
(cmd_value.Argv argv:[printenv.py FOO] arg_spids:[3 5])
--
stderr:
Unhandled SimpleCommand
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--\n'

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

[osh_.py 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_.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 '(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_.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 '(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_.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 '(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_.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 '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_.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_.py8 Escaped = in command name

[osh_.py 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_.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 0

stdout:
(cmd_value.Argv argv:[for] arg_spids:[3])
stderr:
Unhandled SimpleCommand
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 '(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_.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_.py12 Assignment doesn't do word splitting

[osh_.py 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_.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_.py13 Assignment doesn't do glob expansion

[osh_.py 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_.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 'v=\nv2=foo\n'

stdout:
v=
v2=foo
stderr:
osh_.cc14 Env binding in readonly/declare is NOT exported! (pitfall)

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

stdout:
v=
v2=foo
stderr:
osh_.py17 readonly x= gives empty string (regression)

[osh_.py stdout] Expected "['']\n", got "(cmd_value.Argv argv:[argv.py ''] arg_spids:[4 6])\n"

stdout:
(cmd_value.Argv argv:[argv.py ''] arg_spids:[4 6])
stderr:
Unhandled SimpleCommand
osh_.cc17 readonly x= gives empty string (regression)

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

stdout:
(cmd_value.Argv argv:[argv.py ''] arg_spids:[4 6])
stderr:
Unhandled SimpleCommand
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_.py28 static assignment doesn't split

[osh_.py stdout] Expected "['a b c', 'a b c', 'a b c']\n", got "(cmd_value.Argv argv:[argv.py 'a b c' 'a b c' 'a b c'] arg_spids:[18 20 24 28])\n"

stdout:
(cmd_value.Argv argv:[argv.py 'a b c' 'a b c' 'a b c'] arg_spids:[18 20 24 28])
stderr:
Unhandled SimpleCommand
osh_.cc28 static assignment doesn't split

[osh_.cc stdout] Expected "['a b c', 'a b c', 'a b c']\n", got "(cmd_value.Argv argv:[argv.py 'a b c' 'a b c' 'a b c'] arg_spids:[18 20 24 28])\n"

stdout:
(cmd_value.Argv argv:[argv.py 'a b c' 'a b c' 'a b c'] arg_spids:[18 20 24 28])
stderr:
Unhandled SimpleCommand
osh_.py29 aliased assignment doesn't split

[osh_.py stdout] Expected "['a b c', 'a b c']\n", got "(cmd_value.Argv argv:[argv.py 'a b c' 'a b c'] arg_spids:[47 49 53])\n"

stdout:
(cmd_value.Argv argv:[argv.py 'a b c' 'a b c'] arg_spids:[47 49 53])
stderr:
Unhandled SimpleCommand
osh_.cc29 aliased assignment doesn't split

[osh_.cc stdout] Expected "['a b c', 'a b c']\n", got "(cmd_value.Argv argv:[argv.py 'a b c' 'a b c'] arg_spids:[47 49 53])\n"

stdout:
(cmd_value.Argv argv:[argv.py 'a b c' 'a b c'] arg_spids:[47 49 53])
stderr:
Unhandled SimpleCommand
osh_.py30 assignment using dynamic keyword (splits in most shells, not in zsh/osh)

[osh_.py stdout] Expected "['a b c', 'a b c']\n", got "(cmd_value.Argv argv:[argv.py 'a b c' 'a b c'] arg_spids:[21 23 27])\n"

stdout:
(cmd_value.Argv argv:[argv.py 'a b c' 'a b c'] arg_spids:[21 23 27])
stderr:
Unhandled SimpleCommand
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 "(cmd_value.Argv argv:[argv.py 'a b c' 'a b c'] arg_spids:[21 23 27])\n"

stdout:
(cmd_value.Argv argv:[argv.py 'a b c' 'a b c'] arg_spids:[21 23 27])
stderr:
Unhandled SimpleCommand
osh_.py31 assignment using dynamic var names doesn't split

[osh_.py stdout] Expected "['a b c', 'a b c']\n['a b c', 'a b c']\n", got "(cmd_value.Argv argv:[argv.py 'a b c' 'a b c'] arg_spids:[21 23 27])\n(cmd_value.Argv argv:[argv.py 'a b c' 'a b c'] arg_spids:[51 53 57])\n"

stdout:
(cmd_value.Argv argv:[argv.py 'a b c' 'a b c'] arg_spids:[21 23 27])
(cmd_value.Argv argv:[argv.py 'a b c' 'a b c'] arg_spids:[51 53 57])
stderr:
Unhandled SimpleCommand
Unhandled SimpleCommand
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 "(cmd_value.Argv argv:[argv.py 'a b c' 'a b c'] arg_spids:[21 23 27])\n(cmd_value.Argv argv:[argv.py 'a b c' 'a b c'] arg_spids:[51 53 57])\n"

stdout:
(cmd_value.Argv argv:[argv.py 'a b c' 'a b c'] arg_spids:[21 23 27])
(cmd_value.Argv argv:[argv.py 'a b c' 'a b c'] arg_spids:[51 53 57])
stderr:
Unhandled SimpleCommand
Unhandled SimpleCommand
osh_.py32 assign and glob

[osh_.py 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_.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_.py33 declare and glob

[osh_.py 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_.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_.py36 export a=1 no_value c=2

[osh_.py 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_.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_.py37 local a=loc $var c=loc

[osh_.py 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
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 stderr] Expected 'STDERR\n', got ''

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

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

stdout:
done
stderr:
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 'stdout=\n'
[osh_.py stderr] Expected 'STDERR\n', got ''

stdout:
stdout=
stderr:
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:
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 stdout] Expected u'', got 'declare -- foo=bar\n'

stdout:
declare -- foo=bar
stderr: