-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Open
Labels
Description
Currently, there are several cases that uutils' numfmt fails to produce the same output as GNU's numfmt; we can see all the failure outputs in this GitHub actions page underneath "Run GNU tests". This issue is here to track the cases that uutils' numfmt is failing (and for ease of seeing the error messages produced on those cases):
7a
numfmt.pl: test 7a: stdout mismatch, comparing 7a.2 (expected) and 7a.O (actual) --- 7a.2 2025-12-20 15:55:04.878346452 +0000 +++ 7a.O 2025-12-20 15:55:04.997346234 +0000 @@ -1 +1 @@ -no_NL \ No newline at end of file +no_NL
suf-5
numfmt.pl: test suf-5: stderr mismatch, comparing suf-5.1 (expected) and suf-5.E (actual) --- suf-5.1 2025-12-20 15:55:25.870316711 +0000 +++ suf-5.E 2025-12-20 15:55:25.937316590 +0000 @@ -1 +1 @@ -numfmt: invalid suffix in input '4MJ': 'J' +numfmt: invalid number: '4MJ'
suf-9
numfmt.pl: test suf-9: stderr mismatch, comparing suf-9.1 (expected) and suf-9.E (actual) --- suf-9.1 2025-12-20 15:55:26.249316027 +0000 +++ suf-9.E 2025-12-20 15:55:26.276315978 +0000 @@ -1 +1 @@ -numfmt: invalid suffix in input '4MiJ': 'J' +numfmt: invalid number: '4MiJ'
suf-10
numfmt.pl: test suf-10: stderr mismatch, comparing suf-10.1 (expected) and suf-10.E (actual) --- suf-10.1 2025-12-20 15:55:26.382315787 +0000 +++ suf-10.E 2025-12-20 15:55:26.414315729 +0000 @@ -1 +1 @@ -numfmt: invalid suffix in input: '4JiJ' +numfmt: invalid number: '4JiJ'
suf-17
numfmt.pl: test suf-17: stderr mismatch, comparing suf-17.1 (expected) and suf-17.E (actual) --- suf-17.1 2025-12-20 15:55:27.544313689 +0000 +++ suf-17.E 2025-12-20 15:55:27.721313369 +0000 @@ -1 +1 @@ -numfmt: invalid suffix in input: '7000Bar' +numfmt: invalid number: '7000Bar'
suf-18
numfmt.pl: test suf-18: stderr mismatch, comparing suf-18.1 (expected) and suf-18.E (actual) --- suf-18.1 2025-12-20 15:55:27.878313086 +0000 +++ suf-18.E 2025-12-20 15:55:27.892313061 +0000 @@ -1 +1 @@ -numfmt: invalid suffix in input: '7000FooF' +numfmt: invalid number: '7000FooF'
suf-19, suf-21, suf-23 through suf-25
numfmt.pl: test suf-## failed: exit status mismatch: expected 0, got 1
suf-22
numfmt.pl: test suf-22 failed: exit status mismatch: expected 2, got 1
unit-sep-1 through unit-sep-11, unit-sep-13 through unit-sep-21, unit-sep-23
numfmt.pl: test suf-## failed: exit status mismatch: expected 0, got 1
unit-sep-12, unit-sep-22
numfmt.pl: test suf-## failed: exit status mismatch: expected 2, got 1
grp-1
numfmt.pl: test grp-1 failed: exit status mismatch: expected 0, got 1
grp-2
numfmt.pl: test grp-2: stderr mismatch, comparing grp-2.1 (expected) and grp-2.E (actual) --- grp-2.1 2025-12-20 15:55:31.077307310 +0000 +++ grp-2.E 2025-12-20 15:55:31.098307272 +0000 @@ -1 +1,7 @@ -numfmt: grouping cannot be combined with --to +error: unexpected argument '--grouping' found + +tip: a similar argument exists: '--round' + +Usage: numfmt [OPTION]... [NUMBER]... + +For more information, try '--help'.
delim-2, delim-7
numfmt.pl: test delim-# failed: exit status mismatch: expected 0, got 1
field-1
numfmt.pl: test field-1: stderr mismatch, comparing field-1.1 (expected) and field-1.E (actual) --- field-1.1 2025-12-20 15:55:32.367304998 +0000 +++ field-1.E 2025-12-20 15:55:32.392304955 +0000 @@ -1,2 +1 @@ -numfmt: invalid field value 'A' -Try 'numfmt --help' for more information. +numfmt: range 'A' was invalid: failed to parse range
field-3
numfmt.pl: test field-3: stdout mismatch, comparing field-3.1 (expected) and field-3.O (actual) --- field-3.1 2025-12-20 15:55:32.636304538 +0000 +++ field-3.O 2025-12-20 15:55:32.658304501 +0000 @@ -1 +0,0 @@ -Hello 40M \ No newline at end of file
field-range-err-1
numfmt.pl: test field-range-err-1: stderr mismatch, comparing field-range-err-1.1 (expected) and field-range-err-1.E (actual) --- field-range-err-1.1 2025-12-20 15:55:34.065302098 +0000 +++ field-range-err-1.E 2025-12-20 15:55:34.099302040 +0000 @@ -1,2 +1 @@ -numfmt: invalid field value 'foo' -Try 'numfmt --help' for more information. +numfmt: range '-foo' was invalid: failed to parse range
field-range-err-2
numfmt.pl: test field-range-err-2: stderr mismatch, comparing field-range-err-2.1 (expected) and field-range-err-2.E (actual) --- field-range-err-2.1 2025-12-20 15:55:34.183301897 +0000 +++ field-range-err-2.E 2025-12-20 15:55:34.212301848 +0000 @@ -1,2 +1 @@ -numfmt: invalid field range -Try 'numfmt --help' for more information. +numfmt: range '--3' was invalid: failed to parse range
field-range-err-3
numfmt.pl: test field-range-err-3: stderr mismatch, comparing field-range-err-3.1 (expected) and field-range-err-3.E (actual) --- field-range-err-3.1 2025-12-20 15:55:34.402301523 +0000 +++ field-range-err-3.E 2025-12-20 15:55:34.455301433 +0000 @@ -1,2 +1 @@ -numfmt: fields are numbered from 1 -Try 'numfmt --help' for more information. +numfmt: range '0' was invalid: fields and positions are numbered from 1
field-range-err-4
numfmt.pl: test field-range-err-4: stderr mismatch, comparing field-range-err-4.1 (expected) and field-range-err-4.E (actual) --- field-range-err-4.1 2025-12-20 15:55:34.602301182 +0000 +++ field-range-err-4.E 2025-12-20 15:55:34.677301054 +0000 @@ -1,2 +1 @@ -numfmt: invalid decreasing range -Try 'numfmt --help' for more information. +numfmt: range '3-2' was invalid: high end of range less than low end
field-range-err-6 through field-range-err-10
numfmt.pl: test field-range-err-#: stderr mismatch, comparing field-range-err-#.1 (expected) and field-range-err-#.E (actual) --- field-range-err-#.1 2025-12-20 15:55:34.801300842 +0000 +++ field-range-err-#.E 2025-12-20 15:55:34.846300765 +0000 @@ -1,5 +1,3 @@ error: the argument '--field ' cannot be used multiple times-Usage: numfmt [OPTION]... [NUMBER]...
For more information, try '--help'.
field-range-err-11
numfmt.pl: test field-range-err-11: stderr mismatch, comparing field-range-err-11.1 (expected) and field-range-err-11.E (actual) --- field-range-err-11.1 2025-12-20 15:55:35.847299056 +0000 +++ field-range-err-11.E 2025-12-20 15:55:35.868299020 +0000 @@ -1,2 +1 @@ -numfmt: invalid field range -Try 'numfmt --help' for more information. +numfmt: range '1-2-3' was invalid: failed to parse range
field-range-err-12
numfmt.pl: test field-range-err-12: stderr mismatch, comparing field-range-err-12.1 (expected) and field-range-err-12.E (actual) --- field-range-err-12.1 2025-12-20 15:55:35.921298930 +0000 +++ field-range-err-12.E 2025-12-20 15:55:35.953298875 +0000 @@ -1,2 +1 @@ -numfmt: fields are numbered from 1 -Try 'numfmt --help' for more information. +numfmt: range '0-1' was invalid: fields and positions are numbered from 1
field-range-err-13
numfmt.pl: test field-range-err-13: stderr mismatch, comparing field-range-err-13.1 (expected) and field-range-err-13.E (actual) --- field-range-err-13.1 2025-12-20 15:55:36.007298783 +0000 +++ field-range-err-13.E 2025-12-20 15:55:36.021298759 +0000 @@ -1,2 +1 @@ -numfmt: field number '18446744073709551615' is too large -Try 'numfmt --help' for more information. +numfmt: range '18446744073709551615' was invalid: byte/character offset is too large
header-2, header-6, header-7
numfmt.pl: test header-# failed: exit status mismatch: expected 0, got 1
strtod-5
numfmt.pl: test strtod-5: stderr mismatch, comparing strtod-5.1 (expected) and strtod-5.E (actual) --- strtod-5.1 2025-12-20 15:55:38.357294770 +0000 +++ strtod-5.E 2025-12-20 15:55:38.377294736 +0000 @@ -1 +1 @@ -numfmt: invalid number: '12.' +numfmt: invalid suffix in input: '12.'
strtod-6
numfmt.pl: test strtod-6 failed: exit status mismatch: expected 2, got 0
leading-4
numfmt.pl: test leading-4: stderr mismatch, comparing leading-4.1 (expected) and leading-4.E (actual) --- leading-4.1 2025-12-20 15:55:42.898286803 +0000 +++ leading-4.E 2025-12-20 15:55:42.924286756 +0000 @@ -1 +1 @@ -numfmt: invalid suffix in input: '..1' +numfmt: invalid number: '..1'
leading-5
numfmt.pl: test leading-5: stderr mismatch, comparing leading-5.1 (expected) and leading-5.E (actual) --- leading-5.1 2025-12-20 15:55:42.945286719 +0000 +++ leading-5.E 2025-12-20 15:55:42.963286687 +0000 @@ -1 +1 @@ -numfmt: invalid number: '1.' +numfmt: invalid suffix in input: '1.'
debug-1 through debug-2
numfmt.pl: test debug-# failed: exit status mismatch: expected 0, got 1
devdebug-1 through devdebug-11
numfmt.pl: test devdebug-# failed: exit status mismatch: expected 0, got 1
help-1
numfmt.pl: test help-1: stderr mismatch, comparing help-1.1 (expected) and help-1.E (actual) --- help-1.1 2025-12-20 15:55:44.089284675 +0000 +++ help-1.E 2025-12-20 15:55:44.171284528 +0000 @@ -1,2 +1,7 @@ -numfmt: unrecognized option -Try 'numfmt --help' for more information. +error: unexpected argument '--foobar' found + + tip: to pass '--foobar' as a value, use '-- --foobar' + +Usage: numfmt [OPTION]... [NUMBER]... + +For more information, try '--help'.
fmt-err-9
numfmt.pl: test fmt-err-9: stderr mismatch, comparing fmt-err-9.1 (expected) and fmt-err-9.E (actual) --- fmt-err-9.1 2025-12-20 15:55:44.575283806 +0000 +++ fmt-err-9.E 2025-12-20 15:55:44.606283751 +0000 @@ -1 +1,7 @@ -numfmt: --grouping cannot be combined with --format +error: unexpected argument '--grouping' found + +tip: a similar argument exists: '--round' + +Usage: numfmt [OPTION]... [NUMBER]... + +For more information, try '--help'.
fmt-err-11
numfmt.pl: test fmt-err-11 failed: exit status mismatch: expected 0, got 1
fmt-15
numfmt.pl: test fmt-15 failed: exit status mismatch: expected 0, got 134
ign-err-3
numfmt.pl: test ign-err-3: stderr mismatch, comparing ign-err-3.1 (expected) and ign-err-3.E (actual) --- ign-err-3.1 2025-12-20 15:55:46.866279712 +0000 +++ ign-err-3.E 2025-12-20 15:55:46.879279689 +0000 @@ -1 +1 @@ -numfmt: invalid suffix in input '4MJ': 'J' +numfmt: invalid number: '4MJ'
ign-err-4
numfmt.pl: test ign-err-4: stderr mismatch, comparing ign-err-4.1 (expected) and ign-err-4.E (actual) --- ign-err-4.1 2025-12-20 15:55:46.885279678 +0000 +++ ign-err-4.E 2025-12-20 15:55:46.909279635 +0000 @@ -1 +1 @@ -numfmt: invalid suffix in input: '7000FooF' +numfmt: invalid number: '7000FooF'
ign-err-m1.3
numfmt.pl: test ign-err-m1.3 failed: exit status mismatch: expected 0, got 1
ign-err-m2.2
numfmt.pl: test ign-err-m2.2 failed: exit status mismatch: expected 2, got 1
Note: As far I see within the log on GitHub action, it hasn't run the @Limit_Tests tests (line 916 after in the GNU's numfmt.pl), which uutils' numfmt may fail certain cases on there.