tests: avoid root-only test failure when run in a chroot
authorJim Meyering <meyering@redhat.com>
Thu, 19 Jun 2008 06:52:08 +0000 (08:52 +0200)
committerJim Meyering <meyering@redhat.com>
Thu, 19 Jun 2008 07:20:31 +0000 (09:20 +0200)
* tests/misc/runcon-no-reorder: Accept the diagnostic that is
produced when running in a chroot without /selinux/context.
Reported by Jarod Wilson.  Details in
http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13803/focus=13837

tests/misc/runcon-no-reorder

index 07dd081..c1705e5 100755 (executable)
@@ -23,9 +23,8 @@ fi
 
 . $srcdir/test-lib.sh
 
-cat <<\EOF > exp || framework_failure
-runcon: runcon may be used only on a SELinux kernel
-EOF
+diag='runcon: runcon may be used only on a SELinux kernel'
+echo "$diag" > exp || framework_failure
 
 fail=0
 
@@ -35,6 +34,14 @@ fail=0
 # about -j being an invalid option.
 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: \
+# 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
+  'runcon: invalid context: '*) echo "$diag" > out;;
+esac
+
 compare out exp || fail=1
 
 (exit $fail); exit $fail