]> granicus.if.org Git - strace/commitdiff
tests/linkat.c: check AT_* decoding
authorDmitry V. Levin <ldv@altlinux.org>
Thu, 7 Apr 2016 00:31:44 +0000 (00:31 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Thu, 7 Apr 2016 00:31:44 +0000 (00:31 +0000)
* tests/linkat.c (main): Check decoding of AT_* constants.

tests/linkat.c

index 6a1a52e6c384d62c30f382ed8eeabe895a2621de..1577f0dd8e928aa01706b42195b0ce99d238906f 100644 (file)
@@ -20,6 +20,13 @@ main(void)
               (int) fd_old, sample_1, (int) fd_new, sample_2, rc,
               errno == ENOSYS ? "ENOSYS" : "EBADF");
 
+       rc = syscall(__NR_linkat, -100, sample_1, -100, sample_2, -1L);
+       printf("linkat(%s, \"%s\", %s, \"%s\", %s) = %d %s (%m)\n",
+              "AT_FDCWD", sample_1, "AT_FDCWD", sample_2,
+              "AT_SYMLINK_NOFOLLOW|AT_REMOVEDIR|AT_SYMLINK_FOLLOW"
+              "|AT_NO_AUTOMOUNT|AT_EMPTY_PATH|0xffffe0ff",
+              rc, errno == ENOSYS ? "ENOSYS" : "EINVAL");
+
        puts("+++ exited with 0 +++");
        return 0;
 }