status | bash | dash | ash | zsh | mksh | ksh | toysh | sush | brush | osh | |
pass | 52 | 34 | 32 | 36 | 33 | 35 | 33 | 12 | 34 | 41 | |
ok | 4 | 3 | 2 | 5 | 5 | 0 | 0 | 0 | 0 | 8 | |
N-I | 0 | 17 | 17 | 11 | 15 | 0 | 0 | 0 | 0 | 7 | |
BUG | 0 | 2 | 5 | 4 | 3 | 0 | 0 | 0 | 0 | 0 | |
FAIL | 0 | 0 | 0 | 0 | 0 | 21 | 23 | 44 | 21 | 0 | |
TIME | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | |
total | 56 | 56 | 56 | 56 | 56 | 56 | 56 | 56 | 56 | 56 | |
case | bash | dash | ash | zsh | mksh | ksh | toysh | sush | brush | osh | description |
0 | pass | pass | pass | ok | ok | FAIL | FAIL | pass | pass | pass | printf with no args |
details | details | details | details | ||||||||
1 | pass | N-I | N-I | N-I | N-I | FAIL | FAIL | pass | pass | pass | printf -v %s |
details | details | details | details | details | details | ||||||
2 | pass | N-I | N-I | N-I | N-I | FAIL | FAIL | FAIL | pass | pass | printf -v %q |
details | details | details | details | details | details | details | |||||
3 | pass | N-I | N-I | N-I | N-I | FAIL | FAIL | pass | pass | pass | printf -v a[1] |
details | details | details | details | details | details | ||||||
4 | pass | pass | N-I | N-I | N-I | FAIL | FAIL | FAIL | FAIL | pass | printf -v syntax error |
details | details | details | details | details | details | details | |||||
5 | pass | N-I | N-I | pass | N-I | FAIL | pass | FAIL | FAIL | pass | dynamic declare instead of %s |
details | details | details | details | details | details | ||||||
6 | pass | N-I | N-I | N-I | N-I | FAIL | FAIL | FAIL | FAIL | ok | dynamic declare instead of %q |
details | details | details | details | details | details | details | details | details | |||
7 | pass | N-I | N-I | N-I | N-I | FAIL | FAIL | pass | pass | ok | printf -v dynamic scope |
details | details | details | details | details | details | details | |||||
8 | pass | pass | pass | pass | pass | pass | pass | FAIL | pass | pass | printf with too few arguments |
details | |||||||||||
9 | pass | pass | pass | pass | pass | pass | pass | FAIL | pass | pass | printf with too many arguments |
details | |||||||||||
10 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | printf width strings |
11 | pass | pass | pass | pass | pass | pass | pass | FAIL | pass | pass | printf integer |
details | |||||||||||
12 | pass | pass | pass | pass | pass | pass | FAIL | FAIL | pass | pass | printf %6.4d -- "precision" does padding for integers |
details | details | ||||||||||
13 | pass | pass | pass | pass | pass | pass | FAIL | FAIL | pass | pass | printf %6.4x X o |
details | details | ||||||||||
14 | pass | pass | pass | pass | pass | pass | FAIL | FAIL | pass | pass | %06d zero padding vs. %6.6d |
details | details | ||||||||||
15 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | %06x %06X %06o |
16 | pass | pass | pass | pass | ok | FAIL | pass | pass | FAIL | pass | %06s is no-op |
details | details | details | |||||||||
17 | pass | pass | pass | pass | pass | pass | pass | FAIL | pass | pass | printf %6.4s does both truncation and padding |
details | |||||||||||
18 | pass | pass | pass | pass | N-I | FAIL | pass | FAIL | FAIL | pass | printf %6.0s and %0.0s |
details | details | details | details | ||||||||
19 | pass | pass | pass | BUG | N-I | FAIL | pass | FAIL | FAIL | pass | printf %6.s and %0.s |
details | details | details | details | details | |||||||
20 | pass | pass | pass | pass | pass | pass | pass | FAIL | pass | pass | printf %*.*s (width/precision from args) |
details | |||||||||||
21 | pass | pass | pass | pass | pass | pass | pass | FAIL | pass | pass | unsigned / octal / hex |
details | |||||||||||
22 | pass | pass | pass | pass | BUG | FAIL | pass | pass | pass | pass | unsigned / octal / hex big |
details | details | ||||||||||
23 | pass | pass | ok | pass | pass | pass | pass | FAIL | pass | ok | empty string (osh is more strict) |
details | details | details | |||||||||
24 | pass | pass | pass | pass | ok | FAIL | pass | FAIL | pass | pass | No char after ' => zero code point |
details | details | details | |||||||||
25 | pass | BUG | BUG | pass | BUG | pass | FAIL | FAIL | pass | pass | Unicode char with ' |
details | details | details | details | details | |||||||
26 | pass | pass | pass | pass | pass | pass | pass | FAIL | FAIL | pass | Invalid UTF-8 |
details | details | ||||||||||
27 | pass | BUG | BUG | pass | BUG | pass | FAIL | FAIL | FAIL | ok | Too large |
details | details | details | details | details | details | details | |||||
28 | pass | pass | pass | pass | pass | pass | pass | pass | pass | N-I | negative numbers with unsigned / octal / hex |
details | |||||||||||
29 | pass | pass | pass | pass | pass | pass | pass | FAIL | pass | N-I | printf floating point (not required, but they all implement it) |
details | details | ||||||||||
30 | pass | pass | pass | pass | pass | pass | pass | FAIL | pass | N-I | printf floating point with - and 0 |
details | details | ||||||||||
31 | pass | pass | pass | pass | pass | pass | pass | FAIL | pass | N-I | printf eE fF gG |
details | details | ||||||||||
32 | pass | N-I | pass | pass | pass | pass | pass | FAIL | pass | pass | printf backslash escapes |
details | details | ||||||||||
33 | pass | pass | pass | pass | pass | pass | pass | FAIL | FAIL | pass | printf octal backslash escapes |
details | details | ||||||||||
34 | pass | N-I | N-I | pass | pass | pass | FAIL | FAIL | pass | pass | printf unicode backslash escapes |
details | details | details | details | ||||||||
35 | pass | pass | pass | pass | pass | pass | pass | pass | pass | pass | printf invalid backslash escape (is ignored) |
36 | pass | pass | pass | pass | pass | pass | pass | FAIL | pass | pass | printf % escapes |
details | |||||||||||
37 | pass | pass | pass | pass | pass | pass | pass | FAIL | pass | pass | printf %b backslash escaping |
details | |||||||||||
38 | pass | pass | pass | pass | pass | pass | pass | FAIL | FAIL | pass | printf %b with \c early return |
details | details | ||||||||||
39 | pass | N-I | N-I | pass | pass | pass | pass | FAIL | pass | N-I | printf %c -- doesn't respect UTF-8! Bad. |
details | details | details | details | ||||||||
40 | pass | ok | pass | pass | pass | pass | pass | pass | pass | ok | printf invalid format |
details | details | ||||||||||
41 | ok | N-I | N-I | ok | pass | pass | FAIL | FAIL | pass | pass | printf %q |
details | details | details | details | details | details | ||||||
42 | ok | N-I | N-I | ok | N-I | FAIL | FAIL | FAIL | FAIL | pass | printf %6q (width) |
details | details | details | details | details | details | details | details | details | |||
43 | pass | pass | ok | ok | pass | pass | pass | FAIL | FAIL | ok | printf negative numbers |
details | details | details | details | details | |||||||
44 | pass | pass | pass | pass | pass | pass | pass | FAIL | pass | N-I | printf + and space flags |
details | details | ||||||||||
45 | pass | pass | pass | pass | pass | pass | pass | FAIL | pass | N-I | printf # flag |
details | details | ||||||||||
46 | pass | pass | BUG | BUG | pass | pass | pass | FAIL | FAIL | ok | Runtime error for invalid integer |
details | details | details | details | details | |||||||
47 | pass | N-I | N-I | N-I | N-I | FAIL | FAIL | FAIL | FAIL | pass | %(strftime format)T |
details | details | details | details | details | details | details | details | ||||
48 | pass | N-I | N-I | N-I | N-I | FAIL | FAIL | FAIL | FAIL | pass | %(strftime format)T doesn't respect TZ if not exported |
details | details | details | details | details | details | details | details | ||||
49 | pass | N-I | N-I | N-I | N-I | FAIL | FAIL | FAIL | FAIL | pass | %(strftime format)T TZ in environ but not in shell's memory |
details | details | details | details | details | details | details | details | ||||
50 | pass | N-I | N-I | N-I | N-I | FAIL | FAIL | FAIL | FAIL | pass | %10.5(strftime format)T |
details | details | details | details | details | details | details | details | ||||
51 | pass | pass | pass | pass | pass | pass | pass | pass | TIME | pass | Regression for 'printf x y' |
52 | pass | N-I | N-I | N-I | N-I | FAIL | FAIL | FAIL | FAIL | ok | bash truncates long strftime string at 128 |
details | details | details | details | details | details | details | details | details | |||
53 | pass | N-I | N-I | ok | pass | pass | FAIL | FAIL | FAIL | pass | printf with explicit NUL byte |
details | details | details | details | details | details | ||||||
54 | ok | ok | BUG | BUG | ok | FAIL | FAIL | FAIL | FAIL | pass | printf positive integer overflow |
details | details | details | details | details | details | details | details | details | |||
55 | ok | ok | BUG | BUG | ok | FAIL | FAIL | FAIL | FAIL | pass | printf negative integer overflow |
details | details | details | details | details | details | details | details | details |
342 passed, 27 OK, 67 not implemented, 14 BUG, 109 failed, 1 timeouts, 0 cases skipped
zsh | 0 printf with no args stdout: stderr: printf: not enough arguments |
mksh | 0 printf with no args stdout: stderr: printf: missing operand Try 'printf --help' for more information. |
ksh | 0 printf with no args [ksh status] Expected 2, got 1 stdout: stderr: printf: missing operand Try 'printf --help' for more information. |
toysh | 0 printf with no args [toysh status] Expected 2, got 1 stdout: stderr: printf: Needs 1 argument (see "printf --help") |
dash | 1 printf -v %s stdout: ['']stderr: dash: 2: printf: Illegal option -v |
ash | 1 printf -v %s stdout: -v['']stderr: |
zsh | 1 printf -v %s stdout: -v['']stderr: |
mksh | 1 printf -v %s stdout: -v['']stderr: printf: warning: ignoring excess arguments, starting with ‘foo’ |
ksh | 1 printf -v %s [ksh stdout] Expected "['hello there']\n", got "-v['']\n" stdout: -v['']stderr: printf: warning: ignoring excess arguments, starting with ‘foo’ |
toysh | 1 printf -v %s [toysh stdout] Expected "['hello there']\n", got "-v['']\n" stdout: -v['']stderr: |
dash | 2 printf -v %q stdout: stderr: dash: 3: printf: Illegal option -v |
ash | 2 printf -v %q stdout: -vstderr: |
zsh | 2 printf -v %q stdout: -vstderr: |
mksh | 2 printf -v %q stdout: -vstderr: printf: warning: ignoring excess arguments, starting with ‘foo’ |
ksh | 2 printf -v %q [ksh stdout] Expected 'OK\n', got '-v' [ksh status] Expected 0, got 1 stdout: -vstderr: printf: warning: ignoring excess arguments, starting with ‘foo’ |
toysh | 2 printf -v %q [toysh stdout] Expected 'OK\n', got '-v' [toysh status] Expected 0, got 1 stdout: -vstderr: |
sush | 2 printf -v %q [sush stdout] Expected 'OK\n', got '' [sush status] Expected 0, got 1 stdout: stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: with: command not found |
dash | 3 printf -v a[1] stdout: stderr: dash: 1: Syntax error: "(" unexpected |
ash | 3 printf -v a[1] stdout: stderr: ash: syntax error: unexpected "(" |
zsh | 3 printf -v a[1] stdout: -vstatus=0 ['a', 'b', 'c']stderr: |
mksh | 3 printf -v a[1] stdout: -vstatus=0 ['a', 'b', 'c']stderr: printf: warning: ignoring excess arguments, starting with ‘a[1]’ |
ksh | 3 printf -v a[1] [ksh stdout] Expected "status=0\n['a', 'foo', 'c']\n", got "-vstatus=0\n['a', 'b', 'c']\n" stdout: -vstatus=0 ['a', 'b', 'c']stderr: printf: warning: ignoring excess arguments, starting with ‘a[1]’ |
toysh | 3 printf -v a[1] [toysh stdout] Expected "status=0\n['a', 'foo', 'c']\n", got '' [toysh status] Expected 0, got 2 stdout: stderr: main: line 1: sh: syntax error: a |
ash | 4 printf -v syntax error stdout: -vstatus=0stderr: |
zsh | 4 printf -v syntax error stdout: -vstatus=0stderr: |
mksh | 4 printf -v syntax error stdout: -vstatus=0stderr: printf: warning: ignoring excess arguments, starting with ‘a[’ |
ksh | 4 printf -v syntax error [ksh stdout] Expected 'status=2\n', got '-vstatus=0\n' stdout: -vstatus=0stderr: printf: warning: ignoring excess arguments, starting with ‘a[’ |
toysh | 4 printf -v syntax error [toysh stdout] Expected 'status=2\n', got '-vstatus=0\n' stdout: -vstatus=0stderr: |
sush | 4 printf -v syntax error [sush stdout] Expected 'status=2\n', got 'status=1\n' stdout: status=1stderr: |
brush | 4 printf -v syntax error [brush stdout] Expected 'status=2\n', got 'status=1\n' stdout: status=1stderr: [31mERROR[0m failed to parse parameter 'a[' |
dash | 5 dynamic declare instead of %s stdout: ['']stderr: dash: 2: declare: not found |
ash | 5 dynamic declare instead of %s stdout: ['']stderr: ash: declare: not found |
mksh | 5 dynamic declare instead of %s stdout: ['']stderr: mksh: <stdin>[2]: declare: not found |
ksh | 5 dynamic declare instead of %s [ksh stdout] Expected "['hello there']\n", got "['']\n" stdout: ['']stderr: E: ksh: <stdin>[2]: declare: inaccessible or not found |
sush | 5 dynamic declare instead of %s [sush stdout] Expected "['hello there']\n", got "['']\n" stdout: ['']stderr: |
brush | 5 dynamic declare instead of %s [brush stdout] Expected "['hello there']\n", got "['']\n" stdout: ['']stderr: |
dash | 6 dynamic declare instead of %q stdout: stderr: dash: 3: Bad substitution |
ash | 6 dynamic declare instead of %q stdout: stderr: ash: syntax error: bad substitution |
zsh | 6 dynamic declare instead of %q stdout: stderr: zsh: bad substitution |
mksh | 6 dynamic declare instead of %q stdout: stderr: mksh: <stdin>[3]: declare: not found |
ksh | 6 dynamic declare instead of %q [ksh stdout] Expected '\'"quoted" with spaces and \\\'\n', got '\n' stdout: stderr: E: ksh: <stdin>[3]: declare: inaccessible or not found |
toysh | 6 dynamic declare instead of %q [toysh stdout] Expected '\'"quoted" with spaces and \\\'\n', got '\n' stdout: stderr: main: line 3: sh: val: @Q}" |
sush | 6 dynamic declare instead of %q [sush stdout] Expected '\'"quoted" with spaces and \\\'\n', got '\n' stdout: stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: `${val@Q}': bad substitution |
brush | 6 dynamic declare instead of %q [brush stdout] Expected '\'"quoted" with spaces and \\\'\n', got '\n' stdout: stderr: |
osh | 6 dynamic declare instead of %q stdout: $'"quoted" with spaces and \\'stderr: |
dash | 7 printf -v dynamic scope stdout: not implementedstderr: |
ash | 7 printf -v dynamic scope stdout: not implementedstderr: |
zsh | 7 printf -v dynamic scope stdout: not implementedstderr: |
mksh | 7 printf -v dynamic scope stdout: not implementedstderr: |
ksh | 7 printf -v dynamic scope [ksh stdout] Expected 'dollar=dollar\n--\ndollar=\\$\nmylocal=mylocal\n--\ndollar=\\$\nmylocal=\n' Got 'dollar=dollar\n--\n-v-vdollar=dollar\nmylocal=foo\n--\ndollar=dollar\nmylocal=\n' stdout: dollar=dollar -- -v-vdollar=dollar mylocal=foo -- dollar=dollar mylocal=stderr: printf: warning: ignoring excess arguments, starting with ‘dollar’ printf: warning: ignoring excess arguments, starting with ‘mylocal’ |
toysh | 7 printf -v dynamic scope [toysh stdout] Expected 'dollar=dollar\n--\ndollar=\\$\nmylocal=mylocal\n--\ndollar=\\$\nmylocal=\n' Got '' [toysh status] Expected 0, got -6 stdout: stderr: munmap_chunk(): invalid pointer |
osh | 7 printf -v dynamic scope stdout: dollar=dollar -- dollar='$' mylocal=mylocal -- dollar='$' mylocal=stderr: |
sush | 8 printf with too few arguments [sush stdout] Expected '-a b-x y--\n', got '--' stdout: --stderr: |
sush | 9 printf with too many arguments [sush stdout] Expected '-a-b-\n-c-d-\n-e--\n', got '--' stdout: --stderr: |
sush | 11 printf integer [sush stdout] Expected '42\n42\n97\n97\n[ 42]\n[42 ]\n[00042]\n', got '42\n42\n\'a\n"a\n[ 42]\n[42 ]\n[00042]\n' stdout: 42 42 'a "a [ 42] [42 ] [00042]stderr: |
toysh | 12 printf %6.4d -- "precision" does padding for integers [toysh stdout] Expected '[ 0042]\n[0042]\n[ 42]\n--\n[ -0042]\n[-0042]\n[ -42]\n' Got '[ 0042]\n[0042]\n[ 42]\n\n[ -0042]\n[-0042]\n[ -42]\n' stdout: [ 0042] [0042] [ 42] [ -0042] [-0042] [ -42]stderr: |
sush | 12 printf %6.4d -- "precision" does padding for integers [sush stdout] Expected '[ 0042]\n[0042]\n[ 42]\n--\n[ -0042]\n[-0042]\n[ -42]\n' Got '[42]\n[42]\n[42]\n--\n[-42]\n[-42]\n[-42]\n' stdout: [42] [42] [42] -- [-42] [-42] [-42]stderr: |
toysh | 13 printf %6.4x X o [toysh stdout] Expected '[ 002a]\n[002a]\n[ 2a]\n--\n[ 002A]\n[002A]\n[ 2A]\n--\n[ 0052]\n[0052]\n[ 52]\n' Got '[ 002a]\n[002a]\n[ 2a]\n\n[ 002A]\n[002A]\n[ 2A]\n\n[ 0052]\n[0052]\n[ 52]\n' stdout: [ 002a] [002a] [ 2a] [ 002A] [002A] [ 2A] [ 0052] [0052] [ 52]stderr: |
sush | 13 printf %6.4x X o [sush stdout] Expected '[ 002a]\n[002a]\n[ 2a]\n--\n[ 002A]\n[002A]\n[ 2A]\n--\n[ 0052]\n[0052]\n[ 52]\n' Got '[2a]\n[2a]\n[2a]\n--\n[2A]\n[2A]\n[2A]\n--\n[52]\n[52]\n[52]\n' stdout: [2a] [2a] [2a] -- [2A] [2A] [2A] -- [52] [52] [52]stderr: |
toysh | 14 %06d zero padding vs. %6.6d [toysh stdout] Expected '[000042]\n[-00042]\n--\n[000042]\n[-000042]\n' Got '[000042]\n[-00042]\n\n[000042]\n[-000042]\n' stdout: [000042] [-00042] [000042] [-000042]stderr: |
sush | 14 %06d zero padding vs. %6.6d [sush stdout] Expected '[000042]\n[-00042]\n--\n[000042]\n[-000042]\n' Got '[000042]\n[-00042]\n--\n[42]\n[-42]\n' stdout: [000042] [-00042] -- [42] [-42]stderr: |
mksh | 16 %06s is no-op stdout: ( 42) ( -42) ((status=1stderr: printf: %06s: invalid conversion specification printf: %06s: invalid conversion specification |
ksh | 16 %06s is no-op [ksh stdout] Expected '( 42)\n( -42)\n( 42)\n( -42)\nstatus=0\n' Got '( 42)\n( -42)\n((status=1\n' stdout: ( 42) ( -42) ((status=1stderr: printf: %06s: invalid conversion specification printf: %06s: invalid conversion specification |
brush | 16 %06s is no-op [brush stdout] Expected '( 42)\n( -42)\n( 42)\n( -42)\nstatus=0\n' Got '( 42)\n( -42)\nstatus=1\n' stdout: ( 42) ( -42) status=1stderr: [31mERROR[0m printf: printf parsing error: %06s: invalid conversion specification [31mERROR[0m printf: printf parsing error: %06s: invalid conversion specification |
sush | 17 printf %6.4s does both truncation and padding [sush stdout] Expected '[ foo]\n[ foo]\n[foo ]\n[spam-eggs]\n[ spam]\n[spam ]\n' Got '[ foo]\n[foo]\n[foo]\n[spam-eggs]\n[spam-eggs]\n[spam-eggs]\n' stdout: [ foo] [foo] [foo] [spam-eggs] [spam-eggs] [spam-eggs]stderr: |
mksh | 18 printf %6.0s and %0.0s stdout: [ ] [stderr: printf: %0.0s: invalid conversion specification |
ksh | 18 printf %6.0s and %0.0s [ksh stdout] Expected '[ ]\n[]\n', got '[ ]\n[' [ksh status] Expected 0, got 1 stdout: [ ] [stderr: printf: %0.0s: invalid conversion specification |
sush | 18 printf %6.0s and %0.0s [sush stdout] Expected '[ ]\n[]\n', got '[foo]\n[foo]\n' stdout: [foo] [foo]stderr: |
brush | 18 printf %6.0s and %0.0s [brush stdout] Expected '[ ]\n[]\n', got '[ ]\n' [brush status] Expected 0, got 1 stdout: [ ]stderr: [31mERROR[0m printf: printf parsing error: %0.0s: invalid conversion specification |
zsh | 19 printf %6.s and %0.s stdout: [ foo] [foo]stderr: |
mksh | 19 printf %6.s and %0.s stdout: [ ] [stderr: printf: %0.s: invalid conversion specification |
ksh | 19 printf %6.s and %0.s [ksh stdout] Expected '[ ]\n[]\n', got '[ ]\n[' [ksh status] Expected 0, got 1 stdout: [ ] [stderr: printf: %0.s: invalid conversion specification |
sush | 19 printf %6.s and %0.s [sush stdout] Expected '[ ]\n[]\n', got '[foo]\n[foo]\n' stdout: [foo] [foo]stderr: |
brush | 19 printf %6.s and %0.s [brush stdout] Expected '[ ]\n[]\n', got '[ ]\n' [brush status] Expected 0, got 1 stdout: [ ]stderr: [31mERROR[0m printf: printf parsing error: %0.s: invalid conversion specification |
sush | 20 printf %*.*s (width/precision from args) [sush stdout] Expected '[ hello]\n[hel]\n[ hel]\n[ hel]\n[ hel]\n' Got '' [sush status] Expected 0, got 1 stdout: stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: printf: Other("Error parsing the format string %* 9") /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: printf: Other("Error parsing the format string %.* 3") /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: printf: Other("Error parsing the format string %* 9") /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: printf: Other("Error parsing the format string %9.* 3") /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 5: printf: Other("Error parsing the format string %* 9") |
sush | 21 unsigned / octal / hex [sush stdout] Expected '[42]\n[52]\n[2a]\n[2A]\n\n[61]\n[61]\n', got '[42]\n[52]\n[2a]\n[2A]\n\n' [sush status] Expected 0, got 1 stdout: [42] [52] [2a] [2A]stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 7: printf: ArithError("", InvalidNumber("'a")) /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 8: printf: ArithError("", InvalidNumber("'ab")) |
mksh | 22 unsigned / octal / hex big stdout: [1] [1] [1] [1] [2147483647] [17777777777] [7fffffff] [7FFFFFFF]stderr: |
ksh | 22 unsigned / octal / hex big [ksh stdout] Expected '[4294967296]\n[40000000000]\n[100000000]\n[100000000]\n\n[9223372036854775807]\n[777777777777777777777]\n[7fffffffffffffff]\n[7FFFFFFFFFFFFFFF]\n\n' Got '[1]\n[1]\n[1]\n[1]\n\n[2147483647]\n[17777777777]\n[7fffffff]\n[7FFFFFFF]\n\n' stdout: [1] [1] [1] [1] [2147483647] [17777777777] [7fffffff] [7FFFFFFF]stderr: |
ash | 23 empty string (osh is more strict) stdout: 0stderr: ash: invalid number '' |
sush | 23 empty string (osh is more strict) [sush stdout] Expected '0\n', got '\n' stdout: stderr: |
osh | 23 empty string (osh is more strict) stdout: stderr: printf '%d\n' '' ^ [ stdin ]:1: printf expected an integer, got '' |
mksh | 24 No char after ' => zero code point stdout: 0 0stderr: printf: ‘'’: expected a numeric value printf: ‘"’: expected a numeric value |
ksh | 24 No char after ' => zero code point [ksh status] Expected 0, got 1 stdout: 0 0stderr: printf: ‘'’: expected a numeric value printf: ‘"’: expected a numeric value |
sush | 24 No char after ' => zero code point [sush stdout] Expected '0\n0\n', got '\'\n"\n' stdout: ' "stderr: |
dash | 25 Unicode char with ' stdout: ce 206 316 e4 228 344stderr: |
ash | 25 Unicode char with ' stdout: ce 206 316 e4 228 344stderr: |
mksh | 25 Unicode char with ' stdout: weird bugstderr: |
toysh | 25 Unicode char with ' [toysh stdout] Expected '3bc\n956\n1674\n\n4e09\n19977\n47011\n\n', got '' [toysh status] Expected 0, got -6 stdout: stderr: munmap_chunk(): invalid pointer |
sush | 25 Unicode char with ' [sush stdout] Expected '3bc\n956\n1674\n\n4e09\n19977\n47011\n\n', got "'\xce\xbc\n\n'\xe4\xb8\x89\n\n" stdout: 'μ '三stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: printf: ArithError("", InvalidNumber("'μ")) /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 6: printf: ArithError("", InvalidNumber("'μ")) /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 11: printf: ArithError("", InvalidNumber("'三")) /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 13: printf: ArithError("", InvalidNumber("'三")) |
sush | 26 Invalid UTF-8 [sush stdout] Expected 'bytes1\nce\n206\n316\n\nbytes2\nbc\n188\n274\n\noverlong2\nc1\n193\n301\n\noverlong3\ne0\n224\n340\n\n' Got "bytes1\n'\n\nbytes2\n'\n\noverlong2\n'\n\noverlong3\n'\n\n" stdout: bytes1 ' bytes2 ' overlong2 ' overlong3 'stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: printf: ArithError("", InvalidNumber("'")) /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 6: printf: ArithError("", InvalidNumber("'")) /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 11: printf: ArithError("", InvalidNumber("'")) /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 13: printf: ArithError("", InvalidNumber("'")) /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 19: printf: ArithError("", InvalidNumber("'")) /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 21: printf: ArithError("", InvalidNumber("'")) /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 26: printf: ArithError("", InvalidNumber("'")) /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 28: printf: ArithError("", InvalidNumber("'")) |
brush | 26 Invalid UTF-8 [brush stdout] Expected 'bytes1\nce\n206\n316\n\nbytes2\nbc\n188\n274\n\noverlong2\nc1\n193\n301\n\noverlong3\ne0\n224\n340\n\n' Got 'bytes1\n0\n0\n0\n\nbytes2\n0\n0\n0\n\noverlong2\n0\n0\n0\n\noverlong3\n0\n0\n0\n\n' stdout: bytes1 0 0 0 bytes2 0 0 0 overlong2 0 0 0 overlong3 0 0 0stderr: [31mERROR[0m error: i/o error: stream did not contain valid UTF-8 [31mERROR[0m error: i/o error: stream did not contain valid UTF-8 [31mERROR[0m error: i/o error: stream did not contain valid UTF-8 [31mERROR[0m error: i/o error: stream did not contain valid UTF-8 |
dash | 27 Too large stdout: too large f4 244 364stderr: |
ash | 27 Too large stdout: too large f4 244 364stderr: |
mksh | 27 Too large stdout: weird bugstderr: |
toysh | 27 Too large [toysh stdout] Expected 'too large\n111111\n1118481\n4210421\n\n', got '' [toysh status] Expected 0, got -6 stdout: stderr: munmap_chunk(): invalid pointer |
sush | 27 Too large [sush stdout] Expected 'too large\n111111\n1118481\n4210421\n\n', got "too large\n'\n\n" stdout: too large 'stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 5: printf: ArithError("", InvalidNumber("'")) /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 7: printf: ArithError("", InvalidNumber("'")) |
brush | 27 Too large [brush stdout] Expected 'too large\n111111\n1118481\n4210421\n\n', got 'too large\n0\n0\n0\n\n' stdout: too large 0 0 0stderr: [31mERROR[0m error: i/o error: stream did not contain valid UTF-8 |
osh | 27 Too large stdout: too large f4 244 364stderr: printf '%x\n' \'$too_large ^~ [ stdin ]:5: Warning: UTF-8 decode: Integer too large at offset 1 in string of 5 bytes printf '%u\n' \'$too_large ^~ [ stdin ]:6: Warning: UTF-8 decode: Integer too large at offset 1 in string of 5 bytes printf '%o\n' \'$too_large ^~ [ stdin ]:7: Warning: UTF-8 decode: Integer too large at offset 1 in string of 5 bytes |
osh | 28 negative numbers with unsigned / octal / hex stdout: status=1 status=1 status=1 status=1stderr: [%u]\n ^ [ printf arg at line 1 of [ stdin ] ]:1 printf '[%u]\n' -42 ^ [ stdin ]:1: Can't format negative number with %u: -42 [%o]\n ^ [ printf arg at line 4 of [ stdin ] ]:1 printf '[%o]\n' -42 ^ [ stdin ]:4: Can't format negative number with %o: -42 [%x]\n ^ [ printf arg at line 7 of [ stdin ] ]:1 printf '[%x]\n' -42 ^ [ stdin ]:7: Can't format negative number with %x: -42 [%X]\n ^ [ printf arg at line 10 of [ stdin ] ]:1 printf '[%X]\n' -42 ^ [ stdin ]:10: Can't format negative number with %X: -42 |
sush | 29 printf floating point (not required, but they all implement it) [sush stdout] Expected '[3.141590]\n[3.14]\n[ 3.14]\n[3.14 ]\n[3.141590]\n[3.140000]\n' Got '[3.141590]\n[3.141590]\n[3.141590]\n[3.141590]\n[3.141590]\n[3.140000]\n' stdout: [3.141590] [3.141590] [3.141590] [3.141590] [3.141590] [3.140000]stderr: |
osh | 29 printf floating point (not required, but they all implement it) stdout: stderr: [%f]\n ^ [ printf arg at line 1 of [ stdin ] ]:1 printf '[%f]\n' 3.14159 ^ [ stdin ]:1: osh printf doesn't support floating point [%.2f]\n ^ [ printf arg at line 2 of [ stdin ] ]:1 printf '[%.2f]\n' 3.14159 ^ [ stdin ]:2: osh printf doesn't support floating point [%8.2f]\n ^ [ printf arg at line 3 of [ stdin ] ]:1 printf '[%8.2f]\n' 3.14159 ^ [ stdin ]:3: osh printf doesn't support floating point [%-8.2f]\n ^ [ printf arg at line 4 of [ stdin ] ]:1 printf '[%-8.2f]\n' 3.14159 ^ [ stdin ]:4: osh printf doesn't support floating point [%-f]\n ^ [ printf arg at line 5 of [ stdin ] ]:1 printf '[%-f]\n' 3.14159 ^ [ stdin ]:5: osh printf doesn't support floating point [%-f]\n ^ [ printf arg at line 6 of [ stdin ] ]:1 printf '[%-f]\n' 3.14 ^ [ stdin ]:6: osh printf doesn't support floating point |
sush | 30 printf floating point with - and 0 [sush stdout] Expected '[ 3.1400]\n[003.1400]\n[ 3.1400]\n[003.1400]\n---\n[3.1400 ]\n[3.1400 ]\n[3.1400 ]\n[3.1400 ]\n' Got '[3.140000]\n[3.140000]\n[3.140000]\n[3.140000]\n---\n[3.140000]\n[3.140000]\n[3.140000]\n[3.140000]\n' stdout: [3.140000] [3.140000] [3.140000] [3.140000] --- [3.140000] [3.140000] [3.140000] [3.140000]stderr: |
osh | 30 printf floating point with - and 0 stdout: ---stderr: [%8.4f]\n ^ [ printf arg at line 1 of [ stdin ] ]:1 printf '[%8.4f]\n' 3.14 ^ [ stdin ]:1: osh printf doesn't support floating point [%08.4f]\n ^ [ printf arg at line 2 of [ stdin ] ]:1 printf '[%08.4f]\n' 3.14 ^ [ stdin ]:2: osh printf doesn't support floating point [%8.04f]\n ^ [ printf arg at line 3 of [ stdin ] ]:1 printf '[%8.04f]\n' 3.14 # meaning less 0 ^ [ stdin ]:3: Expected a printf format character [%08.04f]\n ^ [ printf arg at line 4 of [ stdin ] ]:1 printf '[%08.04f]\n' 3.14 ^ [ stdin ]:4: Expected a printf format character [%-8.4f]\n ^ [ printf arg at line 6 of [ stdin ] ]:1 printf '[%-8.4f]\n' 3.14 ^ [ stdin ]:6: osh printf doesn't support floating point [%-08.4f]\n ^ [ printf arg at line 7 of [ stdin ] ]:1 printf '[%-08.4f]\n' 3.14 ^ [ stdin ]:7: osh printf doesn't support floating point [%-8.04f]\n ^ [ printf arg at line 8 of [ stdin ] ]:1 printf '[%-8.04f]\n' 3.14 ^ [ stdin ]:8: Expected a printf format character [%-08.04f]\n ^ [ printf arg at line 9 of [ stdin ] ]:1 printf '[%-08.04f]\n' 3.14 ^ [ stdin ]:9: Expected a printf format character |
sush | 31 printf eE fF gG [sush stdout] Expected '[3.140000e+00]\n[3.140000E+00]\n[3.140000]\n[3.14]\n[3.14]\n' Got '[3.140000]\n' [sush status] Expected 0, got 1 stdout: [3.140000]stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: printf: Other("Incorrect type passed as an argument %e 3.14") /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: printf: Other("Incorrect type passed as an argument %E 3.14") /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: printf: Other("Incorrect type passed as an argument %g 3.14") /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 5: printf: Other("Incorrect type passed as an argument %G 3.14") |
osh | 31 printf eE fF gG stdout: stderr: [%e]\n ^ [ printf arg at line 1 of [ stdin ] ]:1 printf '[%e]\n' 3.14 ^ [ stdin ]:1: osh printf doesn't support floating point [%E]\n ^ [ printf arg at line 2 of [ stdin ] ]:1 printf '[%E]\n' 3.14 ^ [ stdin ]:2: osh printf doesn't support floating point [%f]\n ^ [ printf arg at line 3 of [ stdin ] ]:1 printf '[%f]\n' 3.14 ^ [ stdin ]:3: osh printf doesn't support floating point [%g]\n ^ [ printf arg at line 4 of [ stdin ] ]:1 printf '[%g]\n' 3.14 ^ [ stdin ]:4: osh printf doesn't support floating point [%G]\n ^ [ printf arg at line 5 of [ stdin ] ]:1 printf '[%G]\n' 3.14 ^ [ stdin ]:5: osh printf doesn't support floating point |
dash | 32 printf backslash escapes stdout: ['a\tb'] ['\\xE2\\x98\\xA0'] ['$e'] ['\x1f7']stderr: |
sush | 32 printf backslash escapes [sush stdout] Expected "['a\\tb']\n['\\xe2\\x98\\xa0']\n['$e']\n['\\x1f7']\n" Got "['a\\tb']\n['\\\\xE2\\\\x98\\\\xA0']\n['\\\\044e']\n['\\\\0377']\n" stdout: ['a\tb'] ['\\xE2\\x98\\xA0'] ['\\044e'] ['\\0377']stderr: |
sush | 33 printf octal backslash escapes [sush stdout] Expected "['\\x1f7']\n['\\xff']\n", got "['\\\\0377']\n['\\\\377']\n" stdout: ['\\0377'] ['\\377']stderr: |
brush | 33 printf octal backslash escapes [brush stdout] Expected "['\\x1f7']\n['\\xff']\n", got "['\\x1f7']\n" [brush status] Expected 0, got 1 stdout: ['\x1f7']stderr: [31mERROR[0m error: i/o error: stream did not contain valid UTF-8 |
dash | 34 printf unicode backslash escapes stdout: ['\\u2620'] ['\\U0000065f']stderr: |
ash | 34 printf unicode backslash escapes stdout: ['\\u2620'] ['\\U0000065f']stderr: |
toysh | 34 printf unicode backslash escapes [toysh stdout] Expected "['\\xe2\\x98\\xa0']\n['\\xd9\\x9f']\n", got "['\\\\u2620']\n['\\\\U0000065f']\n" stdout: ['\\u2620'] ['\\U0000065f']stderr: |
sush | 34 printf unicode backslash escapes [sush stdout] Expected "['\\xe2\\x98\\xa0']\n['\\xd9\\x9f']\n", got "['\\\\u2620']\n['\\\\U0000065f']\n" stdout: ['\\u2620'] ['\\U0000065f']stderr: |
sush | 36 printf % escapes [sush stdout] Expected '[%]\n', got '' [sush status] Expected 0, got 1 stdout: stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: printf: Other("Too many arguments passed %% ") |
sush | 37 printf %b backslash escaping [sush stdout] Expected '[\\044]\n[$]\nstatus=0\n', got '[\\044]\n[\\044]\nstatus=0\n' stdout: [\044] [\044] status=0stderr: |
sush | 38 printf %b with \c early return [sush stdout] Expected '[ab\ncd0\n', got '[ab\ncd\\cxy]\n0\n' stdout: [ab cd\cxy] 0stderr: |
brush | 38 printf %b with \c early return [brush stdout] Expected '[ab\ncd0\n', got '[ab\ncd]\n0\n' stdout: [ab cd] 0stderr: |
dash | 39 printf %c -- doesn't respect UTF-8! Bad. stdout: [$\u03bc\u03bc] 1stderr: |
ash | 39 printf %c -- doesn't respect UTF-8! Bad. stdout: [\u03bc\u03bc] 1stderr: |
sush | 39 printf %c -- doesn't respect UTF-8! Bad. [sush stdout] Expected '[\xce\xbc\xce\xbc]\n1\n', got '[\xce\xbc\xce\xbc]\n0\n' stdout: [μμ] 0stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: printf: Other("Incorrect type passed as an argument %c μμ") |
osh | 39 printf %c -- doesn't respect UTF-8! Bad. stdout: [μμ] 0stderr: %c ^ [ printf arg at line 3 of [ stdin ] ]:1 printf '%c' "$twomu" | wc --bytes ^ [ stdin ]:3: osh printf doesn't support single characters (bytes) |
dash | 40 printf invalid format stdout: status=2 status=2stderr: dash: 1: printf: %z: invalid directive dash: 3: printf: %-z: invalid directive |
osh | 40 printf invalid format stdout: status=2 status=2stderr: %z ^ [ printf arg at line 1 of [ stdin ] ]:1 printf '%z' 42 ^ [ stdin ]:1: Invalid printf format character %-z ^ [ printf arg at line 3 of [ stdin ] ]:1 printf '%-z' 42 ^ [ stdin ]:3: Invalid printf format character |
bash | 41 printf %q stdout: [a\ b]stderr: |
dash | 41 printf %q stdout: [stderr: dash: 2: printf: %q: invalid directive |
ash | 41 printf %q stdout: [stderr: ash: %q]\n: invalid format |
zsh | 41 printf %q stdout: [a\ b]stderr: |
toysh | 41 printf %q [toysh stdout] Expected "['a b']\n", got '[' [toysh status] Expected 0, got 1 stdout: [stderr: printf: bad %q@3 |
sush | 41 printf %q [sush stdout] Expected "['a b']\n", got '[a b]\n' stdout: [a b]stderr: |
bash | 42 printf %6q (width) stdout: [ a\ b] [a\ b]stderr: |
dash | 42 printf %6q (width) stdout: [[stderr: dash: 2: printf: %6q: invalid directive dash: 3: printf: %1q: invalid directive |
ash | 42 printf %6q (width) stdout: [[stderr: ash: %6q]\n: invalid format ash: %1q]\n: invalid format |
zsh | 42 printf %6q (width) stdout: [ a\ b] [a\ b]stderr: |
mksh | 42 printf %6q (width) stdout: [[stderr: printf: %6q: invalid conversion specification printf: %1q: invalid conversion specification |
ksh | 42 printf %6q (width) [ksh stdout] Expected "[ 'a b']\n['a b']\n", got '[[' [ksh status] Expected 0, got 1 stdout: [[stderr: printf: %6q: invalid conversion specification printf: %1q: invalid conversion specification |
toysh | 42 printf %6q (width) [toysh stdout] Expected "[ 'a b']\n['a b']\n", got '[[' [toysh status] Expected 0, got 1 stdout: [[stderr: printf: bad %q@4 printf: bad %q@4 |
sush | 42 printf %6q (width) [sush stdout] Expected "[ 'a b']\n['a b']\n", got '[a b]\n[a b]\n' stdout: [a b] [a b]stderr: |
brush | 42 printf %6q (width) [brush stdout] Expected "[ 'a b']\n['a b']\n", got '' [brush status] Expected 0, got 1 stdout: stderr: [31mERROR[0m printf: printf parsing error: %6q: invalid conversion specification [31mERROR[0m printf: printf parsing error: %1q: invalid conversion specification |
ash | 43 printf negative numbers stdout: [-42] status=0 [-42] status=0 [-42] status=0 [-42] status=0 [0] status=1 [0] status=1 [0] status=1 [0] status=1stderr: ash: invalid number '-42 ' ash: invalid number '-42 ' ash: invalid number '-42z' ash: invalid number '-42z' |
zsh | 43 printf negative numbers stdout: [-42] status=0 [-42] status=0 [-42] status=0 [-42] status=0 [-42] status=0 [-42] status=0 [0] status=1 [0] status=1stderr: zsh: bad math expression: operator expected at `z' zsh: bad math expression: operator expected at `z' |
sush | 43 printf negative numbers [sush stdout] Expected '[-42] status=0\n[-42] status=0\n[-42] status=0\n[-42] status=0\n[-42] status=1\n[-42] status=1\n[-42] status=1\n[-42] status=1\n' Got '[-42] status=0\n[-42] status=0\n[ -42] status=0\n[ -42] status=0\n[ -42 ] status=0\n[ -42 ] status=0\n[ -42z] status=0\n[ -42z] status=0\n' stdout: [-42] status=0 [-42] status=0 [ -42] status=0 [ -42] status=0 [ -42 ] status=0 [ -42 ] status=0 [ -42z] status=0 [ -42z] status=0stderr: |
brush | 43 printf negative numbers [brush stdout] Expected '[-42] status=0\n[-42] status=0\n[-42] status=0\n[-42] status=0\n[-42] status=1\n[-42] status=1\n[-42] status=1\n[-42] status=1\n' Got '[-42] status=0\n[-42] status=0\n[-42] status=0\n[-42] status=0\n[-42] status=0\n[-42] status=0\n[-42] status=0\n[-42] status=0\n' stdout: [-42] status=0 [-42] status=0 [-42] status=0 [-42] status=0 [-42] status=0 [-42] status=0 [-42] status=0 [-42] status=0stderr: /home/andy/git/oils-for-unix/oils/../../shells/brush/target/release/brush: '\ -42\ ': value not completely converted /home/andy/git/oils-for-unix/oils/../../shells/brush/target/release/brush: '\ -42\ ': value not completely converted /home/andy/git/oils-for-unix/oils/../../shells/brush/target/release/brush: '\ -42z': value not completely converted /home/andy/git/oils-for-unix/oils/../../shells/brush/target/release/brush: '\ -42z': value not completely converted |
osh | 43 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' |
sush | 44 printf + and space flags [sush stdout] Expected '[+42]\n[-42]\n[ 42]\n[-42]\n', got '' [sush status] Expected 0, got 1 stdout: stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: printf: Other("Error parsing the format string %+ 42") /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: printf: Other("Error parsing the format string %+ -42") /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: printf: Other("Error parsing the format string % 42") /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: printf: Other("Error parsing the format string % -42") |
osh | 44 printf + and space flags stdout: stderr: [%+d]\n ^ [ printf arg at line 1 of [ stdin ] ]:1 printf '[%+d]\n' 42 ^ [ stdin ]:1: osh printf doesn't support the '+' flag [%+d]\n ^ [ printf arg at line 2 of [ stdin ] ]:1 printf '[%+d]\n' -42 ^ [ stdin ]:2: osh printf doesn't support the '+' flag [% d]\n ^ [ printf arg at line 3 of [ stdin ] ]:1 printf '[% d]\n' 42 ^ [ stdin ]:3: osh printf doesn't support the ' ' flag [% d]\n ^ [ printf arg at line 4 of [ stdin ] ]:1 printf '[% d]\n' -42 ^ [ stdin ]:4: osh printf doesn't support the ' ' flag |
sush | 45 printf # flag [sush stdout] Expected '[0][052]\n[0][0x2a]\n[0][0X2A]\n---\n[3][3.]\n[3][3.00000]\n' Got '---\n' [sush status] Expected 0, got 1 stdout: ---stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 1: printf: Other("Error parsing the format string %# 0") /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: printf: Other("Error parsing the format string %# 0") /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 3: printf: Other("Error parsing the format string %# 0") /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 5: printf: Other("Error parsing the format string %# 3") /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 6: printf: Other("Incorrect type passed as an argument %g 3") |
osh | 45 printf # flag stdout: ---stderr: [%#o][%#o]\n ^ [ printf arg at line 1 of [ stdin ] ]:1 printf '[%#o][%#o]\n' 0 42 ^ [ stdin ]:1: osh printf doesn't support the '#' flag [%#x][%#x]\n ^ [ printf arg at line 2 of [ stdin ] ]:1 printf '[%#x][%#x]\n' 0 42 ^ [ stdin ]:2: osh printf doesn't support the '#' flag [%#X][%#X]\n ^ [ printf arg at line 3 of [ stdin ] ]:1 printf '[%#X][%#X]\n' 0 42 ^ [ stdin ]:3: osh printf doesn't support the '#' flag [%.0f][%#.0f]\n ^ [ printf arg at line 5 of [ stdin ] ]:1 printf '[%.0f][%#.0f]\n' 3 3 ^ [ stdin ]:5: osh printf doesn't support floating point [%g][%#g]\n ^ [ printf arg at line 6 of [ stdin ] ]:1 printf '[%g][%#g]\n' 3 3 ^ [ stdin ]:6: osh printf doesn't support floating point |
ash | 46 Runtime error for invalid integer stdout: 0 status=1 0 status=1stderr: ash: invalid number '3abc' ash: invalid number 'xyz' |
zsh | 46 Runtime error for invalid integer stdout: 0 status=1 0 status=0stderr: zsh: bad math expression: operator expected at `abc' |
sush | 46 Runtime error for invalid integer [sush stdout] Expected '3\nstatus=1\n0\nstatus=1\n', got '3abc\nstatus=0\nxyz\nstatus=0\n' stdout: 3abc status=0 xyz status=0stderr: |
brush | 46 Runtime error for invalid integer [brush stdout] Expected '3\nstatus=1\n0\nstatus=1\n', got '3\nstatus=0\n0\nstatus=0\n' stdout: 3 status=0 0 status=0stderr: /home/andy/git/oils-for-unix/oils/../../shells/brush/target/release/brush: '3abc': value not completely converted /home/andy/git/oils-for-unix/oils/../../shells/brush/target/release/brush: 'xyz': expected a numeric value |
osh | 46 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' |
dash | 47 %(strftime format)T stdout: status=2stderr: dash: 2: printf: %(: invalid directive dash: 4: printf: %(: invalid directive |
ash | 47 %(strftime format)T stdout: status=1stderr: ash: %(%Y-%m-%d)T\n: invalid format ash: %(%Y-%m-%d)T\n: invalid format |
zsh | 47 %(strftime format)T stdout: status=1stderr: printf: %(: invalid directive printf: %(: invalid directive |
mksh | 47 %(strftime format)T stdout: status=1stderr: printf: %(: invalid conversion specification printf: %(: invalid conversion specification |
ksh | 47 %(strftime format)T [ksh stdout] Expected '2019-05-16\n2019-05-15\nstatus=0\n', got 'status=1\n' stdout: status=1stderr: printf: %(: invalid conversion specification printf: %(: invalid conversion specification |
toysh | 47 %(strftime format)T [toysh stdout] Expected '2019-05-16\n2019-05-15\nstatus=0\n', got 'status=1\n' stdout: status=1stderr: printf: bad %(@2 printf: bad %(@2 |
sush | 47 %(strftime format)T [sush stdout] Expected '2019-05-16\n2019-05-15\nstatus=0\n', got 'status=1\n' stdout: status=1stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: printf: Other("Error parsing the format string %( 1557978599") /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: printf: Other("Error parsing the format string %( 1557978599") |
brush | 47 %(strftime format)T [brush stdout] Expected '2019-05-16\n2019-05-15\nstatus=0\n', got 'status=1\n' stdout: status=1stderr: [31mERROR[0m printf: printf parsing error: %(: invalid conversion specification [31mERROR[0m printf: printf parsing error: %(: invalid conversion specification |
dash | 48 %(strftime format)T doesn't respect TZ if not exported stdout: stderr: dash: 2: printf: %(: invalid directive dash: 5: printf: %(: invalid directive |
ash | 48 %(strftime format)T doesn't respect TZ if not exported stdout: stderr: ash: %(%Y-%m-%d %H:%M:%S)T\n: invalid format ash: %(%Y-%m-%d %H:%M:%S)T\n: invalid format |
zsh | 48 %(strftime format)T doesn't respect TZ if not exported stdout: stderr: printf: %(: invalid directive printf: %(: invalid directive |
mksh | 48 %(strftime format)T doesn't respect TZ if not exported stdout: stderr: printf: %(: invalid conversion specification printf: %(: invalid conversion specification |
ksh | 48 %(strftime format)T doesn't respect TZ if not exported [ksh stdout] Expected 'not equal\n', got '' stdout: stderr: printf: %(: invalid conversion specification printf: %(: invalid conversion specification |
toysh | 48 %(strftime format)T doesn't respect TZ if not exported [toysh stdout] Expected 'not equal\n', got '' stdout: stderr: printf: bad %(@2 printf: bad %(@2 |
sush | 48 %(strftime format)T doesn't respect TZ if not exported [sush stdout] Expected 'not equal\n', got '' stdout: stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: printf: Other("Error parsing the format string %( 1557978599") /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 5: printf: Other("Error parsing the format string %( 1557978599") |
brush | 48 %(strftime format)T doesn't respect TZ if not exported [brush stdout] Expected 'not equal\n', got '' stdout: stderr: [31mERROR[0m printf: printf parsing error: %(: invalid conversion specification [31mERROR[0m printf: printf parsing error: %(: invalid conversion specification |
dash | 49 %(strftime format)T TZ in environ but not in shell's memory stdout: stderr: dash: 2: printf: %(: invalid directive dash: 6: printf: %(: invalid directive |
ash | 49 %(strftime format)T TZ in environ but not in shell's memory stdout: stderr: ash: %(%Y-%m-%d %H:%M:%S)T\n: invalid format ash: %(%Y-%m-%d %H:%M:%S)T\n: invalid format |
zsh | 49 %(strftime format)T TZ in environ but not in shell's memory stdout: stderr: printf: %(: invalid directive printf: %(: invalid directive |
mksh | 49 %(strftime format)T TZ in environ but not in shell's memory stdout: stderr: printf: %(: invalid conversion specification printf: %(: invalid conversion specification |
ksh | 49 %(strftime format)T TZ in environ but not in shell's memory [ksh stdout] Expected 'not equal\n', got '' stdout: stderr: printf: %(: invalid conversion specification printf: %(: invalid conversion specification |
toysh | 49 %(strftime format)T TZ in environ but not in shell's memory [toysh stdout] Expected 'not equal\n', got '' stdout: stderr: printf: bad %(@2 printf: bad %(@2 |
sush | 49 %(strftime format)T TZ in environ but not in shell's memory [sush stdout] Expected 'not equal\n', got '' stdout: stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: printf: Other("Error parsing the format string %( 1557978599") /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 6: printf: Other("Error parsing the format string %( 1557978599") |
brush | 49 %(strftime format)T TZ in environ but not in shell's memory [brush stdout] Expected 'not equal\n', got '' stdout: stderr: [31mERROR[0m printf: printf parsing error: %(: invalid conversion specification [31mERROR[0m printf: printf parsing error: %(: invalid conversion specification |
dash | 50 %10.5(strftime format)T stdout: [[status=2stderr: dash: 2: printf: %10.5(: invalid directive dash: 4: printf: %10.5(: invalid directive |
ash | 50 %10.5(strftime format)T stdout: [[status=1stderr: ash: %10.5(%Y-%m-%d)T]\n: invalid format ash: %10.5(%Y-%m-%d)T]\n: invalid format |
zsh | 50 %10.5(strftime format)T stdout: [[status=1stderr: printf: %10.5(: invalid directive printf: %10.5(: invalid directive |
mksh | 50 %10.5(strftime format)T stdout: [[status=1stderr: printf: %10.5(: invalid conversion specification printf: %10.5(: invalid conversion specification |
ksh | 50 %10.5(strftime format)T [ksh stdout] Expected '[ 2019-]\n[ 2019-]\nstatus=0\n', got '[[status=1\n' stdout: [[status=1stderr: printf: %10.5(: invalid conversion specification printf: %10.5(: invalid conversion specification |
toysh | 50 %10.5(strftime format)T [toysh stdout] Expected '[ 2019-]\n[ 2019-]\nstatus=0\n', got '[[status=1\n' stdout: [[status=1stderr: printf: bad %(@7 printf: bad %(@7 |
sush | 50 %10.5(strftime format)T [sush stdout] Expected '[ 2019-]\n[ 2019-]\nstatus=0\n', got 'status=1\n' stdout: status=1stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 2: printf: Other("Error parsing the format string %10.5( 1557978599") /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: printf: Other("Error parsing the format string %10.5( 1557978599") |
brush | 50 %10.5(strftime format)T [brush stdout] Expected '[ 2019-]\n[ 2019-]\nstatus=0\n', got 'status=1\n' stdout: status=1stderr: [31mERROR[0m printf: printf parsing error: %10.5(: invalid conversion specification [31mERROR[0m printf: printf parsing error: %10.5(: invalid conversion specification |
dash | 52 bash truncates long strftime string at 128 stdout: stderr: |
ash | 52 bash truncates long strftime string at 128 stdout: stderr: |
zsh | 52 bash truncates long strftime string at 128 stdout: stderr: |
mksh | 52 bash truncates long strftime string at 128 stdout: stderr: |
ksh | 52 bash truncates long strftime string at 128 [ksh stdout] Expected '4\n40\n120\n124\n0\n', got '0\n0\n0\n0\n0\n' stdout: 0 0 0 0 0stderr: printf: %(: invalid conversion specification printf: %(: invalid conversion specification printf: %(: invalid conversion specification printf: %(: invalid conversion specification printf: %(: invalid conversion specification |
toysh | 52 bash truncates long strftime string at 128 [toysh stdout] Expected '4\n40\n120\n124\n0\n', got '' [toysh status] Expected 0, got 2 stdout: stderr: main: line 1: sh: syntax error: ( |
sush | 52 bash truncates long strftime string at 128 [sush stdout] Expected '4\n40\n120\n124\n0\n', got '%()T0\n0\n0\n0\n0\n' stdout: %()T0 0 0 0 0stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: Unexpected token: () /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 4: local: can only be used in a function seq: missing operand Try 'seq --help' for more information. /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 13: Unexpected token: } /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 14: strftime-format: command not found /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 14: printf: usage: printf [-v var] format [arguments] /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 15: strftime-format: command not found /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 15: printf: usage: printf [-v var] format [arguments] /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 16: strftime-format: command not found /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 16: printf: usage: printf [-v var] format [arguments] /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 17: strftime-format: command not found /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 17: printf: usage: printf [-v var] format [arguments] /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 18: strftime-format: command not found /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 18: printf: usage: printf [-v var] format [arguments] |
brush | 52 bash truncates long strftime string at 128 [brush stdout] Expected '4\n40\n120\n124\n0\n', got '0\n0\n0\n0\n0\n' stdout: 0 0 0 0 0stderr: [31mERROR[0m printf: printf parsing error: %(: invalid conversion specification [31mERROR[0m printf: printf parsing error: %(: invalid conversion specification [31mERROR[0m printf: printf parsing error: %(: invalid conversion specification [31mERROR[0m printf: printf parsing error: %(: invalid conversion specification [31mERROR[0m printf: printf parsing error: %(: invalid conversion specification |
osh | 52 bash truncates long strftime string at 128 stdout: 4 40 120 124 128stderr: |
dash | 53 printf with explicit NUL byte stdout: stderr: |
ash | 53 printf with explicit NUL byte stdout: stderr: |
zsh | 53 printf with explicit NUL byte stdout: x z zstderr: |
toysh | 53 printf with explicit NUL byte [toysh stdout] Expected u'x', got '' [toysh status] Expected 0, got 2 stdout: stderr: main: line 1: sh: syntax error: ( |
sush | 53 printf with explicit NUL byte [sush stdout] Expected u'x', got 'x\x00z\x00z' stdout: x z zstderr: |
brush | 53 printf with explicit NUL byte [brush stdout] Expected u'x', got 'x\x00z\x00z' stdout: x z zstderr: |
bash | 54 printf positive integer overflow stdout: 18446744073709551615 status=0 18446744073709551615 status=0 9223372036854775807 status=0 9223372036854775807 status=0stderr: bash: line 4: printf: warning: 18446744073709551616: Numerical result out of range bash: line 2: printf: warning: 18446744073709551615: Numerical result out of range bash: line 4: printf: warning: 18446744073709551616: Numerical result out of range |
dash | 54 printf positive integer overflow stdout: 18446744073709551615 status=0 18446744073709551615 status=1 9223372036854775807 status=1 9223372036854775807 status=1stderr: dash: 4: printf: 18446744073709551616: Numerical result out of range dash: 2: printf: 18446744073709551615: Numerical result out of range dash: 4: printf: 18446744073709551616: Numerical result out of range |
ash | 54 printf positive integer overflow stdout: 18446744073709551615 status=0 0 status=1 0 status=1 0 status=1stderr: ash: invalid number '18446744073709551616' ash: invalid number '18446744073709551615' ash: invalid number '18446744073709551616' |
zsh | 54 printf positive integer overflow stdout: 1844674407370955161 status=0 1844674407370955161 status=0 1844674407370955161 status=0 1844674407370955161 status=0stderr: zsh: number truncated after 19 digits: 18446744073709551615 zsh: number truncated after 19 digits: 18446744073709551616 zsh: number truncated after 19 digits: 18446744073709551615 zsh: number truncated after 19 digits: 18446744073709551616 |
mksh | 54 printf positive integer overflow stdout: 18446744073709551615 status=0 18446744073709551615 status=1 9223372036854775807 status=1 9223372036854775807 status=1stderr: printf: ‘18446744073709551616’: Numerical result out of range printf: ‘18446744073709551615’: Numerical result out of range printf: ‘18446744073709551616’: Numerical result out of range |
ksh | 54 printf positive integer overflow [ksh stdout] Expected 'status=1\nstatus=1\n\nstatus=1\nstatus=1\n\n', got '18446744073709551615\nstatus=0\n18446744073709551615\nstatus=1\n\n9223372036854775807\nstatus=1\n9223372036854775807\nstatus=1\n\n' stdout: 18446744073709551615 status=0 18446744073709551615 status=1 9223372036854775807 status=1 9223372036854775807 status=1stderr: printf: ‘18446744073709551616’: Numerical result out of range printf: ‘18446744073709551615’: Numerical result out of range printf: ‘18446744073709551616’: Numerical result out of range |
toysh | 54 printf positive integer overflow [toysh stdout] Expected 'status=1\nstatus=1\n\nstatus=1\nstatus=1\n\n', got '9223372036854775807\nstatus=1\n9223372036854775807\nstatus=1\n\n9223372036854775807\nstatus=1\n9223372036854775807\nstatus=1\n\n' stdout: 9223372036854775807 status=1 9223372036854775807 status=1 9223372036854775807 status=1 9223372036854775807 status=1stderr: printf: bad %u 18446744073709551615: Numerical result out of range printf: bad %u 18446744073709551616: Numerical result out of range printf: bad %d 18446744073709551615: Numerical result out of range printf: bad %d 18446744073709551616: Numerical result out of range |
sush | 54 printf positive integer overflow [sush stdout] Expected 'status=1\nstatus=1\n\nstatus=1\nstatus=1\n\n', got '18446744073709551615\nstatus=0\n18446744073709551616\nstatus=0\n\n18446744073709551615\nstatus=0\n18446744073709551616\nstatus=0\n\n' stdout: 18446744073709551615 status=0 18446744073709551616 status=0 18446744073709551615 status=0 18446744073709551616 status=0stderr: |
brush | 54 printf positive integer overflow [brush stdout] Expected 'status=1\nstatus=1\n\nstatus=1\nstatus=1\n\n', got '18446744073709551615\nstatus=0\n18446744073709551615\nstatus=0\n\n9223372036854775807\nstatus=0\n9223372036854775807\nstatus=0\n\n' stdout: 18446744073709551615 status=0 18446744073709551615 status=0 9223372036854775807 status=0 9223372036854775807 status=0stderr: /home/andy/git/oils-for-unix/oils/../../shells/brush/target/release/brush: '18446744073709551616': Numerical result out of range /home/andy/git/oils-for-unix/oils/../../shells/brush/target/release/brush: '18446744073709551615': Numerical result out of range /home/andy/git/oils-for-unix/oils/../../shells/brush/target/release/brush: '18446744073709551616': Numerical result out of range |
bash | 55 printf negative integer overflow stdout: 1 status=0 18446744073709551615 status=0 -9223372036854775808 status=0 -9223372036854775808 status=0stderr: bash: line 5: printf: warning: -18446744073709551616: Numerical result out of range bash: line 3: printf: warning: -18446744073709551615: Numerical result out of range bash: line 5: printf: warning: -18446744073709551616: Numerical result out of range |
dash | 55 printf negative integer overflow stdout: 1 status=0 18446744073709551615 status=1 -9223372036854775808 status=1 -9223372036854775808 status=1stderr: dash: 5: printf: -18446744073709551616: Numerical result out of range dash: 3: printf: -18446744073709551615: Numerical result out of range dash: 5: printf: -18446744073709551616: Numerical result out of range |
ash | 55 printf negative integer overflow stdout: 0 status=1 0 status=1 0 status=1 0 status=1stderr: ash: invalid number '-18446744073709551615' ash: invalid number '-18446744073709551616' ash: invalid number '-18446744073709551615' ash: invalid number '-18446744073709551616' |
zsh | 55 printf negative integer overflow stdout: 16602069666338596455 status=0 16602069666338596455 status=0 -1844674407370955161 status=0 -1844674407370955161 status=0stderr: zsh: number truncated after 19 digits: 18446744073709551615 zsh: number truncated after 19 digits: 18446744073709551616 zsh: number truncated after 19 digits: 18446744073709551615 zsh: number truncated after 19 digits: 18446744073709551616 |
mksh | 55 printf negative integer overflow stdout: 1 status=0 18446744073709551615 status=1 -9223372036854775808 status=1 -9223372036854775808 status=1stderr: printf: ‘-18446744073709551616’: Numerical result out of range printf: ‘-18446744073709551615’: Numerical result out of range printf: ‘-18446744073709551616’: Numerical result out of range |
ksh | 55 printf negative integer overflow [ksh stdout] Expected 'status=1\nstatus=1\n\nstatus=1\nstatus=1\n\n', got '1\nstatus=0\n18446744073709551615\nstatus=1\n\n-9223372036854775808\nstatus=1\n-9223372036854775808\nstatus=1\n\n' stdout: 1 status=0 18446744073709551615 status=1 -9223372036854775808 status=1 -9223372036854775808 status=1stderr: printf: ‘-18446744073709551616’: Numerical result out of range printf: ‘-18446744073709551615’: Numerical result out of range printf: ‘-18446744073709551616’: Numerical result out of range |
toysh | 55 printf negative integer overflow [toysh stdout] Expected 'status=1\nstatus=1\n\nstatus=1\nstatus=1\n\n', got '9223372036854775808\nstatus=1\n9223372036854775808\nstatus=1\n\n-9223372036854775808\nstatus=1\n-9223372036854775808\nstatus=1\n\n' stdout: 9223372036854775808 status=1 9223372036854775808 status=1 -9223372036854775808 status=1 -9223372036854775808 status=1stderr: printf: bad %u -18446744073709551615: Numerical result out of range printf: bad %u -18446744073709551616: Numerical result out of range printf: bad %d -18446744073709551615: Numerical result out of range printf: bad %d -18446744073709551616: Numerical result out of range |
sush | 55 printf negative integer overflow [sush stdout] Expected 'status=1\nstatus=1\n\nstatus=1\nstatus=1\n\n', got '1\nstatus=0\nstatus=1\n\n-18446744073709551615\nstatus=0\n-18446744073709551616\nstatus=0\n\n' stdout: 1 status=0 status=1 -18446744073709551615 status=0 -18446744073709551616 status=0stderr: /home/andy/git/oils-for-unix/oils/../../shells/rusty_bash/target/release/sush: line 5: printf: ParseIntError("number too large to fit in target type") |
brush | 55 printf negative integer overflow [brush stdout] Expected 'status=1\nstatus=1\n\nstatus=1\nstatus=1\n\n', got '1\nstatus=0\n18446744073709551615\nstatus=0\n\n-9223372036854775808\nstatus=0\n-9223372036854775808\nstatus=0\n\n' stdout: 1 status=0 18446744073709551615 status=0 -9223372036854775808 status=0 -9223372036854775808 status=0stderr: /home/andy/git/oils-for-unix/oils/../../shells/brush/target/release/brush: '-18446744073709551616': Numerical result out of range /home/andy/git/oils-for-unix/oils/../../shells/brush/target/release/brush: '-18446744073709551615': Numerical result out of range /home/andy/git/oils-for-unix/oils/../../shells/brush/target/release/brush: '-18446744073709551616': Numerical result out of range |