Skip to content

Commit 22e31ed

Browse files
committed
numfmt: add GNU test patch for devdebug, help-1, and field-range errors
GNU test: numfmt.pl devdebug-*, help-1, field-1, field-range-err-*
1 parent 8b6e170 commit 22e31ed

2 files changed

Lines changed: 130 additions & 0 deletions

File tree

util/gnu-patches/series

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,4 @@ tests_sort_merge.pl.patch
1010
tests_du_move_dir_while_traversing.patch
1111
test_mkdir_restorecon.patch
1212
error_msg_uniq.diff
13+
tests_numfmt.patch
Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
Index: gnu/tests/numfmt/numfmt.pl
2+
===================================================================
3+
--- gnu.orig/tests/numfmt/numfmt.pl
4+
+++ gnu/tests/numfmt/numfmt.pl
5+
@@ -296,7 +296,7 @@ my @Tests =
6+
7+
#Fields
8+
['field-1', '--field A',
9+
- {ERR => "$prog: invalid field value 'A'\n$try"},
10+
+ {ERR => "$prog: range 'A' was invalid: failed to parse range\n"},
11+
{EXIT => '1'}],
12+
['field-2', '--field 2 --from=auto "Hello 40M World 90G"',
13+
{OUT=>'Hello 40000000 World 90G'}],
14+
@@ -379,30 +379,39 @@ my @Tests =
15+
{OUT=>"1.0k 2.0k 3.0k 4.0k 5.0k"}],
16+
17+
['field-range-err-1', '--field -foo --to=si 10',
18+
- {EXIT=>1}, {ERR=>"$prog: invalid field value 'foo'\n$try"}],
19+
+ {EXIT=>1}, {ERR=>"$prog: range '-foo' was invalid: failed to parse range\n"}],
20+
['field-range-err-2', '--field --3 --to=si 10',
21+
- {EXIT=>1}, {ERR=>"$prog: invalid field range\n$try"}],
22+
+ {EXIT=>1}, {ERR=>"$prog: range '--3' was invalid: failed to parse range\n"}],
23+
['field-range-err-3', '--field 0 --to=si 10',
24+
- {EXIT=>1}, {ERR=>"$prog: fields are numbered from 1\n$try"}],
25+
+ {EXIT=>1}, {ERR=>"$prog: range '0' was invalid: fields and positions are numbered from 1\n"}],
26+
['field-range-err-4', '--field 3-2 --to=si 10',
27+
- {EXIT=>1}, {ERR=>"$prog: invalid decreasing range\n$try"}],
28+
+ {EXIT=>1}, {ERR=>"$prog: range '3-2' was invalid: high end of range less than low end\n"}],
29+
['field-range-err-6', '--field - --field 1- --to=si 10',
30+
- {EXIT=>1}, {ERR=>"$prog: multiple field specifications\n"}],
31+
+ {EXIT=>1},
32+
+ {ERR_SUBST=>"s/.*//msg"},
33+
+ {ERR=>""}],
34+
['field-range-err-7', '--field -1 --field 1- --to=si 10',
35+
- {EXIT=>1}, {ERR=>"$prog: multiple field specifications\n"}],
36+
+ {EXIT=>1},
37+
+ {ERR_SUBST=>"s/.*//msg"},
38+
+ {ERR=>""}],
39+
['field-range-err-8', '--field -1 --field 1,2,3 --to=si 10',
40+
- {EXIT=>1}, {ERR=>"$prog: multiple field specifications\n"}],
41+
+ {EXIT=>1},
42+
+ {ERR_SUBST=>"s/.*//msg"},
43+
+ {ERR=>""}],
44+
['field-range-err-9', '--field 1- --field 1,2,3 --to=si 10',
45+
- {EXIT=>1}, {ERR=>"$prog: multiple field specifications\n"}],
46+
+ {EXIT=>1},
47+
+ {ERR_SUBST=>"s/.*//msg"},
48+
+ {ERR=>""}],
49+
['field-range-err-10','--field 1,2,3 --field 1- --to=si 10',
50+
- {EXIT=>1}, {ERR=>"$prog: multiple field specifications\n"}],
51+
+ {EXIT=>1},
52+
+ {ERR_SUBST=>"s/.*//msg"},
53+
+ {ERR=>""}],
54+
['field-range-err-11','--field 1-2-3 --to=si 10',
55+
- {EXIT=>1}, {ERR=>"$prog: invalid field range\n$try"}],
56+
+ {EXIT=>1}, {ERR=>"$prog: range '1-2-3' was invalid: failed to parse range\n"}],
57+
['field-range-err-12','--field 0-1 --to=si 10',
58+
- {EXIT=>1}, {ERR=>"$prog: fields are numbered from 1\n$try"}],
59+
+ {EXIT=>1}, {ERR=>"$prog: range '0-1' was invalid: fields and positions are numbered from 1\n"}],
60+
['field-range-err-13','--field '.$limits->{UINTMAX_MAX}.',22 --to=si 10',
61+
- {EXIT=>1}, {ERR=>"$prog: field number " .
62+
- "'".$limits->{UINTMAX_MAX}."' is too large\n$try"}],
63+
+ {EXIT=>1}, {ERR=>"$prog: range '".$limits->{UINTMAX_MAX}."' was invalid: byte/character offset is too large\n"}],
64+
65+
# Auto-consume white-space, setup auto-padding
66+
['whitespace-1', '--to=si --field 2 "A 500 B"', {OUT=>"A 500 B"}],
67+
@@ -706,41 +715,41 @@ my @Tests =
68+
69+
# dev-debug messages - the actual messages don't matter
70+
# just ensure the program works, and for code coverage testing.
71+
- ['devdebug-1', '---debug --from=si 4.9K', {OUT=>"4900"},
72+
+ ['devdebug-1', '--debug --from=si 4.9K', {OUT=>"4900"},
73+
{ERR=>""},
74+
{ERR_SUBST=>"s/.*//msg"}],
75+
- ['devdebug-2', '---debug 4900', {OUT=>"4900"},
76+
+ ['devdebug-2', '--debug 4900', {OUT=>"4900"},
77+
{ERR=>""},
78+
{ERR_SUBST=>"s/.*//msg"}],
79+
- ['devdebug-3', '---debug --from=auto 4Mi', {OUT=>"4194304"},
80+
+ ['devdebug-3', '--debug --from=auto 4Mi', {OUT=>"4194304"},
81+
{ERR=>""},
82+
{ERR_SUBST=>"s/.*//msg"}],
83+
- ['devdebug-4', '---debug --to=si 4000000', {OUT=>"4.0M"},
84+
+ ['devdebug-4', '--debug --to=si 4000000', {OUT=>"4.0M"},
85+
{ERR=>""},
86+
{ERR_SUBST=>"s/.*//msg"}],
87+
- ['devdebug-5', '---debug --to=si --padding=5 4000000', {OUT=>" 4.0M"},
88+
+ ['devdebug-5', '--debug --to=si --padding=5 4000000', {OUT=>" 4.0M"},
89+
{ERR=>""},
90+
{ERR_SUBST=>"s/.*//msg"}],
91+
- ['devdebug-6', '---debug --suffix=Foo 1234Foo', {OUT=>"1234Foo"},
92+
+ ['devdebug-6', '--debug --suffix=Foo 1234Foo', {OUT=>"1234Foo"},
93+
{ERR=>""},
94+
{ERR_SUBST=>"s/.*//msg"}],
95+
- ['devdebug-7', '---debug --suffix=Foo 1234', {OUT=>"1234Foo"},
96+
+ ['devdebug-7', '--debug --suffix=Foo 1234', {OUT=>"1234Foo"},
97+
{ERR=>""},
98+
{ERR_SUBST=>"s/.*//msg"}],
99+
- ['devdebug-9', '---debug --grouping 10000', {OUT=>"10000"},
100+
+ ['devdebug-9', '--debug --grouping 10000', {OUT=>"10000"},
101+
{ERR=>""},
102+
{ERR_SUBST=>"s/.*//msg"}],
103+
- ['devdebug-10', '---debug --format %f 10000', {OUT=>"10000"},
104+
+ ['devdebug-10', '--debug --format %f 10000', {OUT=>"10000"},
105+
{ERR=>""},
106+
{ERR_SUBST=>"s/.*//msg"}],
107+
- ['devdebug-11', '---debug --format "%\'-10f" 10000',{OUT=>"10000 "},
108+
+ ['devdebug-11', '--debug --format "%\'-10f" 10000',{OUT=>"10000 "},
109+
{ERR=>""},
110+
{ERR_SUBST=>"s/.*//msg"}],
111+
112+
# Invalid parameters
113+
['help-1', '--foobar',
114+
- {ERR=>"$prog: unrecognized option\n$try"},
115+
- {ERR_SUBST=>"s/option.*/option/; s/unknown/unrecognized/"},
116+
+ {ERR=>""},
117+
+ {ERR_SUBST=>"s/.*//msg"},
118+
{EXIT=>1}],
119+
120+
## Format string - check error detection
121+
@@ -1097,7 +1106,7 @@ my @Limit_Tests =
122+
{EXIT => 2}],
123+
);
124+
# Restrict these tests to systems with LDBL_DIG == 18
125+
-(system "$prog ---debug 1 2>&1|grep 'MAX_UNSCALED_DIGITS: 18' > /dev/null") == 0
126+
+(system "$prog --debug 1 2>&1|grep 'MAX_UNSCALED_DIGITS: 18' > /dev/null") == 0
127+
and push @Tests, @Limit_Tests;
128+
129+
my $lg = ' ';

0 commit comments

Comments
 (0)