tests: avoid mkdir/selinux failure when mknod is a shell built-in
authorJim Meyering <meyering@redhat.com>
Wed, 16 Apr 2008 08:29:10 +0000 (10:29 +0200)
committerJim Meyering <meyering@redhat.com>
Wed, 16 Apr 2008 08:29:10 +0000 (10:29 +0200)
* tests/mkdir/selinux: Skip the mknod test if it's a built-in.

tests/mkdir/selinux

index fcd45a8..adbaa6a 100755 (executable)
@@ -30,9 +30,15 @@ fi
 c=invalid-selinux-context
 msg="failed to set default file creation context to \`$c':"
 
+# In OpenBSD's /bin/sh, mknod is a shell built-in.
+# In that case, just skip the mknod test.
+( mknod --version 2>&1 ) | grep 'GNU coreutils' \
+    && mknod='mknod b p' \
+    || mknod='mkdir dir'
+
 # Test each of mkdir, mknod, mkfifo with "-Z invalid-context".
 
-for cmd_w_arg in 'mkdir dir' 'mknod b p' 'mkfifo f'; do
+for cmd_w_arg in 'mkdir dir' "$mknod" 'mkfifo f'; do
   $cmd_w_arg -Z $c 2> out && fail=1
   set $cmd_w_arg; cmd=$1
   echo "$cmd: $msg" > exp || fail=1