Results for var-op-test.test.sh

statusoshosh_.pyosh_.cc
pass 211310
ok 300
FAIL 01114
total242424
caseoshosh_.pyosh_.ccdescription
0pass pass pass Lazy Evaluation of Alternative
1pass pass pass Default value when empty
2pass pass pass Default value when unset
3ok FAIL FAIL Unquoted with array as default value
detailsdetailsdetails
4ok FAIL FAIL Quoted with array as default value
detailsdetailsdetails
5ok FAIL FAIL Assign default with array
detailsdetailsdetails
6pass FAIL FAIL Assign default value when empty
detailsdetails
7pass FAIL FAIL Assign default value when unset
detailsdetails
8pass pass pass ${v:+foo} Alternative value when empty
9pass pass pass ${v+foo} Alternative value when unset
10pass FAIL FAIL "${x+foo}" quoted (regression)
detailsdetails
11pass pass FAIL ${v+foo} and ${v:+foo} when set -u
details
12pass pass FAIL ${v-foo} and ${v:-foo} when set -u
details
13pass FAIL FAIL array and - and +
detailsdetails
14pass FAIL FAIL $@ and - and +
detailsdetails
15pass pass FAIL assoc array and - and +
details
16pass pass pass Error when empty
17pass pass pass Error when unset
18pass pass pass Error when unset
19pass FAIL FAIL ${var=x} dynamic scope
detailsdetails
20pass FAIL FAIL array ${arr[0]=x}
detailsdetails
21pass FAIL FAIL assoc array ${arr["k"]=x}
detailsdetails
22pass pass pass "\z" as arg
23pass pass pass "\e" as arg
44 passed, 3 OK, 0 not implemented, 0 BUG, 25 failed, 0 timeouts, 0 cases skipped

Details on runs that didn't PASS

osh3 Unquoted with array as default value

stdout:
['Xx1 2', '3 4xX']
['Xx1', '2', '3', '4xX']
stderr:
osh_.py3 Unquoted with array as default value

[osh_.py stdout] Expected "['Xx1 2', '3 4xX']\n['Xx1', '2', '3', '4xX']\n", got "(cmd_value.Argv argv:[argv.py 'Xx/home/andy/git/oilshell/oil/bin/osh_eval.pyxX'] arg_spids:[12 14])\n(cmd_value.Argv argv:[argv.py 'Xx/home/andy/git/oilshell/oil/bin/osh_eval.pyxX'] arg_spids:[26 28])\n"

stdout:
(cmd_value.Argv argv:[argv.py 'Xx/home/andy/git/oilshell/oil/bin/osh_eval.pyxX'] arg_spids:[12 14])
(cmd_value.Argv argv:[argv.py 'Xx/home/andy/git/oilshell/oil/bin/osh_eval.pyxX'] arg_spids:[26 28])
stderr:
set 4
Unhandled SimpleCommand
Unhandled SimpleCommand
osh_.cc3 Unquoted with array as default value

[osh_.cc stdout] Expected "['Xx1 2', '3 4xX']\n['Xx1', '2', '3', '4xX']\n", got "(cmd_value.Argv argv:[argv.py 'Xx/home/andy/git/oilshell/oil/_bin/osh_eval.dbgxX'] arg_spids:[12 14])\n(cmd_value.Argv argv:[argv.py 'Xx/home/andy/git/oilshell/oil/_bin/osh_eval.dbgxX'] arg_spids:[26 28])\n"

stdout:
(cmd_value.Argv argv:[argv.py 'Xx/home/andy/git/oilshell/oil/_bin/osh_eval.dbgxX'] arg_spids:[12 14])
(cmd_value.Argv argv:[argv.py 'Xx/home/andy/git/oilshell/oil/_bin/osh_eval.dbgxX'] arg_spids:[26 28])
stderr:
set 4
Unhandled SimpleCommand
Unhandled SimpleCommand
osh4 Quoted with array as default value

stdout:
['Xx1 2', '3 4xX']
['Xx1 2 3 4xX']
stderr:
osh_.py4 Quoted with array as default value

[osh_.py stdout] Expected "['Xx1 2', '3 4xX']\n['Xx1 2 3 4xX']\n", got "(cmd_value.Argv argv:[argv.py 'Xx/home/andy/git/oilshell/oil/bin/osh_eval.pyxX'] arg_spids:[12 14])\n(cmd_value.Argv argv:[argv.py 'Xx/home/andy/git/oilshell/oil/bin/osh_eval.pyxX'] arg_spids:[28 30])\n"

stdout:
(cmd_value.Argv argv:[argv.py 'Xx/home/andy/git/oilshell/oil/bin/osh_eval.pyxX'] arg_spids:[12 14])
(cmd_value.Argv argv:[argv.py 'Xx/home/andy/git/oilshell/oil/bin/osh_eval.pyxX'] arg_spids:[28 30])
stderr:
set 4
Unhandled SimpleCommand
Unhandled SimpleCommand
osh_.cc4 Quoted with array as default value

[osh_.cc stdout] Expected "['Xx1 2', '3 4xX']\n['Xx1 2 3 4xX']\n", got "(cmd_value.Argv argv:[argv.py 'Xx/home/andy/git/oilshell/oil/_bin/osh_eval.dbgxX'] arg_spids:[12 14])\n(cmd_value.Argv argv:[argv.py 'Xx/home/andy/git/oilshell/oil/_bin/osh_eval.dbgxX'] arg_spids:[28 30])\n"

stdout:
(cmd_value.Argv argv:[argv.py 'Xx/home/andy/git/oilshell/oil/_bin/osh_eval.dbgxX'] arg_spids:[12 14])
(cmd_value.Argv argv:[argv.py 'Xx/home/andy/git/oilshell/oil/_bin/osh_eval.dbgxX'] arg_spids:[28 30])
stderr:
set 4
Unhandled SimpleCommand
Unhandled SimpleCommand
osh5 Assign default with array

stdout:
['Xx1 2', '3 4xX']
['x1 2 3 4x']
stderr:
osh_.py5 Assign default with array

[osh_.py stdout] Expected "['Xx1 2', '3 4xX']\n['x1 2 3 4x']\n", got "(cmd_value.Argv argv:[argv.py 'Xx/home/andy/git/oilshell/oil/bin/osh_eval.pyxX'] arg_spids:[12 14])\n(cmd_value.Argv argv:[argv.py 'x/home/andy/git/oilshell/oil/bin/osh_eval.pyx'] arg_spids:[26 28])\n"

stdout:
(cmd_value.Argv argv:[argv.py 'Xx/home/andy/git/oilshell/oil/bin/osh_eval.pyxX'] arg_spids:[12 14])
(cmd_value.Argv argv:[argv.py 'x/home/andy/git/oilshell/oil/bin/osh_eval.pyx'] arg_spids:[26 28])
stderr:
set 4
Unhandled SimpleCommand
Unhandled SimpleCommand
osh_.cc5 Assign default with array

[osh_.cc stdout] Expected "['Xx1 2', '3 4xX']\n['x1 2 3 4x']\n", got "(cmd_value.Argv argv:[argv.py 'Xx/home/andy/git/oilshell/oil/_bin/osh_eval.dbgxX'] arg_spids:[12 14])\n(cmd_value.Argv argv:[argv.py 'x/home/andy/git/oilshell/oil/_bin/osh_eval.dbgx'] arg_spids:[26 28])\n"

stdout:
(cmd_value.Argv argv:[argv.py 'Xx/home/andy/git/oilshell/oil/_bin/osh_eval.dbgxX'] arg_spids:[12 14])
(cmd_value.Argv argv:[argv.py 'x/home/andy/git/oilshell/oil/_bin/osh_eval.dbgx'] arg_spids:[26 28])
stderr:
set 4
Unhandled SimpleCommand
Unhandled SimpleCommand
osh_.py6 Assign default value when empty

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

stdout:
(cmd_value.Argv argv:[is empty] arg_spids:[4 4])
is empty
stderr:
Unhandled SimpleCommand
osh_.cc6 Assign default value when empty

[osh_.cc stdout] Expected 'is empty\n', got '(cmd_value.Argv argv:[is empty] arg_spids:[4 4])\nis empty\n'

stdout:
(cmd_value.Argv argv:[is empty] arg_spids:[4 4])
is empty
stderr:
Unhandled SimpleCommand
osh_.py7 Assign default value when unset

[osh_.py stdout] Expected 'is unset\n', got '(cmd_value.Argv argv:[is unset] arg_spids:[0 0])\nis unset\n'

stdout:
(cmd_value.Argv argv:[is unset] arg_spids:[0 0])
is unset
stderr:
Unhandled SimpleCommand
osh_.cc7 Assign default value when unset

[osh_.cc stdout] Expected 'is unset\n', got '(cmd_value.Argv argv:[is unset] arg_spids:[0 0])\nis unset\n'

stdout:
(cmd_value.Argv argv:[is unset] arg_spids:[0 0])
is unset
stderr:
Unhandled SimpleCommand
osh_.py10 "${x+foo}" quoted (regression)

[osh_.py stdout] Expected "['', '=', 'set']\n", got "(cmd_value.Argv argv:[argv.py '' '=' set] arg_spids:[0 2 10 12])\n"

stdout:
(cmd_value.Argv argv:[argv.py '' '=' set] arg_spids:[0 2 10 12])
stderr:
Unhandled SimpleCommand
osh_.cc10 "${x+foo}" quoted (regression)

[osh_.cc stdout] Expected "['', '=', 'set']\n", got "(cmd_value.Argv argv:[argv.py '' '=' set] arg_spids:[0 2 10 12])\n"

stdout:
(cmd_value.Argv argv:[argv.py '' '=' set] arg_spids:[0 2 10 12])
stderr:
Unhandled SimpleCommand
osh_.cc11 ${v+foo} and ${v:+foo} when set -u

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

stdout:
v=foo
v=foo
v=foo
v=foo
stderr:
set 2
osh_.cc12 ${v-foo} and ${v:-foo} when set -u

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

stdout:
v=v
v=v
v=v
v=v
stderr:
set 2
osh_.py13 array and - and +

[osh_.py stdout] Expected "empty=minus\na1=\na1[0]=\na2= x\na3=3 4\n---\nempty=\na1=plus\na1[0]=plus\na2=plus\na3=plus\n---\nempty=\na1=plus\na2=plus\na3=plus\n---\n['minus']\n[]\n['']\n['plus']\n['']\n['plus']\n['', 'x']\n['plus']\n['3', '4']\n['plus']\n", got "empty=minus\na1=\na1[0]=\na2= x\na3=3 4\n---\nempty=\na1=plus\na1[0]=plus\na2=plus\na3=plus\n---\nempty=\na1=plus\na2=plus\na3=plus\n---\n(cmd_value.Argv argv:[argv.py minus] arg_spids:[222 224])\n(cmd_value.Argv argv:[argv.py] arg_spids:[235])\n(cmd_value.Argv argv:[argv.py ''] arg_spids:[248 250])\n(cmd_value.Argv argv:[argv.py plus] arg_spids:[261 263])\n(cmd_value.Argv argv:[argv.py ''] arg_spids:[274 276])\n(cmd_value.Argv argv:[argv.py plus] arg_spids:[287 289])\n(cmd_value.Argv argv:[argv.py '' x] arg_spids:[300 302 302])\n(cmd_value.Argv argv:[argv.py plus] arg_spids:[313 315])\n(cmd_value.Argv argv:[argv.py 3 4] arg_spids:[326 328 328])\n(cmd_value.Argv argv:[argv.py plus] arg_spids:[339 341])\n"

stdout:
empty=minus
a1=
a1[0]=
a2= x
a3=3 4
---
empty=
a1=plus
a1[0]=plus
a2=plus
a3=plus
---
empty=
a1=plus
a2=plus
a3=plus
---
(cmd_value.Argv argv:[argv.py minus] arg_spids:[222 224])
(cmd_value.Argv argv:[argv.py] arg_spids:[235])
(cmd_value.Argv argv:[argv.py ''] arg_spids:[248 250])
(cmd_value.Argv argv:[argv.py plus] arg_spids:[261 263])
(cmd_value.Argv argv:[argv.py ''] arg_spids:[274 276])
(cmd_value.Argv argv:[argv.py plus] arg_spids:[287 289])
(cmd_value.Argv argv:[argv.py '' x] arg_spids:[300 302 302])
(cmd_value.Argv argv:[argv.py plus] arg_spids:[313 315])
(cmd_value.Argv argv:[argv.py 3 4] arg_spids:[326 328 328])
(cmd_value.Argv argv:[argv.py plus] arg_spids:[339 341])
stderr:
Unhandled SimpleCommand
Unhandled SimpleCommand
Unhandled SimpleCommand
Unhandled SimpleCommand
Unhandled SimpleCommand
Unhandled SimpleCommand
Unhandled SimpleCommand
Unhandled SimpleCommand
Unhandled SimpleCommand
Unhandled SimpleCommand
osh_.cc13 array and - and +

[osh_.cc stdout] Expected "empty=minus\na1=\na1[0]=\na2= x\na3=3 4\n---\nempty=\na1=plus\na1[0]=plus\na2=plus\na3=plus\n---\nempty=\na1=plus\na2=plus\na3=plus\n---\n['minus']\n[]\n['']\n['plus']\n['']\n['plus']\n['', 'x']\n['plus']\n['3', '4']\n['plus']\n", got 'empty=minus\na1=\n'
[osh_.cc status] Expected 0, got -6

stdout:
empty=minus
a1=
stderr:
osh_eval.dbg: cpp/libc.h:37: List<Str *> *libc::glob(Str *): Assertion `0' failed.
osh_.py14 $@ and - and +

[osh_.py stdout] Expected 'argv=minus\nargv=\nargv=minus\nargv=\n', got 'argv=/home/andy/git/oilshell/oil/bin/osh_eval.py\nargv=plus\nargv=/home/andy/git/oilshell/oil/bin/osh_eval.py\nargv=plus\n'

stdout:
argv=/home/andy/git/oilshell/oil/bin/osh_eval.py
argv=plus
argv=/home/andy/git/oilshell/oil/bin/osh_eval.py
argv=plus
stderr:
osh_.cc14 $@ and - and +

[osh_.cc stdout] Expected 'argv=minus\nargv=\nargv=minus\nargv=\n', got 'argv=/home/andy/git/oilshell/oil/_bin/osh_eval.dbg\nargv=plus\nargv=/home/andy/git/oilshell/oil/_bin/osh_eval.dbg\nargv=plus\n'

stdout:
argv=/home/andy/git/oilshell/oil/_bin/osh_eval.dbg
argv=plus
argv=/home/andy/git/oilshell/oil/_bin/osh_eval.dbg
argv=plus
stderr:
osh_.cc15 assoc array and - and +

[osh_.cc stdout] Expected 'empty=minus\nempty=\nassoc=v\nassoc=plus\n---\nempty=minus\nempty=\nassoc=v\nassoc=plus\n', got ''
[osh_.cc status] Expected 0, got -6

stdout:
stderr: 
osh_eval.dbg: mycpp/mylib.h:721: int len(const Dict<K, V> *) [K = Str *, V = Str *]: Assertion `0' failed.
osh_.py19 ${var=x} dynamic scope

[osh_.py stdout] Expected 'x\nhello=x\nhello=x\n', got '(cmd_value.Argv argv:[f] arg_spids:[24])\nhello=\n(cmd_value.Argv argv:[f] arg_spids:[43])\nhello=\n'

stdout:
(cmd_value.Argv argv:[f] arg_spids:[24])
hello=
(cmd_value.Argv argv:[f] arg_spids:[43])
hello=
stderr:
Unhandled SimpleCommand
Unhandled SimpleCommand
osh_.cc19 ${var=x} dynamic scope

[osh_.cc stdout] Expected 'x\nhello=x\nhello=x\n', got '(cmd_value.Argv argv:[f] arg_spids:[24])\nhello=\n(cmd_value.Argv argv:[f] arg_spids:[43])\nhello=\n'

stdout:
(cmd_value.Argv argv:[f] arg_spids:[24])
hello=
(cmd_value.Argv argv:[f] arg_spids:[43])
hello=
stderr:
Unhandled SimpleCommand
Unhandled SimpleCommand
osh_.py20 array ${arr[0]=x}

[osh_.py stdout] Expected '0\n1\n', got '0\n'
[osh_.py status] Expected 0, got 1
[osh_.py stderr] Found 'Traceback (most recent'

stdout:
0
stderr:
Traceback (most recent call last):
  File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 341, in <module>
    status = main(sys.argv)
  File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 228, in main
    status = main_loop.Batch(cmd_ev, c_parser, arena, is_main=True)
  File "/home/andy/git/oilshell/oil/core/main_loop.py", line 165, in Batch
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, optimize=optimize)
  File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1450, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1334, in _Execute
    status, check_errexit = self._Dispatch(node)
  File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 573, in _Dispatch
    status = self._RunSimpleCommand(cmd_val, node.do_fork)
  File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 481, in _RunSimpleCommand
    return self.shell_ex.RunSimpleCommand(cmd_val, do_fork)
  File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 317, in RunSimpleCommand
    return self.RunBuiltin(builtin_id, cmd_val)
  File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 302, in RunBuiltin
    builtin_func = self.builtins[builtin_id]
KeyError: 1
osh_.cc20 array ${arr[0]=x}

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

stdout:
0
stderr:
terminate called after throwing an instance of 'std::out_of_range'
  what():  vector::_M_range_check: __n (which is 0) >= this->size() (which is 0)
osh_.py21 assoc array ${arr["k"]=x}

[osh_.py stdout] Expected '0\n1\n', got '0\n'
[osh_.py status] Expected 0, got 1
[osh_.py stderr] Found 'Traceback (most recent'

stdout:
0
stderr:
Traceback (most recent call last):
  File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 341, in <module>
    status = main(sys.argv)
  File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 228, in main
    status = main_loop.Batch(cmd_ev, c_parser, arena, is_main=True)
  File "/home/andy/git/oilshell/oil/core/main_loop.py", line 165, in Batch
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, optimize=optimize)
  File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1450, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 1334, in _Execute
    status, check_errexit = self._Dispatch(node)
  File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 573, in _Dispatch
    status = self._RunSimpleCommand(cmd_val, node.do_fork)
  File "/home/andy/git/oilshell/oil/osh/cmd_eval.py", line 481, in _RunSimpleCommand
    return self.shell_ex.RunSimpleCommand(cmd_val, do_fork)
  File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 317, in RunSimpleCommand
    return self.RunBuiltin(builtin_id, cmd_val)
  File "/home/andy/git/oilshell/oil/bin/osh_eval.py", line 302, in RunBuiltin
    builtin_func = self.builtins[builtin_id]
KeyError: 1
osh_.cc21 assoc array ${arr["k"]=x}

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

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