summaryrefslogtreecommitdiff
path: root/tests/cp/cp-a-selinux
diff options
context:
space:
mode:
Diffstat (limited to 'tests/cp/cp-a-selinux')
-rwxr-xr-xtests/cp/cp-a-selinux34
1 files changed, 11 insertions, 23 deletions
diff --git a/tests/cp/cp-a-selinux b/tests/cp/cp-a-selinux
index 56b9dffdf..8cb5a456c 100755
--- a/tests/cp/cp-a-selinux
+++ b/tests/cp/cp-a-selinux
@@ -22,36 +22,25 @@ if test "$VERBOSE" = yes; then
cp --version
fi
-. $srcdir/../envvar-check
. $srcdir/../lang-default
. $srcdir/../selinux
PRIV_CHECK_ARG=require-root . $srcdir/../priv-check
+. $srcdir/../test-lib.sh
-pwd=`pwd`
-t0=`echo "$0"|sed 's,.*/,,'`.tmp; tmp=$t0/$$
-trap 'status=$?; cd "$pwd"; umount $tmp/mnt; chmod -R u+rwx $t0 && rm -rf $t0 && exit $status' 0
-trap '(exit $?); exit $?' 1 2 13 15
-
-framework_failure=0
-mkdir -p $tmp || framework_failure=1
-cd $tmp || framework_failure=1
+cwd=`pwd`
+cleanup_() { cd /; umount "$cwd/mnt"; }
# Create a file system, then mount it with the context=... option.
dd if=/dev/zero of=blob bs=8192 count=200 > /dev/null 2>&1 \
- || framework_failure=1
-mkdir mnt || framework_failure=1
-mkfs -t ext2 -F blob > /dev/null 2>&1 || framework_failure=1
+ || framework_failure
+mkdir mnt || framework_failure
+mkfs -t ext2 -F blob > /dev/null 2>&1 || framework_failure
mount -oloop,context=system_u:object_r:removable_t blob mnt \
- || framework_failure=1
-cd mnt || framework_failure=1
-
-echo > f || framework_failure=1
-echo > g || framework_failure=1
+ || framework_failure
+cd mnt || framework_failure
-if test $framework_failure = 1; then
- echo "$0: failure in testing framework" 1>&2
- (exit 1); exit 1
-fi
+echo > f || framework_failure
+echo > g || framework_failure
fail=0
@@ -86,7 +75,6 @@ cat <<\EOF > exp || fail=1
cp: failed to set the security context of
EOF
-cmp out exp || fail=1
-test $fail = 1 && diff out exp 2> /dev/null
+compare out exp || fail=1
(exit $fail); exit $fail