Magellan Linux

Annotation of /tags/mkinitrd-6_3_1/busybox/testsuite/mdev.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: 7857 byte(s)
tagged 'mkinitrd-6_3_1'
1 niro 816 #!/bin/sh
2     # Copyright 2008 by Denys Vlasenko
3     # Licensed under GPL v2, see file LICENSE for details.
4    
5 niro 984 . ./testing.sh
6 niro 816
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 niro 984 FILTER_LS="grep -v '^total ' | sed -e 's/, */,/g' -e 's/ */ /g' | cut -d' ' -f 1-5,9-"
11 niro 816 # cut: remove size+date
12 niro 984 FILTER_LS2="grep -v '^total ' | sed -e 's/, */,/g' -e 's/ */ /g' | cut -d' ' -f 1-4,9-"
13 niro 816
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 niro 1123 optional STATIC FEATURE_LS_TIMESTAMPS FEATURE_LS_USERNAME
31 niro 816 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 niro 1123 SKIP=
39 niro 816
40     # continuing to use directory structure from prev test
41 niro 1124 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 niro 816 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 niro 1123 optional STATIC FEATURE_MDEV_CONF FEATURE_LS_TIMESTAMPS FEATURE_LS_USERNAME
55 niro 816 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 niro 1123 SKIP=
63 niro 816
64     # continuing to use directory structure from prev test
65     rm -rf mdev.testdir/dev/*
66 niro 984 echo "-.* 1:1 666" >mdev.testdir/etc/mdev.conf
67     echo "sda 2:2 444" >>mdev.testdir/etc/mdev.conf
68 niro 1123 optional STATIC FEATURE_MDEV_CONF FEATURE_LS_TIMESTAMPS FEATURE_LS_USERNAME
69 niro 984 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 niro 1123 SKIP=
77 niro 984
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 niro 1123 optional STATIC FEATURE_MDEV_CONF FEATURE_LS_TIMESTAMPS FEATURE_LS_USERNAME
84 niro 984 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 niro 1123 SKIP=
92 niro 984
93     # continuing to use directory structure from prev test
94     rm -rf mdev.testdir/dev/*
95 niro 816 echo "sda 0:0 444 >disk/scsiA" >mdev.testdir/etc/mdev.conf
96 niro 1123 optional STATIC FEATURE_MDEV_CONF FEATURE_MDEV_RENAME FEATURE_LS_RECURSIVE FEATURE_LS_TIMESTAMPS FEATURE_LS_USERNAME
97 niro 816 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 niro 1123 SKIP=
110 niro 816
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 niro 1123 optional STATIC FEATURE_MDEV_CONF FEATURE_MDEV_RENAME FEATURE_LS_RECURSIVE FEATURE_LS_TIMESTAMPS FEATURE_LS_USERNAME
115 niro 816 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 niro 1123 SKIP=
128 niro 816
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 niro 1123 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 niro 816 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 niro 1123 SKIP=
147 niro 816
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 niro 1123 optional STATIC FEATURE_MDEV_CONF FEATURE_MDEV_EXEC FEATURE_LS_RECURSIVE FEATURE_LS_TIMESTAMPS FEATURE_LS_USERNAME FEATURE_SH_IS_ASH
152 niro 816 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 niro 1123 SKIP=
162 niro 816
163     # continuing to use directory structure from prev test
164     rm -rf mdev.testdir/dev/*
165 niro 984 echo "sda 0:0 644 =block/ @echo @echo TEST:\$MDEV" >mdev.testdir/etc/mdev.conf
166 niro 1123 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 niro 816 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 niro 984 @echo TEST:block/sda
172 niro 816 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 niro 1123 SKIP=
180 niro 816
181     # continuing to use directory structure from prev test
182     rm -rf mdev.testdir/dev/*
183 niro 984 echo "@8,0 0:1 644" >mdev.testdir/etc/mdev.conf
184 niro 1123 optional STATIC FEATURE_MDEV_CONF FEATURE_MDEV_RENAME FEATURE_MDEV_RENAME_REGEXP FEATURE_LS_RECURSIVE FEATURE_LS_TIMESTAMPS FEATURE_LS_USERNAME
185 niro 816 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 niro 1123 SKIP=
194 niro 816
195 niro 984 # 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 niro 1123 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 niro 984 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 niro 1123 SKIP=
222 niro 984
223 niro 816 # clean up
224     rm -rf mdev.testdir
225    
226     exit $FAILCOUNT