]> granicus.if.org Git - strace/blobdiff - tests/time.c
tests: extend TEST_NETLINK_OBJECT macro
[strace] / tests / time.c
index f9fde5cb9d14c8928ce58aa0536155fe8e30c3e2..c329a791fd2c788aca70dc19cbd01e84a68ceb63 100644 (file)
@@ -1,5 +1,8 @@
 /*
+ * This file is part of time strace test.
+ *
  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2017 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -26,7 +29,7 @@
  */
 
 #include "tests.h"
-#include <sys/syscall.h>
+#include <asm/unistd.h>
 
 #ifdef __NR_time
 
 int
 main(void)
 {
-       time_t *p = tail_alloc(sizeof(time_t));
-       time_t t = syscall(__NR_time, p);
+       TAIL_ALLOC_OBJECT_CONST_PTR(time_t, p);
 
+       time_t t = syscall(__NR_time, NULL);
        if ((time_t) -1 == t)
                perror_msg_and_skip("time");
+       printf("time(NULL) = %lld (", (long long) t);
+       print_time_t_nsec(t, 0, 0);
+       puts(")");
+
+       t = syscall(__NR_time, p + 1);
+       printf("time(%p) = %s\n", p + 1, sprintrc(t));
 
-       printf("time([%jd]) = %jd\n", (intmax_t) *p, (intmax_t) t);
+       t = syscall(__NR_time, p);
+       printf("time([%lld", (long long) *p);
+       print_time_t_nsec((time_t) *p, 0, 1),
+       printf("]) = %lld (", (long long) t);
+       print_time_t_nsec(t, 0, 0);
+       puts(")");
 
        puts("+++ exited with 0 +++");
        return 0;