[PATCH 1/3] tests: add mlock.test

Fei Jie feij.fnst at cn.fujitsu.com
Wed Apr 27 08:54:19 UTC 2016


* tests/mlock.c: New file.
* tests/mlock.test: New test.
* tests/.gitignore: Add mlock.
* tests/Makefile.am (check_PROGRAMS): Likewise.
(DECODER_TESTS): Add mlock.test.
---
 tests/.gitignore  |  1 +
 tests/Makefile.am |  2 ++
 tests/mlock.c     | 38 ++++++++++++++++++++++++++++++++++++++
 tests/mlock.test  |  6 ++++++
 4 files changed, 47 insertions(+)
 create mode 100644 tests/mlock.c
 create mode 100755 tests/mlock.test

diff --git a/tests/.gitignore b/tests/.gitignore
index 9195b5b..f2fa908 100644
--- a/tests/.gitignore
+++ b/tests/.gitignore
@@ -110,6 +110,7 @@ mkdir
 mkdirat
 mknod
 mknodat
+mlock
 mlock2
 mlockall
 mmap
diff --git a/tests/Makefile.am b/tests/Makefile.am
index a418b03..3c01e6b 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -162,6 +162,7 @@ check_PROGRAMS = \
 	mkdirat \
 	mknod \
 	mknodat \
+	mlock \
 	mlock2 \
 	mlockall \
 	mmap \
@@ -428,6 +429,7 @@ DECODER_TESTS = \
 	mkdirat.test \
 	mknod.test \
 	mknodat.test \
+	mlock.test \
 	mlock2.test \
 	mlockall.test \
 	mmap.test \
diff --git a/tests/mlock.c b/tests/mlock.c
new file mode 100644
index 0000000..b75aab9
--- /dev/null
+++ b/tests/mlock.c
@@ -0,0 +1,38 @@
+#include "tests.h"
+#include <sys/syscall.h>
+
+#if defined __NR_mlock && defined __NR_munlock
+
+# include <stdio.h>
+# include <unistd.h>
+# include <sys/mman.h>
+
+const int size = 1024;
+
+int
+main(void)
+{
+	const char *addr = tail_alloc(size);
+	if (syscall(__NR_mlock, addr, size) == 0) {
+		printf("mlock(%p, %d) = 0\n", addr, size);
+	} else {
+		printf("mlock(%p, %d) = -1 %s (%m)\n",
+		       addr, size, errno2name());
+	}
+
+	if (syscall(__NR_munlock, addr, size) == 0) {
+		printf("munlock(%p, %d) = 0\n", addr, size);
+	} else {
+		printf("munlock(%p, %d) = -1 %s (%m)\n",
+		       addr, size, errno2name());
+	}
+
+	puts("+++ exited with 0 +++");
+	return 0;
+}
+
+#else
+
+SKIP_MAIN_DEFINED("__NR_mlock && __NR_munlock")
+
+#endif
diff --git a/tests/mlock.test b/tests/mlock.test
new file mode 100755
index 0000000..9a73a30
--- /dev/null
+++ b/tests/mlock.test
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# Check mlock and munlock syscalls decoding.
+
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -e trace=mlock,munlock -a20
-- 
1.8.3.1







More information about the Strace-devel mailing list