From: Dmitry V. Levin Date: Mon, 26 Nov 2018 02:04:04 +0000 (+0000) Subject: tests: add memfd_create test variants with different xlat verbosity levels X-Git-Tag: v4.26~70 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=956dc3ed36381593f2925d64bc77b92018731cbc;p=strace tests: add memfd_create test variants with different xlat verbosity levels * 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. --- diff --git a/tests/.gitignore b/tests/.gitignore index 297319ef..3dbae283 100644 --- a/tests/.gitignore +++ b/tests/.gitignore @@ -217,6 +217,9 @@ madvise mbind membarrier memfd_create +memfd_create-Xabbrev +memfd_create-Xraw +memfd_create-Xverbose migrate_pages mincore mkdir diff --git a/tests/gen_tests.in b/tests/gen_tests.in index f36cb62f..73d8e393 100644 --- a/tests/gen_tests.in +++ b/tests/gen_tests.in @@ -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 index 00000000..f738c743 --- /dev/null +++ b/tests/memfd_create-Xabbrev.c @@ -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 index 00000000..0673d2d0 --- /dev/null +++ b/tests/memfd_create-Xraw.c @@ -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 index 00000000..4c428c48 --- /dev/null +++ b/tests/memfd_create-Xverbose.c @@ -0,0 +1,2 @@ +#define XLAT_VERBOSE 1 +#include "memfd_create.c" diff --git a/tests/memfd_create.c b/tests/memfd_create.c index 8334af84..c997fbb8 100644 --- a/tests/memfd_create.c +++ b/tests/memfd_create.c @@ -1,7 +1,7 @@ /* * Check decoding of memfd_create syscall. * - * Copyright (c) 2015-2017 Dmitry V. Levin + * Copyright (c) 2015-2018 Dmitry V. Levin * 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<