xref: /aosp_15_r20/external/selinux/checkpolicy/tests/test_roundtrip.sh (revision 2d543d20722ada2425b5bdab9d0d1d29470e7bba)
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