]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test-umask-util: add test for get_process_umask()
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Mon, 21 Aug 2023 18:25:13 +0000 (20:25 +0200)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Tue, 22 Aug 2023 10:31:45 +0000 (12:31 +0200)
It didn't have any test, and here we're setting umask, so we can add
the test for free.

src/test/test-umask-util.c

index bd5bc9cb437029d2571323bf2a9f2979d2ddb020..8316dfb44ade28ba4d09d1e7088e3fae87a71974 100644 (file)
@@ -1,11 +1,12 @@
 /* SPDX-License-Identifier: LGPL-2.1-or-later */
 
+#include "process-util.h"
 #include "tests.h"
 #include "umask-util.h"
 
 int main(int argc, char *argv[]) {
         size_t n;
-        mode_t u;
+        mode_t u, t;
 
         test_setup_logging(LOG_DEBUG);
 
@@ -15,19 +16,31 @@ int main(int argc, char *argv[]) {
         WITH_UMASK(0123) {
                 assert_se(umask(000) == 0123);
                 n++;
+
+                assert_se(get_process_umask(0, &t) == 0);
+                assert_se(t == 000);
         }
 
         assert_se(n == 1);
         assert_se(umask(u) == 0111);
 
+        assert_se(get_process_umask(getpid_cached(), &t) == 0);
+        assert_se(t == u);
+
         WITH_UMASK(0135) {
                 assert_se(umask(000) == 0135);
                 n++;
+
+                assert_se(get_process_umask(0, &t) == 0);
+                assert_se(t == 000);
         }
 
         assert_se(n == 2);
         assert_se(umask(0111) == u);
 
+        assert_se(get_process_umask(0, &t) == 0);
+        assert_se(t == 0111);
+
         WITH_UMASK(0315) {
                 assert_se(umask(000) == 0315);
                 n++;
@@ -37,5 +50,8 @@ int main(int argc, char *argv[]) {
         assert_se(n == 3);
         assert_se(umask(u) == 0111);
 
+        assert_se(get_process_umask(0, &t) == 0);
+        assert_se(t == u);
+
         return EXIT_SUCCESS;
 }