From: Dmitry V. Levin Date: Mon, 26 Nov 2018 02:04:04 +0000 (+0000) Subject: tests: add remap_file_pages test variants with different xlat verbosity levels X-Git-Tag: v4.26~68 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a4fb2fbdde0971e210362856a493317716a0fb8f;p=strace tests: add remap_file_pages test variants with different xlat verbosity levels * tests/remap_file_pages-Xabbrev.c: New file. * tests/remap_file_pages-Xraw.c: Likewise. * tests/remap_file_pages-Xverbose.c: Likewise. * tests/remap_file_pages.c: Add handling of XLAT_RAW and XLAT_VERBOSE flags. * tests/pure_executables.list: Add remap_file_pages-Xabbrev, remap_file_pages-Xraw, and remap_file_pages-Xverbose. * tests/.gitignore: Likewise. * tests/gen_tests.in (remap_file_pages-Xabbrev, remap_file_pages-Xraw, remap_file_pages-Xverbose): New tests. --- diff --git a/tests/.gitignore b/tests/.gitignore index 3dbae283..58729054 100644 --- a/tests/.gitignore +++ b/tests/.gitignore @@ -417,6 +417,9 @@ recvmmsg-timeout recvmsg redirect-fds remap_file_pages +remap_file_pages-Xabbrev +remap_file_pages-Xraw +remap_file_pages-Xverbose rename renameat renameat2 diff --git a/tests/gen_tests.in b/tests/gen_tests.in index 73d8e393..7374add8 100644 --- a/tests/gen_tests.in +++ b/tests/gen_tests.in @@ -359,6 +359,9 @@ recvmmsg-timeout -a25 -e trace=recvmmsg recvmsg -eread=0 -ewrite=1 -e trace=recvmsg,sendmsg regex test_trace_expr '' -etrace='/^(.*_)?statv?fs' remap_file_pages +remap_file_pages-Xabbrev -Xabbrev -e trace=remap_file_pages +remap_file_pages-Xraw -Xraw -e trace=remap_file_pages +remap_file_pages-Xverbose -Xverbose -e trace=remap_file_pages rename -a35 renameat renameat2 diff --git a/tests/pure_executables.list b/tests/pure_executables.list index e9685889..a4e9020a 100755 --- a/tests/pure_executables.list +++ b/tests/pure_executables.list @@ -340,6 +340,9 @@ recvfrom recvmmsg-timeout recvmsg remap_file_pages +remap_file_pages-Xabbrev +remap_file_pages-Xraw +remap_file_pages-Xverbose rename renameat renameat2 diff --git a/tests/remap_file_pages-Xabbrev.c b/tests/remap_file_pages-Xabbrev.c new file mode 100644 index 00000000..d808f423 --- /dev/null +++ b/tests/remap_file_pages-Xabbrev.c @@ -0,0 +1 @@ +#include "remap_file_pages.c" diff --git a/tests/remap_file_pages-Xraw.c b/tests/remap_file_pages-Xraw.c new file mode 100644 index 00000000..f01d20af --- /dev/null +++ b/tests/remap_file_pages-Xraw.c @@ -0,0 +1,2 @@ +#define XLAT_RAW 1 +#include "remap_file_pages.c" diff --git a/tests/remap_file_pages-Xverbose.c b/tests/remap_file_pages-Xverbose.c new file mode 100644 index 00000000..51e0e34e --- /dev/null +++ b/tests/remap_file_pages-Xverbose.c @@ -0,0 +1,2 @@ +#define XLAT_VERBOSE 1 +#include "remap_file_pages.c" diff --git a/tests/remap_file_pages.c b/tests/remap_file_pages.c index f861b306..4d1f7781 100644 --- a/tests/remap_file_pages.c +++ b/tests/remap_file_pages.c @@ -30,6 +30,7 @@ #include "tests.h" #include +#include "scno.h" #ifdef __NR_remap_file_pages @@ -61,12 +62,25 @@ main(void) kernel_ulong_t prot = PROT_READ|PROT_WRITE|PROT_EXEC; kernel_ulong_t pgoff = (kernel_ulong_t) 0xcaf3babebad4deedULL; kernel_ulong_t flags = MAP_PRIVATE|MAP_ANONYMOUS; +# define prot1_str "PROT_READ|PROT_WRITE|PROT_EXEC" +# define flags1_str "MAP_PRIVATE|MAP_ANONYMOUS" k_remap_file_pages(addr, size, prot, pgoff, flags); +# if XLAT_RAW + printf("remap_file_pages(%#jx, %ju, %#jx, %ju, %#jx) = %s\n", + (uintmax_t) addr, (uintmax_t) size, (uintmax_t) prot, + (uintmax_t) pgoff, (uintmax_t) flags, errstr); +# elif XLAT_VERBOSE + printf("remap_file_pages(%#jx, %ju, %#jx /* %s */, %ju, %#jx /* %s */)" + " = %s\n", + (uintmax_t) addr, (uintmax_t) size, (uintmax_t) prot, prot1_str, + (uintmax_t) pgoff, (uintmax_t) flags, + flags1_str, errstr); +# else /* XLAT_ABBREV */ printf("remap_file_pages(%#jx, %ju, %s, %ju, %s) = %s\n", - (uintmax_t) addr, (uintmax_t) size, - "PROT_READ|PROT_WRITE|PROT_EXEC", - (uintmax_t) pgoff, "MAP_PRIVATE|MAP_ANONYMOUS", errstr); + (uintmax_t) addr, (uintmax_t) size, prot1_str, + (uintmax_t) pgoff, flags1_str, errstr); +# endif #ifdef MAP_HUGETLB # ifndef MAP_HUGE_2MB @@ -81,22 +95,36 @@ main(void) flags = MAP_TYPE | MAP_FIXED | MAP_NORESERVE | MAP_HUGETLB | MAP_HUGE_2MB; k_remap_file_pages(addr, size, prot, pgoff, flags); - printf("remap_file_pages(%#jx, %ju, %s, %ju" + /* * HP PA-RISC is the only architecture that has MAP_TYPE defined to 0x3, which * is also used for MAP_SHARED_VALIDATE since Linux commit v4.15-rc1~71^2^2~23. */ # ifdef __hppa__ - ", MAP_SHARED_VALIDATE" +# define MAP_TYPE_str "MAP_SHARED_VALIDATE" # else - ", 0xf /* MAP_??? */" +# define MAP_TYPE_str "0xf /* MAP_??? */" # endif - "|MAP_FIXED|MAP_NORESERVE|MAP_HUGETLB|21<