]> granicus.if.org Git - strace/commitdiff
tests/umovestr.c: use libtests
authorDmitry V. Levin <ldv@altlinux.org>
Sun, 3 Jan 2016 21:58:52 +0000 (21:58 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Tue, 5 Jan 2016 23:24:36 +0000 (23:24 +0000)
* tests/umovestr.c (main): Use perror_msg_and_skip and tail_alloc.

tests/umovestr.c

index dac2eadb4becf9c1e14070fe989d3a7da77c3b8b..95fccb6777de8ce22b519be0093426205546c939 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
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#include "tests.h"
 #include <string.h>
 #include <unistd.h>
-#include <sys/mman.h>
 
 int
 main(void)
 {
-       const size_t page_len = sysconf(_SC_PAGESIZE);
        const size_t tail_len = 257;
-
-       if (tail_len >= page_len)
-               return 77;
-
-       void *p = mmap(NULL, page_len * 2, PROT_READ | PROT_WRITE,
-                      MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
-       if (p == MAP_FAILED || mprotect(p + page_len, page_len, PROT_NONE))
-               return 77;
-
-       memset(p, 0, page_len);
-       char *addr = p + page_len - tail_len;
+       char *addr = tail_alloc(tail_len);
        memset(addr, '/', tail_len - 1);
+       addr[tail_len - 1] = '\0';
        if (chdir(addr))
-               return 77;
-
+               perror_msg_and_skip("chdir");
        return 0;
 }