]> granicus.if.org Git - strace/commitdiff
tests/uid.c: use libtests
authorDmitry V. Levin <ldv@altlinux.org>
Wed, 6 Jan 2016 15:57:17 +0000 (15:57 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Wed, 6 Jan 2016 15:57:17 +0000 (15:57 +0000)
* tests/uid.c: Use SKIP_MAIN_UNDEFINED.
(main): Use perror_msg_and_skip.

tests/uid.c

index 28e42ed73c5fb1785498a08aa6481cdb473ec8ef..5da04712df9f09ba819dec13604910279b8f0cbe 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014-2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2014-2016 Dmitry V. Levin <ldv@altlinux.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  */
 
 #include "tests.h"
-#include <assert.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <fcntl.h>
 #include <sys/syscall.h>
 
-int
-main(void)
-{
 #if (defined __NR_getuid || defined __NR_getxuid) \
  && defined(__NR_setuid) \
  && defined(__NR_getresuid) \
@@ -42,13 +35,22 @@ main(void)
  && defined(__NR_setresuid) \
  && defined(__NR_fchown) \
  && defined(__NR_getgroups)
+
+# include <assert.h>
+# include <stdlib.h>
+# include <unistd.h>
+# include <fcntl.h>
+
+int
+main(void)
+{
        int uid;
        int size;
        int *list = 0;
 
-#ifndef __NR_getuid
-# define __NR_getuid __NR_getxuid
-#endif
+# ifndef __NR_getuid
+#  define __NR_getuid __NR_getxuid
+# endif
        uid = syscall(__NR_getuid);
 
        (void) close(0);
@@ -60,7 +62,7 @@ main(void)
                        buf[n] = '\0';
                        n = atoi(buf);
                        if (uid == n)
-                               return 77;
+                               error_msg_and_skip("getuid() == overflowuid");
                }
                (void) close(0);
        }
@@ -81,7 +83,12 @@ main(void)
        assert(list = calloc(size + 1, sizeof(*list)));
        assert(syscall(__NR_getgroups, size, list) == size);
        return 0;
+}
+
 #else
-       return 77;
+
+SKIP_MAIN_UNDEFINED("(__NR_getuid || __NR_getxuid)"
+                   " && __NR_setuid && __NR_getresuid && __NR_setreuid"
+                   " && __NR_setresuid && __NR_fchown && __NR_getgroups")
+
 #endif
-}