Contents of /trunk/mkinitrd-magellan/busybox/testsuite/mdev.tests
Parent Directory | Revision Log
Revision 1124 -
(show annotations)
(download)
Wed Aug 18 21:59:47 2010 UTC (14 years, 1 month ago) by niro
File size: 7857 byte(s)
Wed Aug 18 21:59:47 2010 UTC (14 years, 1 month ago) by niro
File size: 7857 byte(s)
-added upstream mdev patch
1 | #!/bin/sh |
2 | # Copyright 2008 by Denys Vlasenko |
3 | # Licensed under GPL v2, see file LICENSE for details. |
4 | |
5 | . ./testing.sh |
6 | |
7 | # ls -ln is showing date. Need to remove that, it's variable |
8 | # sed: (1) "maj, min" -> "maj,min" (2) coalesce spaces |
9 | # cut: remove date |
10 | FILTER_LS="grep -v '^total ' | sed -e 's/, */,/g' -e 's/ */ /g' | cut -d' ' -f 1-5,9-" |
11 | # cut: remove size+date |
12 | FILTER_LS2="grep -v '^total ' | sed -e 's/, */,/g' -e 's/ */ /g' | cut -d' ' -f 1-4,9-" |
13 | |
14 | # testing "test name" "options" "expected result" "file input" "stdin" |
15 | |
16 | rm -rf mdev.testdir |
17 | mkdir mdev.testdir |
18 | # We need mdev executable to be in chroot jail! |
19 | # (will still fail with dynamically linked one, though...) |
20 | cp ../busybox mdev.testdir/mdev |
21 | mkdir mdev.testdir/bin |
22 | cp ../busybox mdev.testdir/bin/sh 2>/dev/null # for testing cmd feature |
23 | mkdir mdev.testdir/etc |
24 | mkdir mdev.testdir/dev |
25 | mkdir -p mdev.testdir/sys/block/sda |
26 | echo "8:0" >mdev.testdir/sys/block/sda/dev |
27 | |
28 | # env - PATH=$PATH: on some systems chroot binary won't otherwise be found |
29 | |
30 | optional STATIC FEATURE_LS_TIMESTAMPS FEATURE_LS_USERNAME |
31 | testing "mdev add /block/sda" \ |
32 | "env - PATH=$PATH ACTION=add DEVPATH=/block/sda chroot mdev.testdir /mdev 2>&1; |
33 | ls -ln mdev.testdir/dev | $FILTER_LS" \ |
34 | "\ |
35 | brw-rw---- 1 0 0 8,0 sda |
36 | " \ |
37 | "" "" |
38 | SKIP= |
39 | |
40 | # continuing to use directory structure from prev test |
41 | optional STATIC FEATURE_MDEV_CONF FEATURE_LS_TIMESTAMPS FEATURE_LS_USERNAME |
42 | testing "mdev deletes /block/sda" \ |
43 | "env - PATH=$PATH ACTION=remove DEVPATH=/block/sda chroot mdev.testdir /mdev 2>&1; |
44 | ls -ln mdev.testdir/dev | $FILTER_LS" \ |
45 | "\ |
46 | " \ |
47 | "" "" |
48 | SKIP= |
49 | |
50 | # continuing to use directory structure from prev test |
51 | rm -rf mdev.testdir/dev/* |
52 | echo ".* 1:1 666" >mdev.testdir/etc/mdev.conf |
53 | echo "sda 2:2 444" >>mdev.testdir/etc/mdev.conf |
54 | optional STATIC FEATURE_MDEV_CONF FEATURE_LS_TIMESTAMPS FEATURE_LS_USERNAME |
55 | testing "mdev stops on first rule" \ |
56 | "env - PATH=$PATH ACTION=add DEVPATH=/block/sda chroot mdev.testdir /mdev 2>&1; |
57 | ls -ln mdev.testdir/dev | $FILTER_LS" \ |
58 | "\ |
59 | brw-rw-rw- 1 1 1 8,0 sda |
60 | " \ |
61 | "" "" |
62 | SKIP= |
63 | |
64 | # continuing to use directory structure from prev test |
65 | rm -rf mdev.testdir/dev/* |
66 | echo "-.* 1:1 666" >mdev.testdir/etc/mdev.conf |
67 | echo "sda 2:2 444" >>mdev.testdir/etc/mdev.conf |
68 | optional STATIC FEATURE_MDEV_CONF FEATURE_LS_TIMESTAMPS FEATURE_LS_USERNAME |
69 | testing "mdev does not stop on dash-rule" \ |
70 | "env - PATH=$PATH ACTION=add DEVPATH=/block/sda chroot mdev.testdir /mdev 2>&1; |
71 | ls -ln mdev.testdir/dev | $FILTER_LS" \ |
72 | "\ |
73 | br--r--r-- 1 2 2 8,0 sda |
74 | " \ |
75 | "" "" |
76 | SKIP= |
77 | |
78 | # continuing to use directory structure from prev test |
79 | rm -rf mdev.testdir/dev/* |
80 | echo "\$MODALIAS=qw 1:1 666" >mdev.testdir/etc/mdev.conf |
81 | echo "\$MODALIAS=qw. 2:2 444" >>mdev.testdir/etc/mdev.conf |
82 | echo "\$MODALIAS=qw. 3:3 400" >>mdev.testdir/etc/mdev.conf |
83 | optional STATIC FEATURE_MDEV_CONF FEATURE_LS_TIMESTAMPS FEATURE_LS_USERNAME |
84 | testing "mdev \$ENVVAR=regex match" \ |
85 | "env - PATH=$PATH ACTION=add DEVPATH=/block/sda MODALIAS=qwe chroot mdev.testdir /mdev 2>&1; |
86 | ls -ln mdev.testdir/dev | $FILTER_LS" \ |
87 | "\ |
88 | br--r--r-- 1 2 2 8,0 sda |
89 | " \ |
90 | "" "" |
91 | SKIP= |
92 | |
93 | # continuing to use directory structure from prev test |
94 | rm -rf mdev.testdir/dev/* |
95 | echo "sda 0:0 444 >disk/scsiA" >mdev.testdir/etc/mdev.conf |
96 | optional STATIC FEATURE_MDEV_CONF FEATURE_MDEV_RENAME FEATURE_LS_RECURSIVE FEATURE_LS_TIMESTAMPS FEATURE_LS_USERNAME |
97 | testing "mdev move/symlink rule '>bar/baz'" \ |
98 | "env - PATH=$PATH ACTION=add DEVPATH=/block/sda chroot mdev.testdir /mdev 2>&1; |
99 | ls -lnR mdev.testdir/dev | $FILTER_LS2" \ |
100 | "\ |
101 | mdev.testdir/dev: |
102 | drwxr-xr-x 2 0 0 disk |
103 | lrwxrwxrwx 1 0 0 sda -> disk/scsiA |
104 | |
105 | mdev.testdir/dev/disk: |
106 | br--r--r-- 1 0 0 scsiA |
107 | " \ |
108 | "" "" |
109 | SKIP= |
110 | |
111 | # continuing to use directory structure from prev test |
112 | rm -rf mdev.testdir/dev/* |
113 | echo "sda 0:0 444 >disk/" >mdev.testdir/etc/mdev.conf |
114 | optional STATIC FEATURE_MDEV_CONF FEATURE_MDEV_RENAME FEATURE_LS_RECURSIVE FEATURE_LS_TIMESTAMPS FEATURE_LS_USERNAME |
115 | testing "mdev move/symlink rule '>bar/'" \ |
116 | "env - PATH=$PATH ACTION=add DEVPATH=/block/sda chroot mdev.testdir /mdev 2>&1; |
117 | ls -lnR mdev.testdir/dev | $FILTER_LS2" \ |
118 | "\ |
119 | mdev.testdir/dev: |
120 | drwxr-xr-x 2 0 0 disk |
121 | lrwxrwxrwx 1 0 0 sda -> disk/sda |
122 | |
123 | mdev.testdir/dev/disk: |
124 | br--r--r-- 1 0 0 sda |
125 | " \ |
126 | "" "" |
127 | SKIP= |
128 | |
129 | # continuing to use directory structure from prev test |
130 | rm -rf mdev.testdir/dev/* |
131 | # here we complicate things by having non-matching group 1 and using %0 |
132 | echo "s([0-9])*d([a-z]+) 0:0 644 >sd/%2_%0" >mdev.testdir/etc/mdev.conf |
133 | optional STATIC FEATURE_MDEV_CONF FEATURE_MDEV_RENAME FEATURE_MDEV_RENAME_REGEXP FEATURE_LS_RECURSIVE FEATURE_LS_TIMESTAMPS FEATURE_LS_USERNAME FEATURE_LS_SORTFILES |
134 | testing "mdev regexp substring match + replace" \ |
135 | "env - PATH=$PATH ACTION=add DEVPATH=/block/sda chroot mdev.testdir /mdev 2>&1; |
136 | ls -lnR mdev.testdir/dev | $FILTER_LS2" \ |
137 | "\ |
138 | mdev.testdir/dev: |
139 | drwxr-xr-x 2 0 0 sd |
140 | lrwxrwxrwx 1 0 0 sda -> sd/a_sda |
141 | |
142 | mdev.testdir/dev/sd: |
143 | brw-r--r-- 1 0 0 a_sda |
144 | " \ |
145 | "" "" |
146 | SKIP= |
147 | |
148 | # continuing to use directory structure from prev test |
149 | rm -rf mdev.testdir/dev/* |
150 | echo "sda 0:0 644 @echo @echo TEST" >mdev.testdir/etc/mdev.conf |
151 | optional STATIC FEATURE_MDEV_CONF FEATURE_MDEV_EXEC FEATURE_LS_RECURSIVE FEATURE_LS_TIMESTAMPS FEATURE_LS_USERNAME FEATURE_SH_IS_ASH |
152 | testing "mdev command" \ |
153 | "env - PATH=$PATH ACTION=add DEVPATH=/block/sda chroot mdev.testdir /mdev 2>&1; |
154 | ls -lnR mdev.testdir/dev | $FILTER_LS" \ |
155 | "\ |
156 | @echo TEST |
157 | mdev.testdir/dev: |
158 | brw-r--r-- 1 0 0 8,0 sda |
159 | " \ |
160 | "" "" |
161 | SKIP= |
162 | |
163 | # continuing to use directory structure from prev test |
164 | rm -rf mdev.testdir/dev/* |
165 | echo "sda 0:0 644 =block/ @echo @echo TEST:\$MDEV" >mdev.testdir/etc/mdev.conf |
166 | optional STATIC FEATURE_MDEV_CONF FEATURE_MDEV_RENAME FEATURE_MDEV_EXEC FEATURE_LS_RECURSIVE FEATURE_LS_TIMESTAMPS FEATURE_LS_USERNAME FEATURE_SH_IS_ASH |
167 | testing "mdev move and command" \ |
168 | "env - PATH=$PATH ACTION=add DEVPATH=/block/sda chroot mdev.testdir /mdev 2>&1; |
169 | ls -lnR mdev.testdir/dev | $FILTER_LS2" \ |
170 | "\ |
171 | @echo TEST:block/sda |
172 | mdev.testdir/dev: |
173 | drwxr-xr-x 2 0 0 block |
174 | |
175 | mdev.testdir/dev/block: |
176 | brw-r--r-- 1 0 0 sda |
177 | " \ |
178 | "" "" |
179 | SKIP= |
180 | |
181 | # continuing to use directory structure from prev test |
182 | rm -rf mdev.testdir/dev/* |
183 | echo "@8,0 0:1 644" >mdev.testdir/etc/mdev.conf |
184 | optional STATIC FEATURE_MDEV_CONF FEATURE_MDEV_RENAME FEATURE_MDEV_RENAME_REGEXP FEATURE_LS_RECURSIVE FEATURE_LS_TIMESTAMPS FEATURE_LS_USERNAME |
185 | testing "mdev #maj,min and no explicit uid" \ |
186 | "env - PATH=$PATH ACTION=add DEVPATH=/block/sda chroot mdev.testdir /mdev 2>&1; |
187 | ls -lnR mdev.testdir/dev | $FILTER_LS" \ |
188 | "\ |
189 | mdev.testdir/dev: |
190 | brw-r--r-- 1 0 1 8,0 sda |
191 | " \ |
192 | "" "" |
193 | SKIP= |
194 | |
195 | # continuing to use directory structure from prev test |
196 | rm -rf mdev.testdir/dev/* |
197 | mkdir -p mdev.testdir/sys/class/tty/capi |
198 | echo "191:0" >mdev.testdir/sys/class/tty/capi/dev |
199 | mkdir -p mdev.testdir/sys/class/tty/capi1 |
200 | echo "191:1" >mdev.testdir/sys/class/tty/capi1/dev |
201 | mkdir -p mdev.testdir/sys/class/tty/capi20 |
202 | echo "191:20" >mdev.testdir/sys/class/tty/capi20/dev |
203 | echo "capi 0:0 0660 =capi20" >mdev.testdir/etc/mdev.conf |
204 | echo "capi([0-9]) 0:0 0660 =capi20.0%1" >>mdev.testdir/etc/mdev.conf |
205 | echo "capi([0-9]*) 0:0 0660 =capi20.%1" >>mdev.testdir/etc/mdev.conf |
206 | # mdev invocation with DEVPATH=/class/tty/capi20 was deleting /dev/capi20 |
207 | optional STATIC FEATURE_MDEV_CONF FEATURE_MDEV_RENAME FEATURE_MDEV_RENAME_REGEXP FEATURE_LS_RECURSIVE FEATURE_LS_TIMESTAMPS FEATURE_LS_USERNAME FEATURE_LS_SORTFILES |
208 | testing "move rule does not delete node with name == device_name" \ |
209 | "\ |
210 | env - PATH=$PATH ACTION=add DEVPATH=/class/tty/capi chroot mdev.testdir /mdev 2>&1; |
211 | env - PATH=$PATH ACTION=add DEVPATH=/class/tty/capi1 chroot mdev.testdir /mdev 2>&1; |
212 | env - PATH=$PATH ACTION=add DEVPATH=/class/tty/capi20 chroot mdev.testdir /mdev 2>&1; |
213 | ls -lnR mdev.testdir/dev | $FILTER_LS" \ |
214 | "\ |
215 | mdev.testdir/dev: |
216 | crw-rw---- 1 0 0 191,0 capi20 |
217 | crw-rw---- 1 0 0 191,1 capi20.01 |
218 | crw-rw---- 1 0 0 191,20 capi20.20 |
219 | " \ |
220 | "" "" |
221 | SKIP= |
222 | |
223 | # clean up |
224 | rm -rf mdev.testdir |
225 | |
226 | exit $FAILCOUNT |