root/tools/buildtest.sh

Revision 2769, 1.7 kB (checked in by cpebenito, 4 months ago)

tools: undo previous accidental commit to buildtest.

  • Property svn:executable set to *
Line 
1 #!/bin/bash
2
3 DISTROS="rhel4 gentoo ubuntu"
4 TYPES="standard mcs mls"
5 ILKS="strict targeted"
6 POLVER="`checkpolicy -V |cut -f 1 -d ' '`"
7 SETFILES="/usr/sbin/setfiles"
8 SE_LINK="time -p /usr/bin/semodule_link"
9
10 die() {
11         if [ "$1" -eq "1" ]; then
12                 echo "failed with options: $2"
13         fi
14
15         exit 1
16 }
17
18 cleanup_mon() {
19         make MONOLITHIC=y bare
20 }
21
22 cleanup_mod() {
23         make MONOLITHIC=n bare
24 }
25
26 set_ilk() {
27         if [[ $1 != "targeted" ]]; then
28                 sed -i -e '/^anaconda/s/module$/off/' policy/modules.conf
29                 sed -i -e '/^firstboot/s/module$/off/' policy/modules.conf
30                 sed -i -e '/^unconfined/s/module$/off/' policy/modules.conf
31         fi
32         egrep "^(unconfined|firstboot|anaconda)" policy/modules.conf
33 }
34
35 do_test() {
36         local OPTS=""
37
38         for i in $TYPES; do
39                 for j in $ILKS; do
40                         # Monolithic tests
41                         trap cleanup_mon SIGINT SIGQUIT
42                         OPTS="TYPE=$i MONOLITHIC=y QUIET=y DIRECT_INITRC=y"
43                         [ ! -z "$1" ] && OPTS="$OPTS DISTRO=$1"
44                         echo "**** Options: $OPTS ****"
45                         echo -ne "\033]0;mon $i $j $1\007"
46                         make $OPTS conf || die "$?" "$OPTS"
47                         set_ilk $j
48                         make $OPTS || die "$?" "$OPTS"
49                         make $OPTS file_contexts || die "$?" "$OPTS"
50                         $SETFILES -q -c policy.$POLVER file_contexts || die "$?" "$OPTS"
51                         cleanup_mon
52
53                         # Loadable module tests
54                         trap cleanup_mod SIGINT SIGQUIT
55                         OPTS="TYPE=$i MONOLITHIC=n QUIET=y DIRECT_INITRC=y"
56                         [ ! -z "$1" ] && OPTS="$OPTS DISTRO=$1"
57                         echo "**** Options: $OPTS ****"
58                         echo -ne "\033]0;mod $i $j $1\007"
59                         make $OPTS conf || die "$?" "$OPTS"
60                         set_ilk $j
61                         make $OPTS base || die "$?" "$OPTS"
62                         make $OPTS -j3 modules || die "$?" "$OPTS"
63                         make $OPTS validate || die "$?" "$OPTS"
64                         cleanup_mod
65                 done
66         done
67 }
68
69 cleanup_mon
70 cleanup_mod
71 do_test
72
73 for i in $DISTROS; do
74         do_test $i
75 done
76
77 echo "Completed successfully."
Note: See TracBrowser for help on using the browser.