]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/libvirt.git/commitdiff
securityselinuxlabeltest: Don't create dummy file in the srcdir
authorMichal Privoznik <mprivozn@redhat.com>
Tue, 1 Jul 2014 12:52:28 +0000 (14:52 +0200)
committerMichal Privoznik <mprivozn@redhat.com>
Tue, 1 Jul 2014 14:45:35 +0000 (16:45 +0200)
At the very beginning of the test we check if the underlying
filesystem supports extended attributes as they are used to store fake
SELinux labels. In order to check that, a dummy file is created and
semi-random attribute is set. However, the file is created under:

  abs_srcdir "/securityselinuxlabeldata/testxattr"

which has two problems: abs_srcdir is not required to be writable, so
it should have been abs_builddir. The second one is - there's no
"securityselinuxlabeldata" folder under abs_builddir. The problem was
introduced in caf164f1.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
tests/securityselinuxlabeltest.c

index 3699d89e90d76415a98056fbe7df0005893d1979..455eb74caf43363af21b977f4f8fda3c4d3e7689 100644 (file)
@@ -65,10 +65,11 @@ testUserXattrEnabled(void)
     const char *con_value = "system_u:object_r:svirt_image_t:s0:c41,c264";
     char *path = NULL;
     if (virAsprintf(&path, "%s/securityselinuxlabeldata/testxattr",
-                    abs_srcdir) < 0)
+                    abs_builddir) < 0)
         goto cleanup;
 
-    if (virFileTouch(path, 0600) < 0)
+    if (virFileMakePath(abs_builddir "/securityselinuxlabeldata") < 0 ||
+        virFileTouch(path, 0600) < 0)
         goto cleanup;
 
     len = setxattr(path, "user.libvirt.selinux", con_value,
@@ -83,6 +84,7 @@ testUserXattrEnabled(void)
 
  cleanup:
     unlink(path);
+    rmdir(abs_builddir "/securityselinuxlabeldata");
     VIR_FREE(path);
     return ret;
 }