From 1f357a8f1af8a7fe7154b8578acfb2f0d0264f69 Mon Sep 17 00:00:00 2001 From: Eugene Syromyatnikov Date: Wed, 4 Apr 2018 23:03:26 +0200 Subject: [PATCH] tests: add mount variants with different xlat verbosity levels * tests/mount-Xabbrev.c: New file. * tests/mount-Xraw.c: Likewise. * tests/mount-Xverbose.c: Likewise. * tests/mount.c: Add handling of XLAT_RAW and XLAT_VERBOSE macros. * tests/pure_executables.list: Add mount-Xabbrev, mount-Xraw, and mount-Xverbose. * tests/.gitignore: Likewise. * tests/gen_tests.in (mount-Xabbrev, mount-Xraw, mount-Xverbose): New tests. --- tests/.gitignore | 3 +++ tests/gen_tests.in | 3 +++ tests/mount-Xabbrev.c | 1 + tests/mount-Xraw.c | 2 ++ tests/mount-Xverbose.c | 2 ++ tests/mount.c | 33 +++++++++++++++++++++++++++------ tests/pure_executables.list | 3 +++ 7 files changed, 41 insertions(+), 6 deletions(-) create mode 100644 tests/mount-Xabbrev.c create mode 100644 tests/mount-Xraw.c create mode 100644 tests/mount-Xverbose.c diff --git a/tests/.gitignore b/tests/.gitignore index 353b1ce3..4201e5ba 100644 --- a/tests/.gitignore +++ b/tests/.gitignore @@ -206,6 +206,9 @@ mmsg_name mmsg_name-v modify_ldt mount +mount-Xabbrev +mount-Xraw +mount-Xverbose move_pages mq mq_sendrecv diff --git a/tests/gen_tests.in b/tests/gen_tests.in index ad030724..bd6565d1 100644 --- a/tests/gen_tests.in +++ b/tests/gen_tests.in @@ -193,6 +193,9 @@ mmsg_name -a25 -e trace=sendmmsg,recvmmsg mmsg_name-v -v -a25 -e trace=sendmmsg,recvmmsg modify_ldt -a23 mount +mount-Xabbrev -e trace=mount -Xabbrev +mount-Xraw -e trace=mount -Xraw +mount-Xverbose -e trace=mount -Xverbose move_pages -s3 mq -a32 -e trace=mq_getsetattr,mq_open,mq_unlink mq_sendrecv -a14 -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink diff --git a/tests/mount-Xabbrev.c b/tests/mount-Xabbrev.c new file mode 100644 index 00000000..0f6fecde --- /dev/null +++ b/tests/mount-Xabbrev.c @@ -0,0 +1 @@ +#include "mount.c" diff --git a/tests/mount-Xraw.c b/tests/mount-Xraw.c new file mode 100644 index 00000000..3aa1f084 --- /dev/null +++ b/tests/mount-Xraw.c @@ -0,0 +1,2 @@ +#define XLAT_RAW 1 +#include "mount.c" diff --git a/tests/mount-Xverbose.c b/tests/mount-Xverbose.c new file mode 100644 index 00000000..0b211c7a --- /dev/null +++ b/tests/mount-Xverbose.c @@ -0,0 +1,2 @@ +#define XLAT_VERBOSE 1 +#include "mount.c" diff --git a/tests/mount.c b/tests/mount.c index cbfe42f8..9bfbc8e5 100644 --- a/tests/mount.c +++ b/tests/mount.c @@ -40,7 +40,28 @@ # define MS_RELATIME (1ul << 21) #endif -#define str_ro_nosuid_nodev_noexec "MS_RDONLY|MS_NOSUID|MS_NODEV|MS_NOEXEC" +#if XLAT_RAW +# define str_mgc_val "0xc0ed0000" +# define str_remount "0x20" +# define str_bind "0x1000" +# define str_ro_nosuid_nodev_noexec "0xf" +# define str_ro_nosuid_nodev_noexec_relatime "0x20000f" +#elif XLAT_VERBOSE +# define str_mgc_val "0xc0ed0000 /* MS_MGC_VAL */" +# define str_remount "0x20 /* MS_REMOUNT */" +# define str_bind "0x1000 /* MS_BIND */" +# define str_ro_nosuid_nodev_noexec \ + "0xf /* MS_RDONLY|MS_NOSUID|MS_NODEV|MS_NOEXEC */" +# define str_ro_nosuid_nodev_noexec_relatime \ + "0x20000f /* MS_RDONLY|MS_NOSUID|MS_NODEV|MS_NOEXEC|MS_RELATIME */" +#else /* !XLAT_RAW && !XLAT_VERBOSE */ +# define str_mgc_val "MS_MGC_VAL" +# define str_remount "MS_REMOUNT" +# define str_bind "MS_BIND" +# define str_ro_nosuid_nodev_noexec "MS_RDONLY|MS_NOSUID|MS_NODEV|MS_NOEXEC" +# define str_ro_nosuid_nodev_noexec_relatime \ + "MS_RDONLY|MS_NOSUID|MS_NODEV|MS_NOEXEC|MS_RELATIME" +#endif /* XLAT_RAW, XLAT_VERBOSE */ int main(void) @@ -58,26 +79,26 @@ main(void) rc = mount(source, target, fstype, MS_RELATIME | 15, data); printf("mount(\"%s\", \"%s\", \"%s\", %s, \"%s\") = %d %s (%m)\n", source, target, fstype, - str_ro_nosuid_nodev_noexec "|MS_RELATIME", + str_ro_nosuid_nodev_noexec_relatime, data, rc, errno2name()); rc = mount(source, target, fstype, MS_MGC_VAL, data); printf("mount(\"%s\", \"%s\", \"%s\", %s, \"%s\") = %d %s (%m)\n", - source, target, fstype, "MS_MGC_VAL", data, rc, errno2name()); + source, target, fstype, str_mgc_val, data, rc, errno2name()); rc = mount(source, target, fstype, MS_MGC_VAL | 15, data); printf("mount(\"%s\", \"%s\", \"%s\", %s, \"%s\") = %d %s (%m)\n", source, target, fstype, - "MS_MGC_VAL|" str_ro_nosuid_nodev_noexec, + str_mgc_val "|" str_ro_nosuid_nodev_noexec, data, rc, errno2name()); rc = mount(source, target, fstype, MS_REMOUNT, data); printf("mount(\"%s\", \"%s\", %p, %s, \"%s\") = %d %s (%m)\n", - source, target, fstype, "MS_REMOUNT", data, rc, errno2name()); + source, target, fstype, str_remount, data, rc, errno2name()); rc = mount(source, target, fstype, MS_BIND, data); printf("mount(\"%s\", \"%s\", %p, %s, %p) = %d %s (%m)\n", - source, target, fstype, "MS_BIND", data, rc, errno2name()); + source, target, fstype, str_bind, data, rc, errno2name()); puts("+++ exited with 0 +++"); return 0; diff --git a/tests/pure_executables.list b/tests/pure_executables.list index 868d694a..05370fb0 100755 --- a/tests/pure_executables.list +++ b/tests/pure_executables.list @@ -165,6 +165,9 @@ mmsg mmsg_name modify_ldt mount +mount-Xabbrev +mount-Xraw +mount-Xverbose move_pages mq mq_sendrecv -- 2.40.0