1#!/bin/sh 2 3set -eu 4 5BASEDIR=$(dirname "$0") 6CHECKPOLICY="${BASEDIR}/../checkpolicy" 7 8check_policy() { 9 POLICY=$1 10 EXPECTED=$2 11 OPTS=$3 12 13 echo "==== Testing ${1}" 14 15 ${CHECKPOLICY} ${OPTS} "${BASEDIR}/${POLICY}" -o "${BASEDIR}/testpol.bin" 16 ${CHECKPOLICY} ${OPTS} -b -F "${BASEDIR}/testpol.bin" -o "${BASEDIR}/testpol.conf" 17 diff -u "${BASEDIR}/${EXPECTED}" "${BASEDIR}/testpol.conf" 18 19 ${CHECKPOLICY} ${OPTS} "${BASEDIR}/${EXPECTED}" -o "${BASEDIR}/testpol.bin" 20 ${CHECKPOLICY} ${OPTS} -b -F "${BASEDIR}/testpol.bin" -o "${BASEDIR}/testpol.conf" 21 diff -u "${BASEDIR}/${EXPECTED}" "${BASEDIR}/testpol.conf" 22 23 echo "==== ${1} success" 24 echo "" 25} 26 27 28check_policy policy_minimal.conf policy_minimal.conf '-E' 29check_policy policy_minimal.conf policy_minimal.conf '-E -S -O' 30 31check_policy policy_minimal_mls.conf policy_minimal_mls.conf '-M -E' 32check_policy policy_minimal_mls.conf policy_minimal_mls.conf '-M -E -S -O' 33 34check_policy policy_allonce.conf policy_allonce.expected.conf '' 35check_policy policy_allonce.conf policy_allonce.expected_opt.conf '-S -O' 36 37check_policy policy_allonce_mls.conf policy_allonce_mls.expected.conf '-M' 38check_policy policy_allonce_mls.conf policy_allonce_mls.expected_opt.conf '-M -S -O' 39 40check_policy policy_allonce_xen.conf policy_allonce_xen.expected.conf '--target xen -c 30 -E' 41check_policy policy_allonce_xen.conf policy_allonce_xen.expected_opt.conf '--target xen -c 30 -E -S -O' 42