|
Chris PeBenito |
fdef43 |
#!/bin/bash
|
|
Chris PeBenito |
fdef43 |
|
|
Chris PeBenito |
dd6f82 |
DISTROS="rhel4 gentoo debian"
|
|
Chris PeBenito |
dd6f82 |
TYPES="strict targeted strict-mcs targeted-mcs strict-mls targeted-mls"
|
|
Chris PeBenito |
fdef43 |
POLVER="`checkpolicy -V |cut -f 1 -d ' '`"
|
|
Chris PeBenito |
fdef43 |
SETFILES="/usr/sbin/setfiles"
|
|
Chris PeBenito |
6c5614 |
SE_LINK="time -p /usr/bin/semodule_link"
|
|
Chris PeBenito |
fdef43 |
|
|
Chris PeBenito |
dd6f82 |
die() {
|
|
Chris PeBenito |
dd6f82 |
if [ "$1" -eq "1" ]; then
|
|
Chris PeBenito |
dd6f82 |
echo "failed with options: $2"
|
|
Chris PeBenito |
dd6f82 |
fi
|
|
Chris PeBenito |
dd6f82 |
|
|
Chris PeBenito |
dd6f82 |
exit 1
|
|
Chris PeBenito |
dd6f82 |
}
|
|
Chris PeBenito |
dd6f82 |
|
|
Chris PeBenito |
6c5614 |
cleanup_mon() {
|
|
Chris PeBenito |
6c5614 |
make MONOLITHIC=y bare
|
|
Chris PeBenito |
6c5614 |
}
|
|
Chris PeBenito |
6c5614 |
|
|
Chris PeBenito |
6c5614 |
cleanup_mod() {
|
|
Chris PeBenito |
dd6f82 |
make MONOLITHIC=n bare
|
|
Chris PeBenito |
dd6f82 |
}
|
|
Chris PeBenito |
dd6f82 |
|
|
Chris PeBenito |
959fca |
do_test() {
|
|
Chris PeBenito |
fdef43 |
local OPTS=""
|
|
Chris PeBenito |
fdef43 |
|
|
Chris PeBenito |
fdef43 |
for i in $TYPES; do
|
|
Chris PeBenito |
959fca |
# Monolithic tests
|
|
Chris PeBenito |
6c5614 |
trap cleanup_mon SIGINT SIGQUIT
|
|
Chris PeBenito |
dd6f82 |
OPTS="TYPE=$i MONOLITHIC=y QUIET=y DIRECT_INITRC=y"
|
|
Chris PeBenito |
fdef43 |
[ ! -z "$1" ] && OPTS="$OPTS DISTRO=$1"
|
|
Chris PeBenito |
fdef43 |
echo "**** Options: $OPTS ****"
|
|
Chris PeBenito |
686f13 |
echo -ne "\33]0;mon $i $1\007"
|
|
Chris PeBenito |
dd6f82 |
make $OPTS conf || die "$?" "$OPTS"
|
|
Chris PeBenito |
dd6f82 |
make $OPTS || die "$?" "$OPTS"
|
|
Chris PeBenito |
dd6f82 |
make $OPTS file_contexts || die "$?" "$OPTS"
|
|
Chris PeBenito |
dd6f82 |
$SETFILES -q -c policy.$POLVER file_contexts || die "$?" "$OPTS"
|
|
Chris PeBenito |
6c5614 |
cleanup_mon
|
|
Chris PeBenito |
fdef43 |
|
|
Chris PeBenito |
959fca |
# Loadable module tests
|
|
Chris PeBenito |
6c5614 |
trap cleanup_mod SIGINT SIGQUIT
|
|
Chris PeBenito |
dd6f82 |
OPTS="TYPE=$i MONOLITHIC=n QUIET=y DIRECT_INITRC=y"
|
|
Chris PeBenito |
fdef43 |
[ ! -z "$1" ] && OPTS="$OPTS DISTRO=$1"
|
|
Chris PeBenito |
fdef43 |
echo "**** Options: $OPTS ****"
|
|
Chris PeBenito |
686f13 |
echo -ne "\33]0;mod $i $1\007"
|
|
Chris PeBenito |
dd6f82 |
make $OPTS conf || die "$?" "$OPTS"
|
|
Chris PeBenito |
dd6f82 |
make $OPTS base || die "$?" "$OPTS"
|
|
Chris PeBenito |
dd6f82 |
make $OPTS -j2 modules || die "$?" "$OPTS"
|
|
Chris PeBenito |
fdef43 |
mv base.pp tmp
|
|
Chris PeBenito |
dd6f82 |
############# FIXME
|
|
Chris PeBenito |
dd6f82 |
rm dmesg.pp
|
|
Chris PeBenito |
dd6f82 |
$SE_LINK tmp/base.pp *.pp || die "$?" "$OPTS"
|
|
Chris PeBenito |
6c5614 |
cleanup_mod
|
|
Chris PeBenito |
fdef43 |
done
|
|
Chris PeBenito |
fdef43 |
}
|
|
Chris PeBenito |
fdef43 |
|
|
Chris PeBenito |
6c5614 |
cleanup_mon
|
|
Chris PeBenito |
6c5614 |
cleanup_mod
|
|
Chris PeBenito |
959fca |
do_test
|
|
Chris PeBenito |
fdef43 |
|
|
Chris PeBenito |
6c5614 |
for i in $DISTROS; do
|
|
Chris PeBenito |
6c5614 |
do_test $i
|
|
Chris PeBenito |
6c5614 |
done
|
|
Chris PeBenito |
6c5614 |
|
|
Chris PeBenito |
fdef43 |
echo "Completed successfully."
|