tests: skip tests upon failure to set SELinux context

On some setups the root:object_r:tmp_t context is invalid.
This does indicate a limitation in the test framework,
but for now we'll relax this to skipping the tests.
The tests still run on a Fedora 25 system for example.

* tests/cp/cp-a-selinux.sh: Upon chcon error, skip rather than ERROR.
* tests/install/install-Z-selinux.sh: Likewise.
* tests/misc/chcon.sh: Likewise.
* tests/misc/runcon-no-reorder.sh: Likewise.
* tests/misc/selinux.sh: Likewise.
* tests/mkdir/restorecon.sh: Likewise.
This commit is contained in:
Pádraig Brady
2017-08-30 17:16:23 -07:00
parent 87a95504bb
commit 1e8c458210
6 changed files with 6 additions and 7 deletions

View File

@@ -33,7 +33,7 @@ mls_enabled_ && ctx="$ctx:s0"
# Check basic functionality - before check on fixed context mount
touch c || framework_failure_
chcon $ctx c || framework_failure_
chcon $ctx c || skip "Failed to set context: $ctx"
cp -a c d 2>err || framework_failure_
cp --preserve=context c e || framework_failure_
cp --preserve=all c f || framework_failure_

View File

@@ -24,7 +24,7 @@ require_selinux_
mkdir subdir || framework_failure_
ctx='root:object_r:tmp_t'
mls_enabled_ && ctx="$ctx:s0"
chcon "$ctx" subdir || framework_failure_
chcon "$ctx" subdir || skip "Failed to set context: $ctx"
cd subdir
# Since in a tmp_t dir, dirs can be created as user_tmp_t ...

View File

@@ -35,7 +35,7 @@ r1=object_r
t1=tmp_t
range=s0
ctx=$u1:$r1:$t1:$range
chcon $ctx f || fail=1
chcon $ctx f || skip "Failed to set context: $ctx"
stat --printf='f|%C\n' f > out || fail=1
# Use --reference.

View File

@@ -30,7 +30,7 @@ echo "$diag" > exp || framework_failure_
runcon $(id -Z) true -j 2> out && > exp
# When run on a system with no /selinux/context (i.e., in a chroot),
# it chcon fails with this: "runcon: invalid context: \
# it fails with this: "runcon: invalid context: \
# root:system_r:unconfined_t:s0-s0:c0.c1023: No such file or directory"
# That diagnostic is ok, too, so map it to the more common one.
case $(cat out) in

View File

@@ -33,8 +33,7 @@ mkfifo_or_skip_ p
ctx='root:object_r:tmp_t'
mls_enabled_ && ctx="$ctx:s0"
chcon $ctx f d p ||
skip_ '"chcon '$ctx' ..." failed'
chcon $ctx f d p || skip "Failed to set context: $ctx"
# inspect that context with both ls -Z and stat.
for i in d f p; do

View File

@@ -23,7 +23,7 @@ require_selinux_
mkdir subdir || framework_failure_
ctx='root:object_r:tmp_t'
mls_enabled_ && ctx="$ctx:s0"
chcon "$ctx" subdir || framework_failure_
chcon "$ctx" subdir || skip "Failed to set context: $ctx"
cd subdir
# --- mkdir -Z ---