Results for builtin-vars.test.sh

statusoshosh_.pyosh_.cc
pass 372513
ok 332
FAIL 11326
total414141
caseoshosh_.pyosh_.ccdescription
0pass FAIL FAIL Export sets a global variable
detailsdetails
1pass FAIL FAIL Export sets a global variable that persists after export -n
detailsdetails
2pass pass pass export -n undefined is ignored
3pass pass pass export -n foo=bar not allowed
4pass FAIL FAIL Export a global variable and unset it
detailsdetails
5pass FAIL FAIL Export existing global variables
detailsdetails
6pass FAIL FAIL Export existing local variable
detailsdetails
7pass FAIL FAIL Export a local that shadows a global
detailsdetails
8pass FAIL FAIL Export a variable before defining it
detailsdetails
9pass FAIL FAIL Unset exported variable, then define it again. It's NOT still exported.
detailsdetails
10pass FAIL FAIL Exporting a parent func variable (dynamic scope)
detailsdetails
11pass FAIL FAIL Dependent export setting
detailsdetails
12pass pass pass Exporting a variable doesn't change it
13ok ok ok can't export array
detailsdetailsdetails
14ok ok ok can't export associative array
detailsdetailsdetails
15pass pass FAIL assign to readonly variable
details
16pass pass FAIL Make an existing local variable readonly
details
17pass pass FAIL assign to readonly variable - errexit
details
18pass pass FAIL Unset a variable
details
19pass pass pass Unset exit status
20pass pass pass Unset nonexistent variable
21pass pass FAIL Unset readonly variable
details
22pass FAIL FAIL Unset a function without -f
detailsdetails
23pass pass FAIL Unset has dynamic scope
details
24pass pass FAIL Unset and scope (bug #653)
details
25pass pass FAIL unset of local reveals variable in higher scope
details
26pass pass pass Unset invalid variable name
27pass pass pass Unset nonexistent variable
28pass pass FAIL Unset -v
details
29pass FAIL FAIL Unset -f
detailsdetails
30pass pass pass Unset array member
31pass pass pass Unset errors
32ok ok FAIL Unset wrong type
detailsdetailsdetails
33pass pass FAIL unset -v assoc (related to issue #661)
details
34pass pass FAIL unset assoc errors
details
35pass pass pass Unset array member with dynamic parsing
36pass pass pass Use local twice
37pass pass pass Local without variable is still unset!
38FAIL FAIL FAIL local after readonly
detailsdetailsdetails
39pass pass pass unset a[-1] (bf.bash regression)
40pass pass FAIL unset a[-1] in sparse array (bf.bash regression)
details
75 passed, 8 OK, 0 not implemented, 0 BUG, 40 failed, 0 timeouts, 0 cases skipped
1 failed under osh

Details on runs that didn't PASS

osh_.py0 Export sets a global variable

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

stdout:
None
X
stderr:
osh_.cc0 Export sets a global variable

[osh_.cc stdout] Expected 'X\nX\n', got 'X\n(cmd_value.Argv argv:[printenv.py GLOBAL] arg_spids:[20 22])\n'

stdout:
X
(cmd_value.Argv argv:[printenv.py GLOBAL] arg_spids:[20 22])
stderr:
Unhandled SimpleCommand
osh_.py1 Export sets a global variable that persists after export -n

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

stdout:
None
X
None
X
stderr:
osh_.cc1 Export sets a global variable that persists after export -n

[osh_.cc stdout] Expected 'X\nX\nX\nNone\n', got 'X\n(cmd_value.Argv argv:[printenv.py GLOBAL] arg_spids:[20 22])\nX\n(cmd_value.Argv argv:[printenv.py GLOBAL] arg_spids:[34 36])\n'

stdout:
X
(cmd_value.Argv argv:[printenv.py GLOBAL] arg_spids:[20 22])
X
(cmd_value.Argv argv:[printenv.py GLOBAL] arg_spids:[34 36])
stderr:
Unhandled SimpleCommand
Unhandled SimpleCommand
osh_.py4 Export a global variable and unset it

[osh_.py stdout] Expected 'X\nX\ng=\nNone\n', got 'None\nNone\nX\ng=\n'

stdout:
None
None
X
g=
stderr:
osh_.cc4 Export a global variable and unset it

[osh_.cc stdout] Expected 'X\nX\ng=\nNone\n', got 'X\n(cmd_value.Argv argv:[printenv.py GLOBAL] arg_spids:[20 22])\ng=X\n(cmd_value.Argv argv:[printenv.py GLOBAL] arg_spids:[35 37])\n'

stdout:
X
(cmd_value.Argv argv:[printenv.py GLOBAL] arg_spids:[20 22])
g=X
(cmd_value.Argv argv:[printenv.py GLOBAL] arg_spids:[35 37])
stderr:
Unhandled SimpleCommand
Unhandled SimpleCommand
osh_.py5 Export existing global variables

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

stdout:
None
None
stderr:
osh_.cc5 Export existing global variables

[osh_.cc stdout] Expected 'g1\ng2\n', got '(cmd_value.Argv argv:[printenv.py G1 G2] arg_spids:[12 14 16])\n'

stdout:
(cmd_value.Argv argv:[printenv.py G1 G2] arg_spids:[12 14 16])
stderr:
Unhandled SimpleCommand
osh_.py6 Export existing local variable

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

stdout:
None
None
stderr:
osh_.cc6 Export existing local variable

[osh_.cc stdout] Expected 'local1\nNone\n', got '(cmd_value.Argv argv:[printenv.py L1] arg_spids:[18 20])\n(cmd_value.Argv argv:[printenv.py L1] arg_spids:[26 28])\n'

stdout:
(cmd_value.Argv argv:[printenv.py L1] arg_spids:[18 20])
(cmd_value.Argv argv:[printenv.py L1] arg_spids:[26 28])
stderr:
Unhandled SimpleCommand
Unhandled SimpleCommand
osh_.py7 Export a local that shadows a global

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

stdout:
None
None
None
stderr:
osh_.cc7 Export a local that shadows a global

[osh_.cc stdout] Expected 'local1\nNone\nglobal\n', got '(cmd_value.Argv argv:[printenv.py V] arg_spids:[21 23])\n(cmd_value.Argv argv:[printenv.py V] arg_spids:[29 31])\n(cmd_value.Argv argv:[printenv.py V] arg_spids:[40 42])\n'

stdout:
(cmd_value.Argv argv:[printenv.py V] arg_spids:[21 23])
(cmd_value.Argv argv:[printenv.py V] arg_spids:[29 31])
(cmd_value.Argv argv:[printenv.py V] arg_spids:[40 42])
stderr:
Unhandled SimpleCommand
Unhandled SimpleCommand
Unhandled SimpleCommand
osh_.py8 Export a variable before defining it

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

stdout:
None
stderr:
osh_.cc8 Export a variable before defining it

[osh_.cc stdout] Expected 'u\n', got '(cmd_value.Argv argv:[printenv.py U] arg_spids:[7 9])\n'

stdout:
(cmd_value.Argv argv:[printenv.py U] arg_spids:[7 9])
stderr:
Unhandled SimpleCommand
osh_.py9 Unset exported variable, then define it again. It's NOT still exported.

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

stdout:
None
None
None
newvalue
stderr:
osh_.cc9 Unset exported variable, then define it again. It's NOT still exported.

[osh_.cc stdout] Expected 'u\nNone\nnewvalue\nNone\n', got '(cmd_value.Argv argv:[printenv.py U] arg_spids:[7 9])\n(cmd_value.Argv argv:[printenv.py U] arg_spids:[17 19])\nnewvalue\n(cmd_value.Argv argv:[printenv.py U] arg_spids:[28 30])\n'

stdout:
(cmd_value.Argv argv:[printenv.py U] arg_spids:[7 9])
(cmd_value.Argv argv:[printenv.py U] arg_spids:[17 19])
newvalue
(cmd_value.Argv argv:[printenv.py U] arg_spids:[28 30])
stderr:
Unhandled SimpleCommand
Unhandled SimpleCommand
Unhandled SimpleCommand
osh_.py10 Exporting a parent func variable (dynamic scope)

[osh_.py stdout] Expected 'before inner\nNone\ninner: X\nX\nafter inner\nX\n', got 'None\nbefore inner\nNone\nNone\ninner: X\nafter inner\n'

stdout:
None
before inner
None
None
inner: X
after inner
stderr:
osh_.cc10 Exporting a parent func variable (dynamic scope)

[osh_.cc stdout] Expected 'before inner\nNone\ninner: X\nX\nafter inner\nX\n', got 'before inner\n(cmd_value.Argv argv:[printenv.py outer_var] arg_spids:[46 48])\ninner: X\n(cmd_value.Argv argv:[printenv.py outer_var] arg_spids:[20 22])\nafter inner\n(cmd_value.Argv argv:[printenv.py outer_var] arg_spids:[61 63])\n'

stdout:
before inner
(cmd_value.Argv argv:[printenv.py outer_var] arg_spids:[46 48])
inner: X
(cmd_value.Argv argv:[printenv.py outer_var] arg_spids:[20 22])
after inner
(cmd_value.Argv argv:[printenv.py outer_var] arg_spids:[61 63])
stderr:
Unhandled SimpleCommand
Unhandled SimpleCommand
Unhandled SimpleCommand
osh_.py11 Dependent export setting

[osh_.py stdout] Expected 'v=None\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_.cc11 Dependent export setting

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

stdout:
v=
stderr:
osh13 can't export array

stdout:
stderr: 
  export a
  ^~~~~~
[ stdin ]:3: fatal: Only strings can be exported
osh_.py13 can't export array

stdout:
stderr: 
  export a
  ^~~~~~
[ stdin ]:3: fatal: Only strings can be exported
osh_.cc13 can't export array

stdout:
stderr: 
  export a
  ^~~~~~
[ stdin ]:3: fatal: Only strings can be exported
osh14 can't export associative array

stdout:
stderr: 
  export a
  ^~~~~~
[ stdin ]:3: fatal: Only strings can be exported
osh_.py14 can't export associative array

stdout:
stderr: 
  export a
  ^~~~~~
[ stdin ]:3: fatal: Only strings can be exported
osh_.cc14 can't export associative array

stdout:
stderr: 
  a["foo"]=bar
    ^
[ array LValue in TODO ]:2: fatal: Only strings can be exported
osh_.cc15 assign to readonly variable

[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_.cc16 Make an existing local variable readonly

[osh_.cc stdout] Expected 'local\nstatus=1\nglobal\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 assign to readonly variable - errexit

[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_.cc18 Unset a variable

[osh_.cc stdout] Expected 'foo=bar\nfoo=\n', got 'foo=bar\nfoo=bar\n'

stdout:
foo=bar
foo=bar
stderr:
osh_.cc21 Unset readonly variable

[osh_.cc stdout] Expected 'status=1\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 Unset a function without -f

[osh_.py status] Expected 127, got 1

stdout:
foo
stderr:
Error running ['f']: [Errno 2] No such file or directory
osh_.cc22 Unset a function without -f

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

stdout:
foo
stderr:
osh_eval.dbg: mycpp/mylib.h:635: void Dict<Str *, syntax_asdl::command__ShFunction *>::remove(K) [K = Str *, V = syntax_asdl::command__ShFunction *]: Assertion `0' failed.
osh_.cc23 Unset has dynamic scope

[osh_.cc stdout] Expected 'foo=bar\nfoo=\n', got 'foo=bar\nfoo=bar\n'

stdout:
foo=bar
foo=bar
stderr:
osh_.cc24 Unset and scope (bug #653)

[osh_.cc stdout] Expected 'level2=yy\nlevel2=xx\nlevel1=xx\nlevel1=global\nlevel2=yy\nlevel2=global\n', got 'level2=yy\nlevel2=yy\nlevel1=yy\nlevel1=yy\nlevel2=yy\nlevel2=yy\n'

stdout:
level2=yy
level2=yy
level1=yy
level1=yy
level2=yy
level2=yy
stderr:
osh_.cc25 unset of local reveals variable in higher scope

[osh_.cc stdout] Expected 'x=foo\nx=global\n', got 'x=foo\nx=foo\n'

stdout:
x=foo
x=foo
stderr:
osh_.cc28 Unset -v

[osh_.cc stdout] Expected 'foo=\nfunction foo\n', got 'foo=bar\nfunction foo\n'

stdout:
foo=bar
function foo
stderr:
osh_.py29 Unset -f

[osh_.py stdout] Expected 'foo=bar\nstatus=127\n', got 'foo=bar\nstatus=1\n'

stdout:
foo=bar
status=1
stderr:
Error running ['foo']: [Errno 2] No such file or directory
osh_.cc29 Unset -f

[osh_.cc stdout] Expected 'foo=bar\nstatus=127\n', got ''
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
osh_eval.dbg: mycpp/mylib.h:635: void Dict<Str *, syntax_asdl::command__ShFunction *>::remove(K) [K = Str *, V = syntax_asdl::command__ShFunction *]: Assertion `0' failed.
osh32 Unset wrong type

stdout:
undef 1
undef 1
array 0
array 0
assoc 0
assoc 0
stderr:
  unset -v 'undef[1]'
           ^
[ stdin ]:4: 'undef' isn't an array
  unset -v 'undef["key"]'
           ^
[ stdin ]:6: 'undef' isn't an array
osh_.py32 Unset wrong type

stdout:
undef 1
undef 1
array 0
array 0
assoc 0
assoc 0
stderr:
  unset -v 'undef[1]'
           ^
[ stdin ]:4: 'undef' isn't an array
  unset -v 'undef["key"]'
           ^
[ stdin ]:6: 'undef' isn't an array
osh_.cc32 Unset wrong type

[osh_.cc stdout] Expected 'undef 1\nundef 1\narray 0\narray 0\nassoc 0\nassoc 0\n', got 'undef 1\nundef 1\narray 0\narray 0\n'
[osh_.cc status] Expected 0, got -6

stdout:
undef 1
undef 1
array 0
array 0
stderr:
  unset -v 'undef[1]'
           ^
[ stdin ]:4: 'undef' isn't an array
  unset -v 'undef["key"]'
           ^
TODO:6: 'undef' isn't an array
osh_eval.dbg: mycpp/mylib.h:635: void Dict<Str *, Str *>::remove(K) [K = Str *, V = Str *]: Assertion `0' failed.
osh_.cc33 unset -v assoc (related to issue #661)

[osh_.cc stdout] Expected '1\nkeys=1],a[1\nvals=foo\n0\nkeys=\nvals=\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.
osh_.cc34 unset assoc errors

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

stdout:
stderr: 
osh_eval.dbg: mycpp/mylib.h:635: void Dict<Str *, Str *>::remove(K) [K = Str *, V = Str *]: Assertion `0' failed.
osh38 local after readonly

[osh stdout] Expected u'', got 'y=0\ny=\n'
[osh status] Expected 1, got 0

stdout:
y=0
y=
stderr:
osh_.py38 local after readonly

[osh_.py stdout] Expected u'', got 'y=0\ny=\n'
[osh_.py status] Expected 1, got 0

stdout:
y=0
y=
stderr:
osh_.cc38 local after 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_.cc40 unset a[-1] in sparse array (bf.bash regression)

[osh_.cc stdout] Expected 'len=3 a=0 2 3\nlast=3 second=2 third=\n---\nlen=2 a=0 2\nlast=2 second= third=0\n', got ''
[osh_.cc status] Expected 0, got -11

stdout:
stderr: