]> granicus.if.org Git - strace/commitdiff
tests: add memfd_create test variants with different xlat verbosity levels
authorDmitry V. Levin <ldv@altlinux.org>
Mon, 26 Nov 2018 02:04:04 +0000 (02:04 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Mon, 26 Nov 2018 02:04:04 +0000 (02:04 +0000)
* tests/memfd_create-Xabbrev.c: New file.
* tests/memfd_create-Xraw.c: Likewise.
* tests/memfd_create-Xverbose.c: Likewise.
* tests/memfd_create.c: Add handling of XLAT_RAW and XLAT_VERBOSE flags.
* tests/pure_executables.list: Add memfd_create-Xabbrev, memfd_create-Xraw,
and memfd_create-Xverbose.
* tests/.gitignore: Likewise.
* tests/gen_tests.in (memfd_create-Xabbrev, memfd_create-Xraw,
memfd_create-Xverbose): New tests.

tests/.gitignore
tests/gen_tests.in
tests/memfd_create-Xabbrev.c [new file with mode: 0644]
tests/memfd_create-Xraw.c [new file with mode: 0644]
tests/memfd_create-Xverbose.c [new file with mode: 0644]
tests/memfd_create.c
tests/pure_executables.list

index 297319eff9421702c6ece2b6759cfb88ce7c224e..3dbae283b5172c32d1fd1b120fc8993a51089a9d 100644 (file)
@@ -217,6 +217,9 @@ madvise
 mbind
 membarrier
 memfd_create
+memfd_create-Xabbrev
+memfd_create-Xraw
+memfd_create-Xverbose
 migrate_pages
 mincore
 mkdir
index f36cb62f99ff72d112e7687659c0dba7b7b42af7..73d8e393246c56848e47849ff2db4713c71124b1 100644 (file)
@@ -200,6 +200,9 @@ madvise     -a33
 mbind
 membarrier     -a36
 memfd_create
+memfd_create-Xabbrev   -Xabbrev -e trace=memfd_create
+memfd_create-Xraw      -a30 -Xraw -e trace=memfd_create
+memfd_create-Xverbose  -Xverbose -e trace=memfd_create
 migrate_pages  -a33
 mincore        -a22
 mkdir  -a20
diff --git a/tests/memfd_create-Xabbrev.c b/tests/memfd_create-Xabbrev.c
new file mode 100644 (file)
index 0000000..f738c74
--- /dev/null
@@ -0,0 +1 @@
+#include "memfd_create.c"
diff --git a/tests/memfd_create-Xraw.c b/tests/memfd_create-Xraw.c
new file mode 100644 (file)
index 0000000..0673d2d
--- /dev/null
@@ -0,0 +1,2 @@
+#define XLAT_RAW 1
+#include "memfd_create.c"
diff --git a/tests/memfd_create-Xverbose.c b/tests/memfd_create-Xverbose.c
new file mode 100644 (file)
index 0000000..4c428c4
--- /dev/null
@@ -0,0 +1,2 @@
+#define XLAT_VERBOSE 1
+#include "memfd_create.c"
index 8334af84b0f3da2c74408ed34e3f874d8b24951b..c997fbb8b888bfb979b828414e38099122fbee71 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Check decoding of memfd_create syscall.
  *
- * Copyright (c) 2015-2017 Dmitry V. Levin <ldv@altlinux.org>
+ * Copyright (c) 2015-2018 Dmitry V. Levin <ldv@altlinux.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -71,25 +71,58 @@ main(void)
               (int) size - 1, pattern, errstr);
 
        kernel_ulong_t flags = (kernel_ulong_t) 0xfacefeed00000007ULL;
+# define flags1_str "MFD_CLOEXEC|MFD_ALLOW_SEALING|MFD_HUGETLB"
+
        k_memfd_create((uintptr_t) pattern, flags);
+# if XLAT_VERBOSE
+       printf("memfd_create(\"%.*s\"..., %s /* %s */) = %s\n",
+              (int) size - 1, pattern,
+              "0x7", flags1_str, errstr);
+# else
        printf("memfd_create(\"%.*s\"..., %s) = %s\n",
               (int) size - 1, pattern,
-              "MFD_CLOEXEC|MFD_ALLOW_SEALING|MFD_HUGETLB",
+#  if XLAT_RAW
+              "0x7",
+#  else
+              flags1_str,
+#  endif
               errstr);
+# endif
 
        pattern[size - 1] = '\0';
        flags = 30 << MFD_HUGE_SHIFT;
        k_memfd_create((uintptr_t) pattern, flags);
+# if XLAT_RAW
+       printf("memfd_create(\"%s\", %#x) = %s\n",
+              pattern, (unsigned int) flags, errstr);
+# elif XLAT_VERBOSE
+       printf("memfd_create(\"%s\", %#x /* %s */) = %s\n",
+              pattern, (unsigned int) flags, "30<<MFD_HUGE_SHIFT", errstr);
+# else /* XLAT_ABBREV */
        printf("memfd_create(\"%s\", 30<<MFD_HUGE_SHIFT) = %s\n",
               pattern, errstr);
+# endif
 
        pattern += size - 1;
        flags = (kernel_ulong_t) -1ULL;
        k_memfd_create(0, flags);
        flags = -1U & ~(7 | (MFD_HUGE_MASK << MFD_HUGE_SHIFT));
-       printf("memfd_create(NULL, MFD_CLOEXEC|MFD_ALLOW_SEALING|MFD_HUGETLB"
-              "|%#x|%u<<MFD_HUGE_SHIFT) = %s\n",
-              (unsigned int) flags, MFD_HUGE_MASK, errstr);
+
+# define memfd_create_fmt "%s|%#x|%u<<MFD_HUGE_SHIFT"
+
+       printf("memfd_create(NULL, "
+# if XLAT_RAW
+              "0xffffffff) = %s\n",
+# else
+#  if XLAT_VERBOSE
+              "0xffffffff /* " memfd_create_fmt " */"
+#  else /* XLAT_ABBREV */
+              memfd_create_fmt
+#  endif
+              ") = %s\n",
+              flags1_str, (unsigned int) flags, MFD_HUGE_MASK,
+# endif
+              errstr);
 
        puts("+++ exited with 0 +++");
        return 0;
index d787f78e46fa176d34d65529a729c723a2d0e224..e968588958928a8de8fdd85847c99c393be85152 100755 (executable)
@@ -173,6 +173,9 @@ madvise
 mbind
 membarrier
 memfd_create
+memfd_create-Xabbrev
+memfd_create-Xraw
+memfd_create-Xverbose
 migrate_pages
 mincore
 mkdir