Contents of /tags/mkinitrd-6_1_10/busybox/testsuite/sort.tests
Parent Directory | Revision Log
Revision 922 -
(show annotations)
(download)
Wed Oct 28 09:51:31 2009 UTC (14 years, 11 months ago) by niro
File size: 2327 byte(s)
Wed Oct 28 09:51:31 2009 UTC (14 years, 11 months ago) by niro
File size: 2327 byte(s)
tagged 'mkinitrd-6_1_10'
1 | #!/bin/bash |
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 | # Sorting with keys |
31 | |
32 | testing "sort one key" "sort -k4,4 input" \ |
33 | "999 3 0 algebra |
34 | egg 1 2 papyrus |
35 | 7 3 42 soup |
36 | 42 1 3 woot |
37 | 42 1 010 zoology |
38 | " "$data" "" |
39 | |
40 | testing "sort key range with numeric option" "sort -k2,3n input" \ |
41 | "42 1 010 zoology |
42 | 42 1 3 woot |
43 | egg 1 2 papyrus |
44 | 7 3 42 soup |
45 | 999 3 0 algebra |
46 | " "$data" "" |
47 | |
48 | # Busybox is definitely doing this one wrong just now. FIXME |
49 | |
50 | testing "sort key range with numeric option and global reverse" \ |
51 | "sort -k2,3n -r input" \ |
52 | "egg 1 2 papyrus |
53 | 42 1 3 woot |
54 | 42 1 010 zoology |
55 | 999 3 0 algebra |
56 | 7 3 42 soup |
57 | " "$data" "" |
58 | |
59 | # |
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 | testing "sort key range with two -k options" "sort -k 2,2n -k 1,1r input" "\ |
70 | d 2 |
71 | b 2 |
72 | c 3 |
73 | " "\ |
74 | c 3 |
75 | b 2 |
76 | d 2 |
77 | " "" |
78 | |
79 | testing "sort with non-default leading delim 1" "sort -n -k2 -t/ input" "\ |
80 | /a/2 |
81 | /b/1 |
82 | " "\ |
83 | /a/2 |
84 | /b/1 |
85 | " "" |
86 | |
87 | testing "sort with non-default leading delim 2" "sort -n -k3 -t/ input" "\ |
88 | /b/1 |
89 | /a/2 |
90 | " "\ |
91 | /b/1 |
92 | /a/2 |
93 | " "" |
94 | |
95 | testing "sort with non-default leading delim 3" "sort -n -k3 -t/ input" "\ |
96 | //a/2 |
97 | //b/1 |
98 | " "\ |
99 | //a/2 |
100 | //b/1 |
101 | " "" |
102 | |
103 | testing "sort -u should consider field only when discarding" "sort -u -k2 input" "\ |
104 | a c |
105 | " "\ |
106 | a c |
107 | b c |
108 | " "" |
109 | |
110 | testing "sort -z outputs NUL terminated lines" "sort -z input" "\ |
111 | one\0three\0two\0\ |
112 | " "\ |
113 | one\0two\0three\0\ |
114 | " "" |
115 | |
116 | testing "sort key doesn't strip leading blanks, disables fallback global sort" \ |
117 | "sort -n -k2 -t ' '" " a \n 1 \n 2 \n" "" " 2 \n 1 \n a \n" |
118 | |
119 | exit $FAILCOUNT |
Properties
Name | Value |
---|---|
svn:executable | * |