Magellan Linux

Annotation of /tags/mkinitrd-6_3_1/busybox/testsuite/ls.tests

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1143 - (hide annotations) (download)
Thu Aug 19 12:44:27 2010 UTC (13 years, 10 months ago) by niro
File size: 18000 byte(s)
tagged 'mkinitrd-6_3_1'
1 niro 1123 #!/bin/sh
2     # Copyright 2010 by Denys Vlasenko
3     # Licensed under GPL v2, see file LICENSE for details.
4    
5     . ./testing.sh
6     test -f "$bindir/.config" && . "$bindir/.config"
7    
8     rm -rf ls.testdir 2>/dev/null
9     mkdir ls.testdir || exit 1
10    
11     # testing "test name" "command" "expected result" "file input" "stdin"
12    
13     # With Unicode provided by libc locale, I'm not sure this test can pass.
14     # I suspect we might fail to skip exactly correct number of bytes
15     # over broked unicode sequences.
16     test x"$CONFIG_UNICODE_SUPPORT" = x"y" \
17     && test x"$CONFIG_UNICODE_USING_LOCALE" != x"y" \
18     && test x"$CONFIG_SUBST_WCHAR" = x"63" \
19     && test x"$CONFIG_LAST_SUPPORTED_WCHAR" = x"767" \
20     && test x"$CONFIG_FEATURE_LS_SORTFILES" = x"y" \
21     && testing "ls unicode test with codepoints limited to 767" \
22     "(cd ls.testdir && sh ../ls.mk_uni_tests) && ls -1 ls.testdir" \
23     '0001_1__Some_correct_UTF-8_text___________________________________________|
24     0002_2__Boundary_condition_test_cases_____________________________________|
25     0003_2.1__First_possible_sequence_of_a_certain_length_____________________|
26     0004_2.1.2__2_bytes__U-00000080_:________"?"______________________________|
27     0005_2.1.3__3_bytes__U-00000800_:________"?"______________________________|
28     0006_2.1.4__4_bytes__U-00010000_:________"?"______________________________|
29     0007_2.1.5__5_bytes__U-00200000_:________"?"______________________________|
30     0008_2.1.6__6_bytes__U-04000000_:________"?"______________________________|
31     0009_2.2__Last_possible_sequence_of_a_certain_length______________________|
32     0010_2.2.1__1_byte___U-0000007F_:________"?"______________________________|
33     0011_2.2.2__2_bytes__U-000007FF_:________"?"______________________________|
34     0012_2.2.3__3_bytes__U-0000FFFF_:________"?"______________________________|
35     0013_2.2.4__4_bytes__U-001FFFFF_:________"?"______________________________|
36     0014_2.2.5__5_bytes__U-03FFFFFF_:________"?"______________________________|
37     0015_2.2.6__6_bytes__U-7FFFFFFF_:________"?"______________________________|
38     0016_2.3__Other_boundary_conditions_______________________________________|
39     0017_2.3.1__U-0000D7FF_=_ed_9f_bf_=_"?"___________________________________|
40     0018_2.3.2__U-0000E000_=_ee_80_80_=_"?"___________________________________|
41     0019_2.3.3__U-0000FFFD_=_ef_bf_bd_=_"?"___________________________________|
42     0020_2.3.4__U-0010FFFF_=_f4_8f_bf_bf_=_"?"________________________________|
43     0021_2.3.5__U-00110000_=_f4_90_80_80_=_"?"________________________________|
44     0022_3__Malformed_sequences_______________________________________________|
45     0023_3.1__Unexpected_continuation_bytes___________________________________|
46     0024_3.1.1__First_continuation_byte_0x80:_"?"_____________________________|
47     0025_3.1.2__Last__continuation_byte_0xbf:_"?"_____________________________|
48     0026_3.1.3__2_continuation_bytes:_"??"____________________________________|
49     0027_3.1.4__3_continuation_bytes:_"???"___________________________________|
50     0028_3.1.5__4_continuation_bytes:_"????"__________________________________|
51     0029_3.1.6__5_continuation_bytes:_"?????"_________________________________|
52     0030_3.1.7__6_continuation_bytes:_"??????"________________________________|
53     0031_3.1.8__7_continuation_bytes:_"???????"_______________________________|
54     0032_3.1.9__Sequence_of_all_64_possible_continuation_bytes__0x80-0xbf_:___|
55     0033____"????????????????_________________________________________________|
56     0034_____????????????????_________________________________________________|
57     0035_____????????????????_________________________________________________|
58     0036_____????????????????"________________________________________________|
59     0037_3.2__Lonely_start_characters_________________________________________|
60     0038_3.2.1__All_32_first_bytes_of_2-byte_sequences__0xc0-0xdf_,___________|
61     0039________each_followed_by_a_space_character:___________________________|
62     0040____"?_?_?_?_?_?_?_?_?_?_?_?_?_?_?_?__________________________________|
63     0041_____?_?_?_?_?_?_?_?_?_?_?_?_?_?_?_?_"________________________________|
64     0042_3.2.2__All_16_first_bytes_of_3-byte_sequences__0xe0-0xef_,___________|
65     0043________each_followed_by_a_space_character:___________________________|
66     0044____"?_?_?_?_?_?_?_?_?_?_?_?_?_?_?_?_"________________________________|
67     0045_3.2.3__All_8_first_bytes_of_4-byte_sequences__0xf0-0xf7_,____________|
68     0046________each_followed_by_a_space_character:___________________________|
69     0047____"?_?_?_?_?_?_?_?_"________________________________________________|
70     0048_3.2.4__All_4_first_bytes_of_5-byte_sequences__0xf8-0xfb_,____________|
71     0049________each_followed_by_a_space_character:___________________________|
72     0050____"?_?_?_?_"________________________________________________________|
73     0051_3.2.5__All_2_first_bytes_of_6-byte_sequences__0xfc-0xfd_,____________|
74     0052________each_followed_by_a_space_character:___________________________|
75     0053____"?_?_"____________________________________________________________|
76     0054_3.3__Sequences_with_last_continuation_byte_missing___________________|
77     0055_3.3.1__2-byte_sequence_with_last_byte_missing__U+0000_:_____"?"______|
78     0056_3.3.2__3-byte_sequence_with_last_byte_missing__U+0000_:_____"?"______|
79     0057_3.3.3__4-byte_sequence_with_last_byte_missing__U+0000_:_____"?"______|
80     0058_3.3.4__5-byte_sequence_with_last_byte_missing__U+0000_:_____"?"______|
81     0059_3.3.5__6-byte_sequence_with_last_byte_missing__U+0000_:_____"?"______|
82     0060_3.3.6__2-byte_sequence_with_last_byte_missing__U-000007FF_:_"?"______|
83     0061_3.3.7__3-byte_sequence_with_last_byte_missing__U-0000FFFF_:_"?"______|
84     0062_3.3.8__4-byte_sequence_with_last_byte_missing__U-001FFFFF_:_"?"______|
85     0063_3.3.9__5-byte_sequence_with_last_byte_missing__U-03FFFFFF_:_"?"______|
86     0064_3.3.10_6-byte_sequence_with_last_byte_missing__U-7FFFFFFF_:_"?"______|
87     0065_3.4__Concatenation_of_incomplete_sequences___________________________|
88     0066____"??????????"______________________________________________________|
89     0067_3.5__Impossible_bytes________________________________________________|
90     0068_3.5.1__fe_=_"?"______________________________________________________|
91     0069_3.5.2__ff_=_"?"______________________________________________________|
92     0070_3.5.3__fe_fe_ff_ff_=_"????"__________________________________________|
93     0071_4__Overlong_sequences________________________________________________|
94     0072_4.1__Examples_of_an_overlong_ASCII_character_________________________|
95     0073_4.1.1_U+002F_=_c0_af_____________=_"?"_______________________________|
96     0074_4.1.2_U+002F_=_e0_80_af__________=_"?"_______________________________|
97     0075_4.1.3_U+002F_=_f0_80_80_af_______=_"?"_______________________________|
98     0076_4.1.4_U+002F_=_f8_80_80_80_af____=_"?"_______________________________|
99     0077_4.1.5_U+002F_=_fc_80_80_80_80_af_=_"?"_______________________________|
100     0078_4.2__Maximum_overlong_sequences______________________________________|
101     0079_4.2.1__U-0000007F_=_c1_bf_____________=_"?"__________________________|
102     0080_4.2.2__U-000007FF_=_e0_9f_bf__________=_"?"__________________________|
103     0081_4.2.3__U-0000FFFF_=_f0_8f_bf_bf_______=_"?"__________________________|
104     0082_4.2.4__U-001FFFFF_=_f8_87_bf_bf_bf____=_"?"__________________________|
105     0083_4.2.5__U-03FFFFFF_=_fc_83_bf_bf_bf_bf_=_"?"__________________________|
106     0084_4.3__Overlong_representation_of_the_NUL_character____________________|
107     0085_4.3.1__U+0000_=_c0_80_____________=_"?"______________________________|
108     0086_4.3.2__U+0000_=_e0_80_80__________=_"?"______________________________|
109     0087_4.3.3__U+0000_=_f0_80_80_80_______=_"?"______________________________|
110     0088_4.3.4__U+0000_=_f8_80_80_80_80____=_"?"______________________________|
111     0089_4.3.5__U+0000_=_fc_80_80_80_80_80_=_"?"______________________________|
112     0090_5__Illegal_code_positions____________________________________________|
113     0091_5.1_Single_UTF-16_surrogates_________________________________________|
114     0092_5.1.1__U+D800_=_ed_a0_80_=_"?"_______________________________________|
115     0093_5.1.2__U+DB7F_=_ed_ad_bf_=_"?"_______________________________________|
116     0094_5.1.3__U+DB80_=_ed_ae_80_=_"?"_______________________________________|
117     0095_5.1.4__U+DBFF_=_ed_af_bf_=_"?"_______________________________________|
118     0096_5.1.5__U+DC00_=_ed_b0_80_=_"?"_______________________________________|
119     0097_5.1.6__U+DF80_=_ed_be_80_=_"?"_______________________________________|
120     0098_5.1.7__U+DFFF_=_ed_bf_bf_=_"?"_______________________________________|
121     0099_5.2_Paired_UTF-16_surrogates_________________________________________|
122     0100_5.2.1__U+D800_U+DC00_=_ed_a0_80_ed_b0_80_=_"??"______________________|
123     0101_5.2.2__U+D800_U+DFFF_=_ed_a0_80_ed_bf_bf_=_"??"______________________|
124     0102_5.2.3__U+DB7F_U+DC00_=_ed_ad_bf_ed_b0_80_=_"??"______________________|
125     0103_5.2.4__U+DB7F_U+DFFF_=_ed_ad_bf_ed_bf_bf_=_"??"______________________|
126     0104_5.2.5__U+DB80_U+DC00_=_ed_ae_80_ed_b0_80_=_"??"______________________|
127     0105_5.2.6__U+DB80_U+DFFF_=_ed_ae_80_ed_bf_bf_=_"??"______________________|
128     0106_5.2.7__U+DBFF_U+DC00_=_ed_af_bf_ed_b0_80_=_"??"______________________|
129     0107_5.2.8__U+DBFF_U+DFFF_=_ed_af_bf_ed_bf_bf_=_"??"______________________|
130     0108_5.3_Other_illegal_code_positions_____________________________________|
131     0109_5.3.1__U+FFFE_=_ef_bf_be_=_"?"_______________________________________|
132     0110_5.3.2__U+FFFF_=_ef_bf_bf_=_"?"_______________________________________|
133     ' "" ""
134    
135     # Currently fails on "0080_4.2.2__U-000007FF_=_e0_9f_bf" line
136     test x"$CONFIG_UNICODE_SUPPORT" = x"y" \
137     && test x"$CONFIG_UNICODE_USING_LOCALE" != x"y" \
138     && test x"$CONFIG_SUBST_WCHAR" = x"63" \
139     && test x"$CONFIG_LAST_SUPPORTED_WCHAR" = x"0" \
140     && testing "ls unicode test with unlimited codepoints" \
141     "(cd ls.testdir && sh ../ls.mk_uni_tests) && ls -1 ls.testdir" \
142     '0001_1__Some_correct_UTF-8_text___________________________________________|
143     0002_2__Boundary_condition_test_cases_____________________________________|
144     0003_2.1__First_possible_sequence_of_a_certain_length_____________________|
145     0004_2.1.2__2_bytes__U-00000080_:________"?"______________________________|
146     0005_2.1.3__3_bytes__U-00000800_:________"ࠀ"______________________________|
147     0006_2.1.4__4_bytes__U-00010000_:________"𐀀"______________________________|
148     0007_2.1.5__5_bytes__U-00200000_:________"?"______________________________|
149     0008_2.1.6__6_bytes__U-04000000_:________"?"______________________________|
150     0009_2.2__Last_possible_sequence_of_a_certain_length______________________|
151     0010_2.2.1__1_byte___U-0000007F_:________"?"______________________________|
152     0011_2.2.2__2_bytes__U-000007FF_:________"߿"______________________________|
153     0012_2.2.3__3_bytes__U-0000FFFF_:________"?"______________________________|
154     0013_2.2.4__4_bytes__U-001FFFFF_:________"?"______________________________|
155     0014_2.2.5__5_bytes__U-03FFFFFF_:________"?"______________________________|
156     0015_2.2.6__6_bytes__U-7FFFFFFF_:________"?"______________________________|
157     0016_2.3__Other_boundary_conditions_______________________________________|
158     0017_2.3.1__U-0000D7FF_=_ed_9f_bf_=_"퟿"___________________________________|
159     0018_2.3.2__U-0000E000_=_ee_80_80_=_"?"___________________________________|
160     0019_2.3.3__U-0000FFFD_=_ef_bf_bd_=_"�"___________________________________|
161     0020_2.3.4__U-0010FFFF_=_f4_8f_bf_bf_=_"?"________________________________|
162     0021_2.3.5__U-00110000_=_f4_90_80_80_=_"?"________________________________|
163     0022_3__Malformed_sequences_______________________________________________|
164     0023_3.1__Unexpected_continuation_bytes___________________________________|
165     0024_3.1.1__First_continuation_byte_0x80:_"?"_____________________________|
166     0025_3.1.2__Last__continuation_byte_0xbf:_"?"_____________________________|
167     0026_3.1.3__2_continuation_bytes:_"??"____________________________________|
168     0027_3.1.4__3_continuation_bytes:_"???"___________________________________|
169     0028_3.1.5__4_continuation_bytes:_"????"__________________________________|
170     0029_3.1.6__5_continuation_bytes:_"?????"_________________________________|
171     0030_3.1.7__6_continuation_bytes:_"??????"________________________________|
172     0031_3.1.8__7_continuation_bytes:_"???????"_______________________________|
173     0032_3.1.9__Sequence_of_all_64_possible_continuation_bytes__0x80-0xbf_:___|
174     0033____"????????????????_________________________________________________|
175     0034_____????????????????_________________________________________________|
176     0035_____????????????????_________________________________________________|
177     0036_____????????????????"________________________________________________|
178     0037_3.2__Lonely_start_characters_________________________________________|
179     0038_3.2.1__All_32_first_bytes_of_2-byte_sequences__0xc0-0xdf_,___________|
180     0039________each_followed_by_a_space_character:___________________________|
181     0040____"?_?_?_?_?_?_?_?_?_?_?_?_?_?_?_?__________________________________|
182     0041_____?_?_?_?_?_?_?_?_?_?_?_?_?_?_?_?_"________________________________|
183     0042_3.2.2__All_16_first_bytes_of_3-byte_sequences__0xe0-0xef_,___________|
184     0043________each_followed_by_a_space_character:___________________________|
185     0044____"?_?_?_?_?_?_?_?_?_?_?_?_?_?_?_?_"________________________________|
186     0045_3.2.3__All_8_first_bytes_of_4-byte_sequences__0xf0-0xf7_,____________|
187     0046________each_followed_by_a_space_character:___________________________|
188     0047____"?_?_?_?_?_?_?_?_"________________________________________________|
189     0048_3.2.4__All_4_first_bytes_of_5-byte_sequences__0xf8-0xfb_,____________|
190     0049________each_followed_by_a_space_character:___________________________|
191     0050____"?_?_?_?_"________________________________________________________|
192     0051_3.2.5__All_2_first_bytes_of_6-byte_sequences__0xfc-0xfd_,____________|
193     0052________each_followed_by_a_space_character:___________________________|
194     0053____"?_?_"____________________________________________________________|
195     0054_3.3__Sequences_with_last_continuation_byte_missing___________________|
196     0055_3.3.1__2-byte_sequence_with_last_byte_missing__U+0000_:_____"?"______|
197     0056_3.3.2__3-byte_sequence_with_last_byte_missing__U+0000_:_____"?"______|
198     0057_3.3.3__4-byte_sequence_with_last_byte_missing__U+0000_:_____"?"______|
199     0058_3.3.4__5-byte_sequence_with_last_byte_missing__U+0000_:_____"?"______|
200     0059_3.3.5__6-byte_sequence_with_last_byte_missing__U+0000_:_____"?"______|
201     0060_3.3.6__2-byte_sequence_with_last_byte_missing__U-000007FF_:_"?"______|
202     0061_3.3.7__3-byte_sequence_with_last_byte_missing__U-0000FFFF_:_"?"______|
203     0062_3.3.8__4-byte_sequence_with_last_byte_missing__U-001FFFFF_:_"?"______|
204     0063_3.3.9__5-byte_sequence_with_last_byte_missing__U-03FFFFFF_:_"?"______|
205     0064_3.3.10_6-byte_sequence_with_last_byte_missing__U-7FFFFFFF_:_"?"______|
206     0065_3.4__Concatenation_of_incomplete_sequences___________________________|
207     0066____"??????????"______________________________________________________|
208     0067_3.5__Impossible_bytes________________________________________________|
209     0068_3.5.1__fe_=_"?"______________________________________________________|
210     0069_3.5.2__ff_=_"?"______________________________________________________|
211     0070_3.5.3__fe_fe_ff_ff_=_"????"__________________________________________|
212     0071_4__Overlong_sequences________________________________________________|
213     0072_4.1__Examples_of_an_overlong_ASCII_character_________________________|
214     0073_4.1.1_U+002F_=_c0_af_____________=_"?"_______________________________|
215     0074_4.1.2_U+002F_=_e0_80_af__________=_"?"_______________________________|
216     0075_4.1.3_U+002F_=_f0_80_80_af_______=_"?"_______________________________|
217     0076_4.1.4_U+002F_=_f8_80_80_80_af____=_"?"_______________________________|
218     0077_4.1.5_U+002F_=_fc_80_80_80_80_af_=_"?"_______________________________|
219     0078_4.2__Maximum_overlong_sequences______________________________________|
220     0079_4.2.1__U-0000007F_=_c1_bf_____________=_"?"__________________________|
221     0080_4.2.2__U-000007FF_=_e0_9f_bf__________=_"?"__________________________|
222     0081_4.2.3__U-0000FFFF_=_f0_8f_bf_bf_______=_"?"__________________________|
223     0082_4.2.4__U-001FFFFF_=_f8_87_bf_bf_bf____=_"?"__________________________|
224     0083_4.2.5__U-03FFFFFF_=_fc_83_bf_bf_bf_bf_=_"?"__________________________|
225     0084_4.3__Overlong_representation_of_the_NUL_character____________________|
226     0085_4.3.1__U+0000_=_c0_80_____________=_"?"______________________________|
227     0086_4.3.2__U+0000_=_e0_80_80__________=_"?"______________________________|
228     0087_4.3.3__U+0000_=_f0_80_80_80_______=_"?"______________________________|
229     0088_4.3.4__U+0000_=_f8_80_80_80_80____=_"?"______________________________|
230     0089_4.3.5__U+0000_=_fc_80_80_80_80_80_=_"?"______________________________|
231     0090_5__Illegal_code_positions____________________________________________|
232     0091_5.1_Single_UTF-16_surrogates_________________________________________|
233     0092_5.1.1__U+D800_=_ed_a0_80_=_"?"_______________________________________|
234     0093_5.1.2__U+DB7F_=_ed_ad_bf_=_"?"_______________________________________|
235     0094_5.1.3__U+DB80_=_ed_ae_80_=_"?"_______________________________________|
236     0095_5.1.4__U+DBFF_=_ed_af_bf_=_"?"_______________________________________|
237     0096_5.1.5__U+DC00_=_ed_b0_80_=_"?"_______________________________________|
238     0097_5.1.6__U+DF80_=_ed_be_80_=_"?"_______________________________________|
239     0098_5.1.7__U+DFFF_=_ed_bf_bf_=_"?"_______________________________________|
240     0099_5.2_Paired_UTF-16_surrogates_________________________________________|
241     0100_5.2.1__U+D800_U+DC00_=_ed_a0_80_ed_b0_80_=_"??"______________________|
242     0101_5.2.2__U+D800_U+DFFF_=_ed_a0_80_ed_bf_bf_=_"??"______________________|
243     0102_5.2.3__U+DB7F_U+DC00_=_ed_ad_bf_ed_b0_80_=_"??"______________________|
244     0103_5.2.4__U+DB7F_U+DFFF_=_ed_ad_bf_ed_bf_bf_=_"??"______________________|
245     0104_5.2.5__U+DB80_U+DC00_=_ed_ae_80_ed_b0_80_=_"??"______________________|
246     0105_5.2.6__U+DB80_U+DFFF_=_ed_ae_80_ed_bf_bf_=_"??"______________________|
247     0106_5.2.7__U+DBFF_U+DC00_=_ed_af_bf_ed_b0_80_=_"??"______________________|
248     0107_5.2.8__U+DBFF_U+DFFF_=_ed_af_bf_ed_bf_bf_=_"??"______________________|
249     0108_5.3_Other_illegal_code_positions_____________________________________|
250     0109_5.3.1__U+FFFE_=_ef_bf_be_=_"?"_______________________________________|
251     0110_5.3.2__U+FFFF_=_ef_bf_bf_=_"?"_______________________________________|
252     ' "" ""
253    
254     # Clean up
255     rm -rf ls.testdir 2>/dev/null
256    
257     exit $FAILCOUNT