root/tools/quicktest.sh

Revision 2673, 1.7 kB (checked in by pebenito, 7 months ago)

tools: updates

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