Contents of /trunk/mkinitrd-magellan/busybox/testsuite/sort.tests
Parent Directory | Revision Log
Revision 1123 -
(show annotations)
(download)
Wed Aug 18 21:56:57 2010 UTC (14 years, 1 month ago) by niro
File size: 2573 byte(s)
Wed Aug 18 21:56:57 2010 UTC (14 years, 1 month ago) by niro
File size: 2573 byte(s)
-updated to busybox-1.17.1
1 | #!/bin/sh |
2 | |
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 | . ./testing.sh |
8 | |
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 | # testing "description" "command(s)" "result" "infile" "stdin" |
31 | |
32 | # 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 | test x"$SKIP_KNOWN_BUGS" = x"" && { |
51 | # Busybox is definitely doing these wrong. FIXME |
52 | 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 | } |
69 | |
70 | 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 | 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 | testing "sort -z outputs NUL terminated lines" "sort -z input" "\ |
112 | one\0three\0two\0\ |
113 | " "\ |
114 | one\0two\0three\0\ |
115 | " "" |
116 | |
117 | 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 | testing "sort file in place" \ |
121 | "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 | exit $FAILCOUNT |
Properties
Name | Value |
---|---|
svn:executable | * |