spec test index / oilshell.org
165 passed, 19 OK, 60 not implemented, 6 BUG, 1 failed, 0 timeouts, 0 cases skipped 1 failed under osh
dash | 0 printf with no args stdout: stderr: /home/andy/git/oilshell/oil/_tmp/spec-bin/dash: 1: printf: usage: printf format [arg ...] |
mksh | 0 printf with no args stdout: stderr: printf: missing operand Try 'printf --help' for more information. |
zsh | 0 printf with no args stdout: stderr: printf: not enough arguments |
dash | 1 printf -v %s stdout: ['']stderr: /home/andy/git/oilshell/oil/_tmp/spec-bin/dash: 2: printf: Illegal option -v |
mksh | 1 printf -v %s stdout: -v['']stderr: printf: warning: ignoring excess arguments, starting with ‘foo’ |
zsh | 1 printf -v %s stdout: -v['']stderr: |
ash | 1 printf -v %s stdout: -v['']stderr: |
dash | 2 printf -v %q stdout: stderr: /home/andy/git/oilshell/oil/_tmp/spec-bin/dash: 2: printf: Illegal option -v |
mksh | 2 printf -v %q stdout: -vstderr: printf: warning: ignoring excess arguments, starting with ‘foo’ |
zsh | 2 printf -v %q stdout: -vstderr: |
ash | 2 printf -v %q stdout: -vstderr: |
dash | 3 printf -v a[1] stdout: stderr: /home/andy/git/oilshell/oil/_tmp/spec-bin/dash: 1: Syntax error: "(" unexpected |
mksh | 3 printf -v a[1] stdout: -vstatus=0 ['a', 'b', 'c']stderr: printf: warning: ignoring excess arguments, starting with ‘a[1]’ |
zsh | 3 printf -v a[1] stdout: -vstatus=0 ['a', 'b', 'c']stderr: |
ash | 3 printf -v a[1] stdout: stderr: _tmp/spec-bin/ash: syntax error: unexpected "(" |
osh | 3 printf -v a[1] stdout: status=2 ['a', 'b', 'c']stderr: printf -v 'a[1]' %s 'foo' ^~~~~~ [ stdin ]:2: 'printf' got invalid variable name 'a[1]' |
osh_ALT | 3 printf -v a[1] stdout: status=2 ['a', 'b', 'c']stderr: printf -v 'a[1]' %s 'foo' ^~~~~~ [ stdin ]:2: 'printf' got invalid variable name 'a[1]' |
dash | 4 dynamic declare instead of %s stdout: ['']stderr: /home/andy/git/oilshell/oil/_tmp/spec-bin/dash: 2: declare: not found |
mksh | 4 dynamic declare instead of %s stdout: ['']stderr: /home/andy/git/oilshell/oil/_tmp/spec-bin/mksh: <stdin>[2]: declare: not found |
ash | 4 dynamic declare instead of %s stdout: ['']stderr: _tmp/spec-bin/ash: declare: not found |
dash | 5 dynamic declare instead of %q stdout: stderr: /home/andy/git/oilshell/oil/_tmp/spec-bin/dash: 3: Bad substitution |
mksh | 5 dynamic declare instead of %q stdout: stderr: /home/andy/git/oilshell/oil/_tmp/spec-bin/mksh: <stdin>[3]: declare: not found |
zsh | 5 dynamic declare instead of %q stdout: stderr: zsh: bad substitution |
ash | 5 dynamic declare instead of %q stdout: stderr: _tmp/spec-bin/ash: syntax error: bad substitution |
dash | 6 printf -v dynamic scope stdout: not implementedstderr: |
mksh | 6 printf -v dynamic scope stdout: not implementedstderr: |
zsh | 6 printf -v dynamic scope stdout: not implementedstderr: |
ash | 6 printf -v dynamic scope stdout: not implementedstderr: |
osh | 6 printf -v dynamic scope stdout: dollar=dollar -- dollar='$' mylocal='mylocal' -- dollar='$' mylocal=stderr: |
osh_ALT | 6 printf -v dynamic scope stdout: dollar=dollar -- dollar='$' mylocal='mylocal' -- dollar='$' mylocal=stderr: |
osh | 11 printf %6.4d -- precision means something different for integers !? stdout: stderr: [%6.4d]\n ^ (source.ArgvWord word_spid:2):1: precision can't be specified when here |
osh_ALT | 11 printf %6.4d -- precision means something different for integers !? stdout: stderr: [%6.4d]\n ^ (source.ArgvWord word_spid:2):1: precision can't be specified when here |
mksh | 13 printf %6.0s and %0.0s stdout: [ ] [stderr: printf: %0.0s: invalid conversion specification |
ash | 15 empty string (osh is more strict) stdout: 0stderr: ash: invalid number '' |
osh | 15 empty string (osh is more strict) stdout: stderr: printf '%d\n' '' ^ [ stdin ]:1: printf got invalid number '' |
osh_ALT | 15 empty string (osh is more strict) stdout: stderr: printf '%d\n' '' ^ [ stdin ]:1: printf got invalid number '' |
mksh | 16 No char after ' (osh is more strict) stdout: 0stderr: printf: ‘'’: expected a numeric value |
osh | 16 No char after ' (osh is more strict) stdout: stderr: printf '%d\n' \' ^~ [ stdin ]:1: printf got invalid number "'" |
osh_ALT | 16 No char after ' (osh is more strict) stdout: stderr: printf '%d\n' \' ^~ [ stdin ]:1: printf got invalid number "'" |
dash | 17 Unicode char with ' (osh is more strict) stdout: cestderr: |
mksh | 17 Unicode char with ' (osh is more strict) stdout: cestderr: 'printf: warning: \xbc: character(s) following character constant have been ignored\n' |
ash | 17 Unicode char with ' (osh is more strict) stdout: cestderr: |
osh | 17 Unicode char with ' (osh is more strict) [osh stdout] Expected '3bc\n', got 'ce\n' stdout: cestderr: |
osh_ALT | 17 Unicode char with ' (osh is more strict) [osh_ALT stdout] Expected '3bc\n', got 'ce\n' stdout: cestderr: |
osh | 18 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_ALT | 18 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 | 19 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_ALT | 19 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 | 20 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: Invalid printf format character [%08.04f]\n ^ (source.ArgvWord word_spid:48):1: Invalid 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: Invalid printf format character [%-8.04f]\n ^ (source.ArgvWord word_spid:94):1: Invalid printf format character [%-08.04f]\n ^ (source.ArgvWord word_spid:109):1: Invalid printf format character |
osh_ALT | 20 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: Invalid printf format character [%08.04f]\n ^ (source.ArgvWord word_spid:48):1: Invalid 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: Invalid printf format character [%-8.04f]\n ^ (source.ArgvWord word_spid:94):1: Invalid printf format character [%-08.04f]\n ^ (source.ArgvWord word_spid:109):1: Invalid printf format character |
osh | 21 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_ALT | 21 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 |
dash | 22 printf backslash escapes stdout: ['a\tb'] ['\\xE2\\x98\\xA0'] ['$e'] ['\x1f7']stderr: |
dash | 24 printf unicode backslash escapes stdout: ['\\u2620'] ['\\U0000065f']stderr: |
ash | 24 printf unicode backslash escapes stdout: ['\\u2620'] ['\\U0000065f']stderr: |
osh | 27 printf %b backslash escaping stdout: [\044] status=2stderr: [%b]\n ^ (source.ArgvWord word_spid:21):1: osh printf doesn't support backslash escaping (try $'\n') |
osh_ALT | 27 printf %b backslash escaping stdout: [\044] status=2stderr: [%b]\n ^ (source.ArgvWord word_spid:21):1: osh printf doesn't support backslash escaping (try $'\n') |
dash | 28 printf %c -- doesn't respect UTF-8! Bad. stdout: [$\u03bc\u03bc] 1stderr: |
ash | 28 printf %c -- doesn't respect UTF-8! Bad. stdout: [\u03bc\u03bc] 1stderr: |
osh | 28 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_ALT | 28 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) |
ash | 29 printf invalid format stdout: status=0 status=0stderr: |
osh | 29 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_ALT | 29 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 |
dash | 30 printf %q stdout: [stderr: /home/andy/git/oilshell/oil/_tmp/spec-bin/dash: 2: printf: %q: invalid directive |
bash | 30 printf %q stdout: [a\ b]stderr: |
zsh | 30 printf %q stdout: [a\ b]stderr: |
ash | 30 printf %q stdout: [stderr: ash: %q]\n: invalid format |
dash | 31 printf %6q (width) stdout: [stderr: /home/andy/git/oilshell/oil/_tmp/spec-bin/dash: 2: printf: %6q: invalid directive |
bash | 31 printf %6q (width) stdout: [ a\ b]stderr: |
mksh | 31 printf %6q (width) stdout: [stderr: printf: %6q: invalid conversion specification |
zsh | 31 printf %6q (width) stdout: [ a\ b]stderr: |
ash | 31 printf %6q (width) stdout: [stderr: ash: %6q]\n: invalid format |
osh | 32 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:14):1: osh printf doesn't support the '+' flag [% d]\n ^ (source.ArgvWord word_spid:26):1: osh printf doesn't support the ' ' flag [% d]\n ^ (source.ArgvWord word_spid:38):1: osh printf doesn't support the ' ' flag |
osh_ALT | 32 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:14):1: osh printf doesn't support the '+' flag [% d]\n ^ (source.ArgvWord word_spid:26):1: osh printf doesn't support the ' ' flag [% d]\n ^ (source.ArgvWord word_spid:38):1: osh printf doesn't support the ' ' flag |
osh | 33 printf # flag stdout: ---stderr: [%#o]\n ^ (source.ArgvWord word_spid:2):1: osh printf doesn't support the '#' flag [%#x]\n ^ (source.ArgvWord word_spid:14):1: osh printf doesn't support the '#' flag [%#X]\n ^ (source.ArgvWord word_spid:26):1: osh printf doesn't support the '#' flag [%#f]\n ^ (source.ArgvWord word_spid:42):1: osh printf doesn't support the '#' flag |
osh_ALT | 33 printf # flag stdout: ---stderr: [%#o]\n ^ (source.ArgvWord word_spid:2):1: osh printf doesn't support the '#' flag [%#x]\n ^ (source.ArgvWord word_spid:14):1: osh printf doesn't support the '#' flag [%#X]\n ^ (source.ArgvWord word_spid:26):1: osh printf doesn't support the '#' flag [%#f]\n ^ (source.ArgvWord word_spid:42):1: osh printf doesn't support the '#' flag |
zsh | 34 Runtime error for invalid integer stdout: 0 status=1 0 status=0stderr: zsh: bad math expression: operator expected at `abc' |
ash | 34 Runtime error for invalid integer stdout: 0 status=1 0 status=1stderr: ash: invalid number '3abc' ash: invalid number 'xyz' |
osh | 34 Runtime error for invalid integer stdout: status=1 status=1stderr: printf '%d\n' $x ^~ [ stdin ]:2: printf got invalid number '3abc' printf '%d\n' xyz ^~~ [ stdin ]:4: printf got invalid number 'xyz' |
osh_ALT | 34 Runtime error for invalid integer stdout: status=1 status=1stderr: printf '%d\n' $x ^~ [ stdin ]:2: printf got invalid number '3abc' printf '%d\n' xyz ^~~ [ stdin ]:4: printf got invalid number 'xyz' |
dash | 35 %(strftime format)T stdout: status=1stderr: /home/andy/git/oilshell/oil/_tmp/spec-bin/dash: 1: printf: %(: invalid directive |
mksh | 35 %(strftime format)T stdout: status=1stderr: printf: %(: invalid conversion specification |
zsh | 35 %(strftime format)T stdout: status=1stderr: printf: %(: invalid directive |
ash | 35 %(strftime format)T stdout: status=1stderr: ash: %(%Y-%m-%d)T\n: invalid format |
osh | 35 %(strftime format)T stdout: status=2stderr: %(%Y-%m-%d)T\n ^ (source.ArgvWord word_spid:2):1: Invalid printf format character |
osh_ALT | 35 %(strftime format)T stdout: status=2stderr: %(%Y-%m-%d)T\n ^ (source.ArgvWord word_spid:2):1: Invalid printf format character |