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