Whamcloud - gitweb
Merge of b_md to HEAD:
[fs/lustre-release.git] / lustre / tests / sanity.sh
1 #!/bin/bash
2
3 export NAME=$NAME
4 clean() {
5         echo -n "cleanup..."
6         sh llmountcleanup.sh > /dev/null
7 }
8 CLEAN=clean
9 start() {
10         echo -n "mounting..."
11         sh llrmount.sh > /dev/null
12         echo -n "mounted"
13 }
14 START=start
15
16 echo '== touch .../f ; rm .../f ======================== test 0'
17 touch /mnt/lustre/f
18 rm /mnt/lustre/f
19 $CLEAN
20 $START
21
22 echo '== mkdir .../d1; mkdir .../d1/d2 ================= test 1'
23 mkdir /mnt/lustre/d1
24 mkdir /mnt/lustre/d1/d2
25 $CLEAN
26 $START
27
28 echo '== rmdir .../d1/d2; rmdir .../d1 ================= test 1b'
29 rmdir /mnt/lustre/d1/d2
30 rmdir /mnt/lustre/d1
31 $CLEAN
32 $START
33
34 echo '== mkdir .../d2; touch .../d2/f ================== test 2'
35 mkdir /mnt/lustre/d2
36 touch /mnt/lustre/d2/f
37 $CLEAN
38 $START
39
40 echo '== rm -r .../d2; touch .../d2/f ================== test 2b'
41 rm -r /mnt/lustre/d2
42 $CLEAN
43 $START
44
45 echo '== mkdir .../d3 ================================== test 3'
46 mkdir /mnt/lustre/d3
47 $CLEAN
48 $START
49 echo '== touch .../d3/f ================================ test 3b'
50 touch /mnt/lustre/d3/f
51 $CLEAN
52 $START
53 echo '== rm -r .../d3 ================================== test 3c'
54 rm -r /mnt/lustre/d3
55 $CLEAN
56 $START
57
58 echo '== mkdir .../d4 ================================== test 4'
59 mkdir /mnt/lustre/d4
60 $CLEAN
61 $START
62 echo '== mkdir .../d4/d2 =============================== test 4b'
63 mkdir /mnt/lustre/d4/d2
64 $CLEAN
65 $START
66
67 echo '== mkdir .../d5; mkdir .../d5/d2; chmod .../d5/d2 = test 5'
68 mkdir /mnt/lustre/d5
69 mkdir /mnt/lustre/d5/d2
70 chmod 0666 /mnt/lustre/d5/d2
71 $CLEAN
72 $START
73
74 echo '== touch .../f6; chmod .../f6 ==================== test 6'
75 touch /mnt/lustre/f6
76 chmod 0666 /mnt/lustre/f6
77 $CLEAN
78 $START
79
80 echo '== mkdir .../d7; mcreate .../d7/f; chmod .../d7/f = test 7'
81 mkdir /mnt/lustre/d7
82 ./mcreate /mnt/lustre/d7/f
83 chmod 0666 /mnt/lustre/d7/f
84 $CLEAN
85 $START
86
87 echo '== mkdir .../d8; touch .../d8/f; chmod .../d8/f == test 8'
88 mkdir /mnt/lustre/d8
89 touch /mnt/lustre/d8/f
90 chmod 0666 /mnt/lustre/d8/f
91 $CLEAN
92 $START
93
94
95 echo '== mkdir .../d9; mkdir .../d9/d2; mkdir .../d9/d2/d3 == test 9'
96 mkdir /mnt/lustre/d9
97 mkdir /mnt/lustre/d9/d2
98 mkdir /mnt/lustre/d9/d2/d3
99 $CLEAN
100 $START
101
102
103 echo '== mkdir .../d10; mkdir .../d10/d2; touch .../d10/d2/f = test 10'
104 mkdir /mnt/lustre/d10
105 mkdir /mnt/lustre/d10/d2
106 touch /mnt/lustre/d10/d2/f
107 $CLEAN
108 $START
109
110 echo '=================================================== test 11'
111 mkdir /mnt/lustre/d11
112 mkdir /mnt/lustre/d11/d2
113 chmod 0666 /mnt/lustre/d11/d2
114 chmod 0555 /mnt/lustre/d11/d2
115 $CLEAN
116 $START
117
118 echo '=================================================== test 12'
119 mkdir /mnt/lustre/d12
120 touch /mnt/lustre/d12/f
121 chmod 0666 /mnt/lustre/d12/f
122 chmod 0555 /mnt/lustre/d12/f
123 $CLEAN
124 $START
125
126 echo '=================================================== test 13'
127 mkdir /mnt/lustre/d13
128 cp /etc/passwd /mnt/lustre/d13/f
129 >  /mnt/lustre/d13/f
130 $CLEAN
131 $START
132
133
134 echo '=================================================== test 14'
135 mkdir /mnt/lustre/d14
136 touch /mnt/lustre/d14/f
137 rm /mnt/lustre/d14/f
138 $CLEAN
139 $START
140
141
142 echo '=================================================== test 15'
143 mkdir /mnt/lustre/d15
144 touch /mnt/lustre/d15/f
145 mv /mnt/lustre/d15/f /mnt/lustre/d15/f2
146 $CLEAN
147 $START
148
149 echo '=================================================== test 16'
150 mkdir /mnt/lustre/d16
151 touch /mnt/lustre/d16/f
152 rm -rf /mnt/lustre/d16/f
153 $CLEAN
154 $START
155
156 echo '== symlinks: create, remove (dangling and real) === test 17'
157 mkdir /mnt/lustre/d17
158 touch /mnt/lustre/d17/f
159 ln -s /mnt/lustre/d17/f /mnt/lustre/d17/l-exist
160 ln -s no-such-file /mnt/lustre/d17/l-dangle
161 ls -l /mnt/lustre/d17
162 rm -f /mnt/lustre/l-dangle
163 rm -f /mnt/lustre/l-exist
164 $CLEAN
165 $START
166
167 echo '== touch /mnt/lustre/f ; ls /mnt/lustre ========== test 18'
168 touch /mnt/lustre/f
169 ls /mnt/lustre
170 $CLEAN
171 $START
172
173 echo '== touch /mnt/lustre/f ; ls -l /mnt/lustre ======= test 19'
174 touch /mnt/lustre/f
175 ls -l /mnt/lustre
176 rm /mnt/lustre/f
177 $CLEAN
178 $START
179
180 echo '== touch /mnt/lustre/f ; ls -l /mnt/lustre ======= test 20'
181 touch /mnt/lustre/f
182 rm /mnt/lustre/f
183 echo "1 done"
184 touch /mnt/lustre/f
185 rm /mnt/lustre/f
186 echo "2 done"
187 touch /mnt/lustre/f
188 rm /mnt/lustre/f
189 echo "3 done"
190 $CLEAN
191 $START
192
193 echo '== write to dangling link ======================= test 21'
194 mkdir /mnt/lustre/d21
195 ln -s dangle /mnt/lustre/d21/link
196 echo foo >> /mnt/lustre/d21/link
197 cat /mnt/lustre/d21/dangle
198 $CLEAN
199 $START
200
201 # echo '== unpack tar archive as nonroot user =========== test 22'
202 echo '== please fix test 22'
203 # mkdir /mnt/lustre/d22
204 # chown 4711 /mnt/lustre/d22
205 # (./setuid 4711 ; tar cf - /etc/hosts /etc/sysconfig/network | tar xfC - /mnt/lustre/d22 ; ./setuid 0)
206 # ls -lR /mnt/lustre/d22/etc
207 # $CLEAN
208 # $START
209
210 echo '== O_CREAT|O_EXCL in subdir ===================== test 23'
211 mkdir /mnt/lustre/d23
212 ./toexcl /mnt/lustre/d23/f23
213 ./toexcl /mnt/lustre/d23/f23
214 $CLEAN
215 $START
216
217 echo '======================= finished ======================='
218 exit