spec test index / oilshell.org
96 passed, 18 OK, 20 not implemented, 0 BUG, 13 failed, 0 timeouts, 0 cases skipped 1 failed under osh
| osh_.cc | 3 printf -v a[1] [osh_.cc stdout] Expected "status=0\n['a', 'foo', 'c']\n", got "['a', 'foo', 'c']\nstatus=0\n" stdout: ['a', 'foo', 'c'] status=0stderr: dumb_alloc: gNumNew = 2451 gNumDelete = 241 gMemPos = 81344 gNumMalloc = 308 gNumFree = 0 gMemPos2 = 14224 |
| osh | 6 dynamic declare instead of %q stdout: $'"quoted" with spaces and \\'stderr: |
| osh_.py | 6 dynamic declare instead of %q stdout: $'"quoted" with spaces and \\'stderr: |
| osh_.cc | 6 dynamic declare instead of %q stdout: $'"quoted" with spaces and \\'stderr: dumb_alloc: gNumNew = 1982 gNumDelete = 165 gMemPos = 68320 gNumMalloc = 132 gNumFree = 0 gMemPos2 = 11472 |
| osh | 7 printf -v dynamic scope stdout: dollar=dollar -- dollar='$' mylocal=mylocal -- dollar='$' mylocal=stderr: |
| osh_.py | 7 printf -v dynamic scope stdout: dollar=dollar -- dollar='$' mylocal=mylocal -- dollar='$' mylocal=stderr: |
| osh_.cc | 7 printf -v dynamic scope stdout: dollar=dollar -- dollar='$' mylocal=mylocal -- dollar='$' mylocal=stderr: dumb_alloc: gNumNew = 3406 gNumDelete = 380 gMemPos = 108000 gNumMalloc = 635 gNumFree = 0 gMemPos2 = 19408 |
| osh_.cc | 17 printf %6.4s does both truncation and padding [osh_.cc stdout] Expected '[ foo]\n[ foo]\n[foo ]\n[spam-eggs]\n[ spam]\n[spam ]\n', got '[ foo]\n[ foo\x00]\n[foo\x00 ]\n[spam-eggs]\n[ spam]\n[spam ]\n' stdout: [ foo] [ foo ] [foo ] [spam-eggs] [ spam] [spam ]stderr: dumb_alloc: gNumNew = 2611 gNumDelete = 274 gMemPos = 86176 gNumMalloc = 397 gNumFree = 0 gMemPos2 = 15600 |
| osh | 22 empty string (osh is more strict) stdout: stderr: printf '%d\n' ''
^
[ stdin ]:1: printf expected an integer, got ''
|
| osh_.py | 22 empty string (osh is more strict) stdout: stderr: printf '%d\n' ''
^
[ stdin ]:1: printf expected an integer, got ''
|
| osh_.cc | 22 empty string (osh is more strict) stdout: stderr: printf '%d\n' ''
^
[ stdin ]:1: printf expected an integer, got ''
dumb_alloc:
gNumNew = 1765
gNumDelete = 123
gMemPos = 61472
gNumMalloc = 79
gNumFree = 0
gMemPos2 = 10480
|
| osh | 24 Unicode char with ' (osh is more strict) [osh stdout] Expected '3bc\n', got 'ce\n' stdout: cestderr: |
| osh_.py | 24 Unicode char with ' (osh is more strict) [osh_.py stdout] Expected '3bc\n', got 'ce\n' stdout: cestderr: |
| osh_.cc | 24 Unicode char with ' (osh is more strict) [osh_.cc stdout] Expected '3bc\n', got 'ce\n' stdout: cestderr: dumb_alloc: gNumNew = 1782 gNumDelete = 132 gMemPos = 61872 gNumMalloc = 84 gNumFree = 0 gMemPos2 = 10544 |
| osh | 25 negative numbers with unsigned / octal / hex stdout: stderr: [%u]\n
^
(source.ArgvWord word_spid:2):1: fatal: Can't format negative number -42 with %u
|
| osh_.py | 25 negative numbers with unsigned / octal / hex stdout: stderr: [%u]\n
^
(source.ArgvWord word_spid:2):1: fatal: Can't format negative number -42 with %u
|
| osh_.cc | 25 negative numbers with unsigned / octal / hex stdout: stderr: printf '[%u]\n' -42 ^~~~~~ [ stdin ]:1: fatal: Can't format negative number -42 with %u dumb_alloc: gNumNew = 1771 gNumDelete = 125 gMemPos = 61648 gNumMalloc = 80 gNumFree = 0 gMemPos2 = 10496 |
| osh | 26 printf floating point (not required, but they all implement it) stdout: stderr: [%f]\n
^
(source.ArgvWord word_spid:2):1: osh printf doesn't support floating point
[%.2f]\n
^
(source.ArgvWord word_spid:13):1: osh printf doesn't support floating point
[%8.2f]\n
^
(source.ArgvWord word_spid:26):1: osh printf doesn't support floating point
[%-8.2f]\n
^
(source.ArgvWord word_spid:40):1: osh printf doesn't support floating point
[%-f]\n
^
(source.ArgvWord word_spid:55):1: osh printf doesn't support floating point
[%-f]\n
^
(source.ArgvWord word_spid:67):1: osh printf doesn't support floating point
|
| osh_.py | 26 printf floating point (not required, but they all implement it) stdout: stderr: [%f]\n
^
(source.ArgvWord word_spid:2):1: osh printf doesn't support floating point
[%.2f]\n
^
(source.ArgvWord word_spid:13):1: osh printf doesn't support floating point
[%8.2f]\n
^
(source.ArgvWord word_spid:26):1: osh printf doesn't support floating point
[%-8.2f]\n
^
(source.ArgvWord word_spid:40):1: osh printf doesn't support floating point
[%-f]\n
^
(source.ArgvWord word_spid:55):1: osh printf doesn't support floating point
[%-f]\n
^
(source.ArgvWord word_spid:67):1: osh printf doesn't support floating point
|
| osh_.cc | 26 printf floating point (not required, but they all implement it) stdout: stderr: [%f]\n
^
TODO:1: osh printf doesn't support floating point
[%.2f]\n
^
TODO:1: osh printf doesn't support floating point
[%8.2f]\n
^
TODO:1: osh printf doesn't support floating point
[%-8.2f]\n
^
TODO:1: osh printf doesn't support floating point
[%-f]\n
^
TODO:1: osh printf doesn't support floating point
[%-f]\n
^
TODO:1: osh printf doesn't support floating point
dumb_alloc:
gNumNew = 2633
gNumDelete = 253
gMemPos = 86928
gNumMalloc = 423
gNumFree = 0
gMemPos2 = 15968
|
| osh | 27 printf floating point with - and 0 stdout: ---stderr: [%8.4f]\n
^
(source.ArgvWord word_spid:2):1: osh printf doesn't support floating point
[%08.4f]\n
^
(source.ArgvWord word_spid:16):1: osh printf doesn't support floating point
[%8.04f]\n
^
(source.ArgvWord word_spid:31):1: Expected a printf format character
[%08.04f]\n
^
(source.ArgvWord word_spid:48):1: Expected a printf format character
[%-8.4f]\n
^
(source.ArgvWord word_spid:67):1: osh printf doesn't support floating point
[%-08.4f]\n
^
(source.ArgvWord word_spid:82):1: osh printf doesn't support floating point
[%-8.04f]\n
^
(source.ArgvWord word_spid:98):1: Expected a printf format character
[%-08.04f]\n
^
(source.ArgvWord word_spid:113):1: Expected a printf format character
|
| osh_.py | 27 printf floating point with - and 0 stdout: ---stderr: [%8.4f]\n
^
(source.ArgvWord word_spid:2):1: osh printf doesn't support floating point
[%08.4f]\n
^
(source.ArgvWord word_spid:16):1: osh printf doesn't support floating point
[%8.04f]\n
^
(source.ArgvWord word_spid:31):1: Expected a printf format character
[%08.04f]\n
^
(source.ArgvWord word_spid:48):1: Expected a printf format character
[%-8.4f]\n
^
(source.ArgvWord word_spid:67):1: osh printf doesn't support floating point
[%-08.4f]\n
^
(source.ArgvWord word_spid:82):1: osh printf doesn't support floating point
[%-8.04f]\n
^
(source.ArgvWord word_spid:98):1: Expected a printf format character
[%-08.04f]\n
^
(source.ArgvWord word_spid:113):1: Expected a printf format character
|
| osh_.cc | 27 printf floating point with - and 0 stdout: ---stderr: [%8.4f]\n
^
TODO:1: osh printf doesn't support floating point
[%08.4f]\n
^
TODO:1: osh printf doesn't support floating point
[%8.04f]\n
^
TODO:1: Expected a printf format character
[%08.04f]\n
^
TODO:1: Expected a printf format character
[%-8.4f]\n
^
TODO:1: osh printf doesn't support floating point
[%-08.4f]\n
^
TODO:1: osh printf doesn't support floating point
[%-8.04f]\n
^
TODO:1: Expected a printf format character
[%-08.04f]\n
^
TODO:1: Expected a printf format character
dumb_alloc:
gNumNew = 3059
gNumDelete = 313
gMemPos = 98368
gNumMalloc = 567
gNumFree = 0
gMemPos2 = 18272
|
| osh | 28 printf eE fF gG stdout: stderr: [%e]\n
^
(source.ArgvWord word_spid:2):1: osh printf doesn't support floating point
[%E]\n
^
(source.ArgvWord word_spid:13):1: osh printf doesn't support floating point
[%f]\n
^
(source.ArgvWord word_spid:24):1: osh printf doesn't support floating point
[%g]\n
^
(source.ArgvWord word_spid:35):1: osh printf doesn't support floating point
[%G]\n
^
(source.ArgvWord word_spid:46):1: osh printf doesn't support floating point
|
| osh_.py | 28 printf eE fF gG stdout: stderr: [%e]\n
^
(source.ArgvWord word_spid:2):1: osh printf doesn't support floating point
[%E]\n
^
(source.ArgvWord word_spid:13):1: osh printf doesn't support floating point
[%f]\n
^
(source.ArgvWord word_spid:24):1: osh printf doesn't support floating point
[%g]\n
^
(source.ArgvWord word_spid:35):1: osh printf doesn't support floating point
[%G]\n
^
(source.ArgvWord word_spid:46):1: osh printf doesn't support floating point
|
| osh_.cc | 28 printf eE fF gG stdout: stderr: [%e]\n
^
TODO:1: osh printf doesn't support floating point
[%E]\n
^
TODO:1: osh printf doesn't support floating point
[%f]\n
^
TODO:1: osh printf doesn't support floating point
[%g]\n
^
TODO:1: osh printf doesn't support floating point
[%G]\n
^
TODO:1: osh printf doesn't support floating point
dumb_alloc:
gNumNew = 2402
gNumDelete = 225
gMemPos = 79312
gNumMalloc = 301
gNumFree = 0
gMemPos2 = 14016
|
| osh_.cc | 29 printf backslash escapes [osh_.cc stdout] Expected "['a\\tb']\n['\\xe2\\x98\\xa0']\n['$e']\n['\\x1f7']\n", got '' [osh_.cc status] Expected 0, got -6 stdout: stderr: osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed. |
| osh_.cc | 30 printf octal backslash escapes [osh_.cc stdout] Expected "['\\x1f7']\n['\\xff']\n", got '' [osh_.cc status] Expected 0, got -6 stdout: stderr: osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed. |
| osh_.cc | 31 printf unicode backslash escapes [osh_.cc stdout] Expected "['\\xe2\\x98\\xa0']\n['\\xd9\\x9f']\n", got '' [osh_.cc status] Expected 0, got -6 stdout: stderr: osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed. |
| osh | 36 printf %c -- doesn't respect UTF-8! Bad. stdout: [μμ] 0stderr: %c ^ (source.ArgvWord word_spid:24):1: osh printf doesn't support single characters (bytes) |
| osh_.py | 36 printf %c -- doesn't respect UTF-8! Bad. stdout: [μμ] 0stderr: %c ^ (source.ArgvWord word_spid:24):1: osh printf doesn't support single characters (bytes) |
| osh_.cc | 36 printf %c -- doesn't respect UTF-8! Bad. [osh_.cc stdout] Expected '[\xce\xbc\xce\xbc]\n0\n', got '' [osh_.cc status] Expected 0, got -6 stdout: stderr: osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed. |
| osh | 37 printf invalid format stdout: status=2 status=2stderr: %z
^
(source.ArgvWord word_spid:2):1: Invalid printf format character
%-z
^
(source.ArgvWord word_spid:17):1: Invalid printf format character
|
| osh_.py | 37 printf invalid format stdout: status=2 status=2stderr: %z
^
(source.ArgvWord word_spid:2):1: Invalid printf format character
%-z
^
(source.ArgvWord word_spid:17):1: Invalid printf format character
|
| osh_.cc | 37 printf invalid format stdout: status=2 status=2stderr: %z
^
TODO:1: Invalid printf format character
%-z
^
TODO:1: Invalid printf format character
dumb_alloc:
gNumNew = 2185
gNumDelete = 192
gMemPos = 72720
gNumMalloc = 226
gNumFree = 0
gMemPos2 = 12816
|
| osh | 40 printf negative numbers stdout: [-42] status=0 [-42] status=0 [-42] status=0 [-42] status=0 [-42] status=0 [-42] status=0 status=1 status=1stderr: printf '[%d] ' ' -42z'
^
[ stdin ]:16: printf expected an integer, got ' -42z'
printf '[%i] ' ' -42z'
^
[ stdin ]:18: printf expected an integer, got ' -42z'
|
| osh_.py | 40 printf negative numbers stdout: [-42] status=0 [-42] status=0 [-42] status=0 [-42] status=0 [-42] status=0 [-42] status=0 status=1 status=1stderr: printf '[%d] ' ' -42z'
^
[ stdin ]:16: printf expected an integer, got ' -42z'
printf '[%i] ' ' -42z'
^
[ stdin ]:18: printf expected an integer, got ' -42z'
|
| osh_.cc | 40 printf negative numbers stdout: [-42] status=0 [-42] status=0 [-42] status=0 [-42] status=0 [-42] status=0 [-42] status=0 status=1 status=1stderr: printf '[%d] ' ' -42z'
^
[ stdin ]:16: printf expected an integer, got ' -42z'
printf '[%i] ' ' -42z'
^
[ stdin ]:18: printf expected an integer, got ' -42z'
dumb_alloc:
gNumNew = 3885
gNumDelete = 477
gMemPos = 120752
gNumMalloc = 804
gNumFree = 0
gMemPos2 = 22096
|
| osh | 41 printf + and space flags stdout: stderr: [%+d]\n
^
(source.ArgvWord word_spid:2):1: osh printf doesn't support the '+' flag
[%+d]\n
^
(source.ArgvWord word_spid:13):1: osh printf doesn't support the '+' flag
[% d]\n
^
(source.ArgvWord word_spid:24):1: osh printf doesn't support the ' ' flag
[% d]\n
^
(source.ArgvWord word_spid:35):1: osh printf doesn't support the ' ' flag
|
| osh_.py | 41 printf + and space flags stdout: stderr: [%+d]\n
^
(source.ArgvWord word_spid:2):1: osh printf doesn't support the '+' flag
[%+d]\n
^
(source.ArgvWord word_spid:13):1: osh printf doesn't support the '+' flag
[% d]\n
^
(source.ArgvWord word_spid:24):1: osh printf doesn't support the ' ' flag
[% d]\n
^
(source.ArgvWord word_spid:35):1: osh printf doesn't support the ' ' flag
|
| osh_.cc | 41 printf + and space flags stdout: stderr: [%+d]\n
^
TODO:1: osh printf doesn't support the '+' flag
[%+d]\n
^
TODO:1: osh printf doesn't support the '+' flag
[% d]\n
^
TODO:1: osh printf doesn't support the ' ' flag
[% d]\n
^
TODO:1: osh printf doesn't support the ' ' flag
dumb_alloc:
gNumNew = 2223
gNumDelete = 197
gMemPos = 74240
gNumMalloc = 228
gNumFree = 0
gMemPos2 = 12848
|
| osh | 42 printf # flag stdout: ---stderr: [%#o][%#o]\n
^
(source.ArgvWord word_spid:2):1: osh printf doesn't support the '#' flag
[%#x][%#x]\n
^
(source.ArgvWord word_spid:15):1: osh printf doesn't support the '#' flag
[%#X][%#X]\n
^
(source.ArgvWord word_spid:28):1: osh printf doesn't support the '#' flag
[%.0f][%#.0f]\n
^
(source.ArgvWord word_spid:45):1: osh printf doesn't support floating point
[%g][%#g]\n
^
(source.ArgvWord word_spid:60):1: osh printf doesn't support floating point
|
| osh_.py | 42 printf # flag stdout: ---stderr: [%#o][%#o]\n
^
(source.ArgvWord word_spid:2):1: osh printf doesn't support the '#' flag
[%#x][%#x]\n
^
(source.ArgvWord word_spid:15):1: osh printf doesn't support the '#' flag
[%#X][%#X]\n
^
(source.ArgvWord word_spid:28):1: osh printf doesn't support the '#' flag
[%.0f][%#.0f]\n
^
(source.ArgvWord word_spid:45):1: osh printf doesn't support floating point
[%g][%#g]\n
^
(source.ArgvWord word_spid:60):1: osh printf doesn't support floating point
|
| osh_.cc | 42 printf # flag stdout: ---stderr: [%#o][%#o]\n
^
TODO:1: osh printf doesn't support the '#' flag
[%#x][%#x]\n
^
TODO:1: osh printf doesn't support the '#' flag
[%#X][%#X]\n
^
TODO:1: osh printf doesn't support the '#' flag
[%.0f][%#.0f]\n
^
TODO:1: osh printf doesn't support floating point
[%g][%#g]\n
^
TODO:1: osh printf doesn't support floating point
dumb_alloc:
gNumNew = 2593
gNumDelete = 244
gMemPos = 84720
gNumMalloc = 350
gNumFree = 0
gMemPos2 = 14800
|
| osh | 43 Runtime error for invalid integer stdout: status=1 status=1stderr: printf '%d\n' $x
^~
[ stdin ]:2: printf expected an integer, got '3abc'
printf '%d\n' xyz
^~~
[ stdin ]:4: printf expected an integer, got 'xyz'
|
| osh_.py | 43 Runtime error for invalid integer stdout: status=1 status=1stderr: printf '%d\n' $x
^~
[ stdin ]:2: printf expected an integer, got '3abc'
printf '%d\n' xyz
^~~
[ stdin ]:4: printf expected an integer, got 'xyz'
|
| osh_.cc | 43 Runtime error for invalid integer stdout: status=1 status=1stderr: printf '%d\n' $x
^~
[ stdin ]:2: printf expected an integer, got '3abc'
printf '%d\n' xyz
^~~
[ stdin ]:4: printf expected an integer, got 'xyz'
dumb_alloc:
gNumNew = 2259
gNumDelete = 199
gMemPos = 75184
gNumMalloc = 268
gNumFree = 0
gMemPos2 = 13520
|
| osh_.cc | 44 %(strftime format)T [osh_.cc stdout] Expected '2019-05-16\n2019-05-15\nstatus=0\n', got '' [osh_.cc status] Expected 0, got -6 stdout: stderr: osh_eval.opt: cpp/posix.h:115: int posix::putenv(Str*, Str*): Assertion `0' failed. |
| osh_.cc | 45 %(strftime format)T doesn't respect TZ if not exported [osh_.cc stdout] Expected 'not equal\n', got '' [osh_.cc status] Expected 0, got -6 stdout: stderr: osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed. |
| osh_.cc | 46 %(strftime format)T TZ in environ but not in shell's memory [osh_.cc stdout] Expected 'not equal\n', got '' [osh_.cc status] Expected 0, got -6 stdout: stderr: osh_eval.opt: cpp/posix.h:106: Tuple2<int, int> posix::pipe(): Assertion `0' failed. |
| osh_.cc | 47 %10.5(strftime format)T [osh_.cc stdout] Expected '[ 2019-]\n[ 2019-]\nstatus=0\n', got '' [osh_.cc status] Expected 0, got -6 stdout: stderr: osh_eval.opt: cpp/posix.h:115: int posix::putenv(Str*, Str*): Assertion `0' failed. |