]> granicus.if.org Git - strace/commitdiff
tests/vfork-f.c: use libtests
authorDmitry V. Levin <ldv@altlinux.org>
Wed, 6 Jan 2016 11:22:59 +0000 (11:22 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Wed, 6 Jan 2016 11:24:44 +0000 (11:24 +0000)
* tests/vfork-f.c (main): Use assert and perror_msg_and_fail.

tests/vfork-f.c

index bcd1cc2d585fc5bfe8d520e193d0b2c83ebe52e9..2b312060e87c0dd668c668d2510a101fb136d602 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -26,6 +26,7 @@
  */
 
 #include "tests.h"
+#include <assert.h>
 #include <fcntl.h>
 #include <stdio.h>
 #include <string.h>
@@ -52,22 +53,16 @@ int main(int ac, char **av, char **ep)
 
        int fds[2];
        (void) close(0);
-       if (pipe(fds)) {
-               perror("pipe");
-               return 77;
-       }
-       if (fcntl(fds[1], F_SETFD, FD_CLOEXEC)) {
-               perror("fcntl");
-               return 77;
-       }
+       if (pipe(fds))
+               perror_msg_and_fail("pipe");
+       if (fcntl(fds[1], F_SETFD, FD_CLOEXEC))
+               perror_msg_and_fail("fcntl");
 
        char *const args[] = { av[0], (char *) "exec", NULL };
        pid_t pid = vfork();
 
-       if (pid < 0) {
-               perror("vfork");
-               return 77;
-       }
+       if (pid < 0)
+               perror_msg_and_fail("vfork");
 
        if (!pid) {
                if (logit("child") || execve(args[0], args, args + 1))
@@ -80,14 +75,8 @@ int main(int ac, char **av, char **ep)
        close(fds[1]);
 
        int status;
-       if (wait(&status) != pid) {
-               perror("wait");
-               return 77;
-       }
-       if (status) {
-               fprintf(stderr, "status = %d\n", status);
-               return 77;
-       }
+       assert(wait(&status) == pid);
+       assert(status == 0);
 
        logit("finish");