]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test-acl-util: skip test if /tmp doesn't do ACLs
authorLennart Poettering <lennart@poettering.net>
Fri, 11 Sep 2020 20:25:25 +0000 (22:25 +0200)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Sat, 12 Sep 2020 06:12:36 +0000 (08:12 +0200)
Fixes: #17013
src/test/test-acl-util.c

index 00c482efedb47d64529b8c5ff81f3284aed114bb..08764faa4f5a852b7292872ddfd2927dacab6b30 100644 (file)
@@ -6,13 +6,15 @@
 #include <unistd.h>
 
 #include "acl-util.h"
+#include "errno-util.h"
 #include "fd-util.h"
 #include "format-util.h"
 #include "string-util.h"
+#include "tests.h"
 #include "tmpfile-util.h"
 #include "user-util.h"
 
-static void test_add_acls_for_user(void) {
+static int test_add_acls_for_user(void) {
         char fn[] = "/tmp/test-empty.XXXXXX";
         _cleanup_close_ int fd = -1;
         char *cmd;
@@ -42,6 +44,9 @@ static void test_add_acls_for_user(void) {
                 uid = getuid();
 
         r = fd_add_uid_acl_permission(fd, uid, ACL_READ);
+        if (ERRNO_IS_NOT_SUPPORTED(r))
+                return log_tests_skipped("no ACL support on /tmp");
+
         log_info_errno(r, "fd_add_uid_acl_permission(%i, "UID_FMT", ACL_READ): %m", fd, uid);
         assert_se(r >= 0);
 
@@ -62,11 +67,10 @@ static void test_add_acls_for_user(void) {
         cmd = strjoina("getfacl -p ", fn);
         assert_se(system(cmd) == 0);
 
-        unlink(fn);
+        (void) unlink(fn);
+        return 0;
 }
 
 int main(int argc, char **argv) {
-        test_add_acls_for_user();
-
-        return 0;
+        return test_add_acls_for_user();
 }