Whamcloud - gitweb
531a009a67012ee9afb5c57c09bfa8e71f0b31ec
[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         dmesg | grep leaked | grep -v " 0 bytes" 
8         dmesg | grep -i destruct
9 }
10 CLEAN=clean
11 start() {
12         echo -n "mounting..."
13         sh llrmount.sh > /dev/null
14         echo -n "mounted"
15         echo 0 > /proc/sys/portals/debug
16 }
17 START=start
18
19 echo '== touch .../f ; rm .../f ========== test 0'
20 touch /mnt/lustre/f
21 rm /mnt/lustre/f
22 $CLEAN
23 $START
24
25 echo '== mkdir .../d1; mkdir .../d1/d2 == test 1'
26 mkdir /mnt/lustre/d1
27 mkdir /mnt/lustre/d1/d2
28 $CLEAN
29 $START
30
31 echo '== mkdir .../d1; touch .../d1/f === test 2'
32 mkdir /mnt/lustre/d2
33 touch /mnt/lustre/d2/f
34 $CLEAN
35 $START
36
37 echo '== mkdir .../d3 =================== test 3'
38 mkdir /mnt/lustre/d3
39 $CLEAN
40 $START
41 echo '== touch .../d3/f ================= test 3b'
42 touch /mnt/lustre/d3/f
43 $CLEAN
44 $START
45
46 echo '== mkdir .../d4 =================== test 4'
47 mkdir /mnt/lustre/d4
48 $CLEAN
49 $START
50 echo '== mkdir .../d4/d2 ================ test 4b'
51 mkdir /mnt/lustre/d4/d2
52 $CLEAN
53 $START
54
55 echo '== mkdir .../d5; mkdir .../d5/d2; chmod .../d5/d2 == test 5'
56 mkdir /mnt/lustre/d5
57 mkdir /mnt/lustre/d5/d2
58 chmod 0666 /mnt/lustre/d5/d2
59 $CLEAN
60 $START
61
62 echo '== touch .../f6; chmod .../f6 ===== test 6'
63 touch /mnt/lustre/f6
64 chmod 0666 /mnt/lustre/f6
65 $CLEAN
66 $START
67
68 echo '== mkdir .../d7; mcreate .../d7/f; chmod .../d7/f == test 7'
69 mkdir /mnt/lustre/d7
70 ./mcreate /mnt/lustre/d7/f
71 chmod 0666 /mnt/lustre/d7/f
72 $CLEAN
73 $START
74
75 echo '== mkdir .../d8; touch .../d8/f; chmod .../d8/f == test 8'
76 mkdir /mnt/lustre/d8
77 touch /mnt/lustre/d8/f
78 chmod 0666 /mnt/lustre/d8/f
79 $CLEAN
80 $START
81
82
83 echo '== mkdir .../d9; mkdir .../d9/d2; mkdir .../d9/d2/d3 == test 9'
84 mkdir /mnt/lustre/d9
85 mkdir /mnt/lustre/d9/d2
86 mkdir /mnt/lustre/d9/d2/d3
87 $CLEAN
88 $START
89
90
91 echo '=============================== test 10'
92 mkdir /mnt/lustre/d10
93 mkdir /mnt/lustre/d10/d2
94 touch /mnt/lustre/d10/d2/f
95 $CLEAN
96 $START
97
98 echo '=============================== test 11'
99 mkdir /mnt/lustre/d11
100 mkdir /mnt/lustre/d11/d2
101 chmod 0666 /mnt/lustre/d11/d2
102 chmod 0555 /mnt/lustre/d11/d2
103 $CLEAN
104 $START
105
106 echo '=============================== test 12'
107 mkdir /mnt/lustre/d12
108 touch /mnt/lustre/d12/f
109 chmod 0666 /mnt/lustre/d12/f
110 chmod 0555 /mnt/lustre/d12/f
111 $CLEAN
112 $START
113
114 echo '=============================== test 13'
115 mkdir /mnt/lustre/d13
116 cp /etc/passwd /mnt/lustre/d13/f
117 >  /mnt/lustre/d13/f
118 $CLEAN
119 $START
120
121
122 echo '=============================== test 14'
123 mkdir /mnt/lustre/d14
124 touch /mnt/lustre/d14/f
125 rm /mnt/lustre/d14/f
126 $CLEAN
127 $START
128
129
130 echo '=============================== test 15'
131 mkdir /mnt/lustre/d15
132 touch /mnt/lustre/d15/f
133 mv /mnt/lustre/d15/f /mnt/lustre/d15/f2
134 $CLEAN
135 $START
136
137 echo '=============================== test 16'
138 mkdir /mnt/lustre/d16
139 touch /mnt/lustre/d16/f
140 rm -rf /mnt/lustre/d16/f
141 $CLEAN
142 $START
143
144 echo '====== symlinks: create, remove symlinks (dangling and real) =====' test 17
145 mkdir /mnt/lustre/d17
146 touch /mnt/lustre/d17/f
147 ln -s /mnt/lustre/d17/f /mnt/lustre/d17/l-exist
148 ln -s no-such-file /mnt/lustre/d17/l-dangle
149 ls -l /mnt/lustre/d17
150 rm -f /mnt/lustre/l-dangle
151 rm -f /mnt/lustre/l-exist
152 $CLEAN
153 $START
154
155 echo '==== touch /mnt/lustre/f ; ls /mnt/lustre ==== test 18'
156 touch /mnt/lustre/f
157 ls /mnt/lustre
158 $CLEAN
159 $START
160
161 echo '==== touch /mnt/lustre/f ; ls -l /mnt/lustre ==== test 19'
162 touch /mnt/lustre/f
163 ls -l /mnt/lustre
164 rm /mnt/lustre/f
165 $CLEAN
166 $START
167
168 echo '==== touch /mnt/lustre/f ; ls -l /mnt/lustre ==== test 20'
169 touch /mnt/lustre/f
170 rm /mnt/lustre/f
171 echo "1 done"
172 touch /mnt/lustre/f
173 rm /mnt/lustre/f
174 echo "2 done"
175 touch /mnt/lustre/f
176 rm /mnt/lustre/f
177 echo "3 done"
178 $CLEAN
179 $START
180
181 echo '=========== finished ==========='
182 exit