]> granicus.if.org Git - strace/commitdiff
tests: add mount variants with different xlat verbosity levels
authorEugene Syromyatnikov <evgsyr@gmail.com>
Wed, 4 Apr 2018 21:03:26 +0000 (23:03 +0200)
committerDmitry V. Levin <ldv@altlinux.org>
Sat, 28 Apr 2018 20:48:52 +0000 (20:48 +0000)
* 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
tests/gen_tests.in
tests/mount-Xabbrev.c [new file with mode: 0644]
tests/mount-Xraw.c [new file with mode: 0644]
tests/mount-Xverbose.c [new file with mode: 0644]
tests/mount.c
tests/pure_executables.list

index 353b1ce3ae4f74e2d7a8ef2e6fcbbbc632ed2aae..4201e5ba115e218bfbe4f3a219e848d19ff32869 100644 (file)
@@ -206,6 +206,9 @@ mmsg_name
 mmsg_name-v
 modify_ldt
 mount
+mount-Xabbrev
+mount-Xraw
+mount-Xverbose
 move_pages
 mq
 mq_sendrecv
index ad03072428bd1632494c75a783ce4b98d2bb6edf..bd6565d162d630d95a33bcc735ba8f7d94a1189b 100644 (file)
@@ -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 (file)
index 0000000..0f6fecd
--- /dev/null
@@ -0,0 +1 @@
+#include "mount.c"
diff --git a/tests/mount-Xraw.c b/tests/mount-Xraw.c
new file mode 100644 (file)
index 0000000..3aa1f08
--- /dev/null
@@ -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 (file)
index 0000000..0b211c7
--- /dev/null
@@ -0,0 +1,2 @@
+#define XLAT_VERBOSE 1
+#include "mount.c"
index cbfe42f8f92507a8c888db4c67a24c6406d7c5fd..9bfbc8e5eb0c22bd3f8f32afa13c473bb8e70bf8 100644 (file)
 # 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;
index 868d694a2661dde9d6c9e044747d0ec8d19013e4..05370fb0711a7bedf9dc88fec2bba481e7d2ad41 100755 (executable)
@@ -165,6 +165,9 @@ mmsg
 mmsg_name
 modify_ldt
 mount
+mount-Xabbrev
+mount-Xraw
+mount-Xverbose
 move_pages
 mq
 mq_sendrecv