From b45a1e78e320962b0135e44d572393fa22404da1 Mon Sep 17 00:00:00 2001 From: Fei Jie Date: Wed, 27 Apr 2016 16:54:19 +0800 Subject: [PATCH] tests: add mlock.test * 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 | 37 +++++++++++++++++++++++++++++++++++++ tests/mlock.test | 6 ++++++ 4 files changed, 46 insertions(+) create mode 100644 tests/mlock.c create mode 100755 tests/mlock.test diff --git a/tests/.gitignore b/tests/.gitignore index 2d9c4ab8..11cc5083 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 af667ee9..495f4ce1 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -162,6 +162,7 @@ check_PROGRAMS = \ mkdirat \ mknod \ mknodat \ + mlock \ mlock2 \ mlockall \ mmap \ @@ -430,6 +431,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 00000000..a56dc1f4 --- /dev/null +++ b/tests/mlock.c @@ -0,0 +1,37 @@ +#include "tests.h" +#include + +#if defined __NR_mlock && defined __NR_munlock + +# include +# include + +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 00000000..9a73a306 --- /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 -- 2.40.0