aboutsummaryrefslogtreecommitdiffstats
path: root/test/compile/compile.sh
diff options
context:
space:
mode:
authorLibravatar netblue30 <netblue30@yahoo.com>2016-08-20 08:15:59 -0400
committerLibravatar netblue30 <netblue30@yahoo.com>2016-08-20 08:15:59 -0400
commit01b80e1d268951be29ac09af526b5e23f675c346 (patch)
treea649a9879c1e5ad615714986795f15098457491f /test/compile/compile.sh
parentcompile time config option for overlayfs (diff)
downloadfirejail-01b80e1d268951be29ac09af526b5e23f675c346.tar.gz
firejail-01b80e1d268951be29ac09af526b5e23f675c346.tar.zst
firejail-01b80e1d268951be29ac09af526b5e23f675c346.zip
testing
Diffstat (limited to 'test/compile/compile.sh')
-rwxr-xr-xtest/compile/compile.sh338
1 files changed, 338 insertions, 0 deletions
diff --git a/test/compile/compile.sh b/test/compile/compile.sh
new file mode 100755
index 000000000..76a7162b7
--- /dev/null
+++ b/test/compile/compile.sh
@@ -0,0 +1,338 @@
1#!/bin/bash
2
3arr[1]="TEST 1: standard compilation"
4arr[2]="TEST 2: compile seccomp disabled"
5arr[3]="TEST 3: compile chroot disabled"
6arr[4]="TEST 4: compile bind disabled"
7arr[5]="TEST 5: compile user namespace disabled"
8arr[6]="TEST 6: compile network disabled"
9arr[7]="TEST 7: compile X11 disabled"
10arr[8]="TEST 8: compile network restricted"
11arr[9]="TEST 9: compile file transfer disabled"
12arr[10]="TEST 10: compile disable whitelist"
13arr[11]="TEST 11: compile disable global config"
14arr[12]="TEST 12: compile apparmor"
15arr[13]="TEST 13: compile busybox"
16arr[14]="TEST 14: compile overlayfs disabled"
17
18# remove previous reports and output file
19cleanup() {
20 rm -f report*
21 rm -fr firejail
22 rm -f oc* om*
23}
24
25print_title() {
26 echo
27 echo
28 echo
29 echo "**************************************************"
30 echo $1
31 echo "**************************************************"
32}
33
34DIST="$1"
35while [ $# -gt 0 ]; do # Until you run out of parameters . . .
36 case "$1" in
37 --clean)
38 cleanup
39 exit
40 ;;
41 --help)
42 echo "./compile.sh [--clean|--help]"
43 exit
44 ;;
45 esac
46 shift # Check next set of parameters.
47done
48
49cleanup
50
51
52#*****************************************************************
53# TEST 1
54#*****************************************************************
55# - checkout source code
56#*****************************************************************
57print_title "${arr[1]}"
58echo "$DIST"
59tar -xJvf ../../$DIST.tar.xz
60mv $DIST firejail
61
62cd firejail
63./configure --prefix=/usr --enable-fatal-warnings 2>&1 | tee ../output-configure
64make -j4 2>&1 | tee ../output-make
65cd ..
66grep Warning output-configure output-make > ./report-test1
67grep Error output-configure output-make >> ./report-test1
68cp output-configure oc1
69cp output-make om1
70rm output-configure output-make
71
72
73#*****************************************************************
74# TEST 2
75#*****************************************************************
76# - disable seccomp configuration
77#*****************************************************************
78print_title "${arr[2]}"
79# seccomp
80cd firejail
81make distclean
82./configure --prefix=/usr --disable-seccomp --enable-fatal-warnings 2>&1 | tee ../output-configure
83make -j4 2>&1 | tee ../output-make
84cd ..
85grep Warning output-configure output-make > ./report-test2
86grep Error output-configure output-make >> ./report-test2
87cp output-configure oc2
88cp output-make om2
89rm output-configure output-make
90
91#*****************************************************************
92# TEST 3
93#*****************************************************************
94# - disable chroot configuration
95#*****************************************************************
96print_title "${arr[3]}"
97# seccomp
98cd firejail
99make distclean
100./configure --prefix=/usr --disable-chroot --enable-fatal-warnings 2>&1 | tee ../output-configure
101make -j4 2>&1 | tee ../output-make
102cd ..
103grep Warning output-configure output-make > ./report-test3
104grep Error output-configure output-make >> ./report-test3
105cp output-configure oc3
106cp output-make om3
107rm output-configure output-make
108
109#*****************************************************************
110# TEST 4
111#*****************************************************************
112# - disable bind configuration
113#*****************************************************************
114print_title "${arr[4]}"
115# seccomp
116cd firejail
117make distclean
118./configure --prefix=/usr --disable-bind --enable-fatal-warnings 2>&1 | tee ../output-configure
119make -j4 2>&1 | tee ../output-make
120cd ..
121grep Warning output-configure output-make > ./report-test4
122grep Error output-configure output-make >> ./report-test4
123cp output-configure oc4
124cp output-make om4
125rm output-configure output-make
126
127#*****************************************************************
128# TEST 5
129#*****************************************************************
130# - disable user namespace configuration
131#*****************************************************************
132print_title "${arr[5]}"
133# seccomp
134cd firejail
135make distclean
136./configure --prefix=/usr --disable-userns --enable-fatal-warnings 2>&1 | tee ../output-configure
137make -j4 2>&1 | tee ../output-make
138cd ..
139grep Warning output-configure output-make > ./report-test5
140grep Error output-configure output-make >> ./report-test5
141cp output-configure oc5
142cp output-make om5
143rm output-configure output-make
144
145#*****************************************************************
146# TEST 6
147#*****************************************************************
148# - disable user namespace configuration
149# - check compilation
150#*****************************************************************
151print_title "${arr[6]}"
152# seccomp
153cd firejail
154make distclean
155./configure --prefix=/usr --disable-network --enable-fatal-warnings 2>&1 | tee ../output-configure
156make -j4 2>&1 | tee ../output-make
157cd ..
158grep Warning output-configure output-make > ./report-test6
159grep Error output-configure output-make >> ./report-test6
160cp output-configure oc6
161cp output-make om6
162rm output-configure output-make
163
164#*****************************************************************
165# TEST 7
166#*****************************************************************
167# - disable X11 support
168#*****************************************************************
169print_title "${arr[7]}"
170# seccomp
171cd firejail
172make distclean
173./configure --prefix=/usr --disable-x11 --enable-fatal-warnings 2>&1 | tee ../output-configure
174make -j4 2>&1 | tee ../output-make
175cd ..
176grep Warning output-configure output-make > ./report-test7
177grep Error output-configure output-make >> ./report-test7
178cp output-configure oc7
179cp output-make om7
180rm output-configure output-make
181
182
183#*****************************************************************
184# TEST 8
185#*****************************************************************
186# - enable network restricted
187#*****************************************************************
188print_title "${arr[8]}"
189# seccomp
190cd firejail
191make distclean
192./configure --prefix=/usr --enable-network=restricted --enable-fatal-warnings 2>&1 | tee ../output-configure
193make -j4 2>&1 | tee ../output-make
194cd ..
195grep Warning output-configure output-make > ./report-test8
196grep Error output-configure output-make >> ./report-test8
197cp output-configure oc8
198cp output-make om8
199rm output-configure output-make
200
201
202#*****************************************************************
203# TEST 9
204#*****************************************************************
205# - disable file transfer
206#*****************************************************************
207print_title "${arr[9]}"
208# seccomp
209cd firejail
210make distclean
211./configure --prefix=/usr --disable-file-transfer --enable-fatal-warnings 2>&1 | tee ../output-configure
212make -j4 2>&1 | tee ../output-make
213cd ..
214grep Warning output-configure output-make > ./report-test9
215grep Error output-configure output-make >> ./report-test9
216cp output-configure oc9
217cp output-make om9
218rm output-configure output-make
219
220#*****************************************************************
221# TEST 10
222#*****************************************************************
223# - disable whitelist
224#*****************************************************************
225print_title "${arr[10]}"
226# seccomp
227cd firejail
228make distclean
229./configure --prefix=/usr --disable-whitelist --enable-fatal-warnings 2>&1 | tee ../output-configure
230make -j4 2>&1 | tee ../output-make
231cd ..
232grep Warning output-configure output-make > ./report-test10
233grep Error output-configure output-make >> ./report-test10
234cp output-configure oc10
235cp output-make om10
236rm output-configure output-make
237
238#*****************************************************************
239# TEST 11
240#*****************************************************************
241# - disable global config
242#*****************************************************************
243print_title "${arr[11]}"
244# seccomp
245cd firejail
246make distclean
247./configure --prefix=/usr --disable-globalcfg --enable-fatal-warnings 2>&1 | tee ../output-configure
248make -j4 2>&1 | tee ../output-make
249cd ..
250grep Warning output-configure output-make > ./report-test11
251grep Error output-configure output-make >> ./report-test11
252cp output-configure oc11
253cp output-make om11
254rm output-configure output-make
255
256#*****************************************************************
257# TEST 12
258#*****************************************************************
259# - enable apparmor
260#*****************************************************************
261print_title "${arr[12]}"
262# seccomp
263cd firejail
264make distclean
265./configure --prefix=/usr --enable-apparmor --enable-fatal-warnings 2>&1 | tee ../output-configure
266make -j4 2>&1 | tee ../output-make
267cd ..
268grep Warning output-configure output-make > ./report-test12
269grep Error output-configure output-make >> ./report-test12
270cp output-configure oc12
271cp output-make om12
272rm output-configure output-make
273
274#*****************************************************************
275# TEST 13
276#*****************************************************************
277# - enable busybox workaround
278#*****************************************************************
279print_title "${arr[13]}"
280# seccomp
281cd firejail
282make distclean
283./configure --prefix=/usr --enable-busybox-workaround --enable-fatal-warnings 2>&1 | tee ../output-configure
284make -j4 2>&1 | tee ../output-make
285cd ..
286grep Warning output-configure output-make > ./report-test13
287grep Error output-configure output-make >> ./report-test13
288cp output-configure oc13
289cp output-make om13
290rm output-configure output-make
291
292#*****************************************************************
293# TEST 14
294#*****************************************************************
295# - disable overlayfs
296#*****************************************************************
297print_title "${arr[14]}"
298# seccomp
299cd firejail
300make distclean
301./configure --prefix=/usr --disable-overlayfs --enable-fatal-warnings 2>&1 | tee ../output-configure
302make -j4 2>&1 | tee ../output-make
303cd ..
304grep Warning output-configure output-make > ./report-test14
305grep Error output-configure output-make >> ./report-test14
306cp output-configure oc14
307cp output-make om14
308rm output-configure output-make
309
310
311#*****************************************************************
312# PRINT REPORTS
313#*****************************************************************
314echo
315echo
316echo
317echo
318echo "**********************************************************"
319echo "TEST RESULTS"
320echo "**********************************************************"
321
322wc -l report-test*
323echo
324echo "Legend:"
325echo ${arr[1]}
326echo ${arr[2]}
327echo ${arr[3]}
328echo ${arr[4]}
329echo ${arr[5]}
330echo ${arr[6]}
331echo ${arr[7]}
332echo ${arr[8]}
333echo ${arr[9]}
334echo ${arr[10]}
335echo ${arr[11]}
336echo ${arr[12]}
337echo ${arr[13]}
338echo ${arr[14]}