Annotation of /trunk/mkinitrd-magellan/busybox/testsuite/sort.tests
Parent Directory | Revision Log
Revision 984 -
(hide annotations)
(download)
Sun May 30 11:32:42 2010 UTC (14 years ago) by niro
File size: 2586 byte(s)
Sun May 30 11:32:42 2010 UTC (14 years ago) by niro
File size: 2586 byte(s)
-updated to busybox-1.16.1 and enabled blkid/uuid support in default config
1 | niro | 984 | #!/bin/sh |
2 | niro | 532 | |
3 | # SUSv3 compliant sort tests. | ||
4 | # Copyright 2005 by Rob Landley <rob@landley.net> | ||
5 | # Licensed under GPL v2, see file LICENSE for details. | ||
6 | |||
7 | niro | 984 | . ./testing.sh |
8 | niro | 532 | |
9 | # The basic tests. These should work even with the small busybox. | ||
10 | |||
11 | testing "sort" "sort input" "a\nb\nc\n" "c\na\nb\n" "" | ||
12 | testing "sort #2" "sort input" "010\n1\n3\n" "3\n1\n010\n" "" | ||
13 | testing "sort stdin" "sort" "a\nb\nc\n" "" "b\na\nc\n" | ||
14 | testing "sort numeric" "sort -n input" "1\n3\n010\n" "3\n1\n010\n" "" | ||
15 | testing "sort reverse" "sort -r input" "wook\nwalrus\npoint\npabst\naargh\n" \ | ||
16 | "point\nwook\npabst\naargh\nwalrus\n" "" | ||
17 | |||
18 | # These tests require the full option set. | ||
19 | |||
20 | optional FEATURE_SORT_BIG | ||
21 | # Longish chunk of data re-used by the next few tests | ||
22 | |||
23 | data="42 1 3 woot | ||
24 | 42 1 010 zoology | ||
25 | egg 1 2 papyrus | ||
26 | 7 3 42 soup | ||
27 | 999 3 0 algebra | ||
28 | " | ||
29 | |||
30 | niro | 984 | # testing "description" "command(s)" "result" "infile" "stdin" |
31 | |||
32 | niro | 532 | # Sorting with keys |
33 | |||
34 | testing "sort one key" "sort -k4,4 input" \ | ||
35 | "999 3 0 algebra | ||
36 | egg 1 2 papyrus | ||
37 | 7 3 42 soup | ||
38 | 42 1 3 woot | ||
39 | 42 1 010 zoology | ||
40 | " "$data" "" | ||
41 | |||
42 | testing "sort key range with numeric option" "sort -k2,3n input" \ | ||
43 | "42 1 010 zoology | ||
44 | 42 1 3 woot | ||
45 | egg 1 2 papyrus | ||
46 | 7 3 42 soup | ||
47 | 999 3 0 algebra | ||
48 | " "$data" "" | ||
49 | |||
50 | niro | 984 | test x"$SKIP_KNOWN_BUGS" = x"" && { |
51 | # Busybox is definitely doing these wrong. FIXME | ||
52 | niro | 532 | testing "sort key range with numeric option and global reverse" \ |
53 | "sort -k2,3n -r input" \ | ||
54 | "egg 1 2 papyrus | ||
55 | 42 1 3 woot | ||
56 | 42 1 010 zoology | ||
57 | 999 3 0 algebra | ||
58 | 7 3 42 soup | ||
59 | " "$data" "" | ||
60 | |||
61 | testing "sort key range with multiple options" "sort -k2,3rn input" \ | ||
62 | "7 3 42 soup | ||
63 | 999 3 0 algebra | ||
64 | 42 1 010 zoology | ||
65 | 42 1 3 woot | ||
66 | egg 1 2 papyrus | ||
67 | " "$data" "" | ||
68 | niro | 984 | } |
69 | niro | 532 | |
70 | niro | 816 | testing "sort key range with two -k options" "sort -k 2,2n -k 1,1r input" "\ |
71 | d 2 | ||
72 | b 2 | ||
73 | c 3 | ||
74 | " "\ | ||
75 | c 3 | ||
76 | b 2 | ||
77 | d 2 | ||
78 | " "" | ||
79 | |||
80 | niro | 532 | testing "sort with non-default leading delim 1" "sort -n -k2 -t/ input" "\ |
81 | /a/2 | ||
82 | /b/1 | ||
83 | " "\ | ||
84 | /a/2 | ||
85 | /b/1 | ||
86 | " "" | ||
87 | |||
88 | testing "sort with non-default leading delim 2" "sort -n -k3 -t/ input" "\ | ||
89 | /b/1 | ||
90 | /a/2 | ||
91 | " "\ | ||
92 | /b/1 | ||
93 | /a/2 | ||
94 | " "" | ||
95 | |||
96 | testing "sort with non-default leading delim 3" "sort -n -k3 -t/ input" "\ | ||
97 | //a/2 | ||
98 | //b/1 | ||
99 | " "\ | ||
100 | //a/2 | ||
101 | //b/1 | ||
102 | " "" | ||
103 | |||
104 | testing "sort -u should consider field only when discarding" "sort -u -k2 input" "\ | ||
105 | a c | ||
106 | " "\ | ||
107 | a c | ||
108 | b c | ||
109 | " "" | ||
110 | |||
111 | niro | 816 | testing "sort -z outputs NUL terminated lines" "sort -z input" "\ |
112 | one\0three\0two\0\ | ||
113 | " "\ | ||
114 | one\0two\0three\0\ | ||
115 | " "" | ||
116 | |||
117 | niro | 532 | testing "sort key doesn't strip leading blanks, disables fallback global sort" \ |
118 | "sort -n -k2 -t ' '" " a \n 1 \n 2 \n" "" " 2 \n 1 \n a \n" | ||
119 | |||
120 | niro | 984 | testing "sort file in place" \ |
121 | "strace -oZZZ sort -o input input && cat input" "\ | ||
122 | 111 | ||
123 | 222 | ||
124 | " "\ | ||
125 | 222 | ||
126 | 111 | ||
127 | " "" | ||
128 | |||
129 | # testing "description" "command(s)" "result" "infile" "stdin" | ||
130 | |||
131 | niro | 532 | exit $FAILCOUNT |
Properties
Name | Value |
---|---|
svn:executable | * |