[LTP] [PATCH v4 2/2] syscalls/prctl09: New timer sample test for PR_SET_TIMERSLACK
Yang Xu
xuyang2018.jy@cn.fujitsu.com
Fri Oct 11 06:23:18 CEST 2019
Signed-off-by: Yang Xu <xuyang2018.jy@cn.fujitsu.com>
---
runtest/syscalls | 1 +
testcases/kernel/syscalls/prctl/.gitignore | 1 +
testcases/kernel/syscalls/prctl/Makefile | 2 +-
testcases/kernel/syscalls/prctl/prctl09.c | 45 ++++++++++++++++++++++
4 files changed, 48 insertions(+), 1 deletion(-)
create mode 100644 testcases/kernel/syscalls/prctl/prctl09.c
diff --git a/runtest/syscalls b/runtest/syscalls
index 76961a684..705d7f87e 100644
--- a/runtest/syscalls
+++ b/runtest/syscalls
@@ -879,6 +879,7 @@ prctl05 prctl05
prctl06 prctl06
prctl07 prctl07
prctl08 prctl08
+prctl09 prctl09
pread01 pread01
pread01_64 pread01_64
diff --git a/testcases/kernel/syscalls/prctl/.gitignore b/testcases/kernel/syscalls/prctl/.gitignore
index fe36a8e0f..0f2c9b194 100644
--- a/testcases/kernel/syscalls/prctl/.gitignore
+++ b/testcases/kernel/syscalls/prctl/.gitignore
@@ -7,3 +7,4 @@
/prctl06_execve
/prctl07
/prctl08
+/prctl09
diff --git a/testcases/kernel/syscalls/prctl/Makefile b/testcases/kernel/syscalls/prctl/Makefile
index cf19507c0..c02b6d1de 100644
--- a/testcases/kernel/syscalls/prctl/Makefile
+++ b/testcases/kernel/syscalls/prctl/Makefile
@@ -21,5 +21,5 @@ top_srcdir ?= ../../../..
include $(top_srcdir)/include/mk/testcases.mk
prctl07: LDLIBS += $(CAP_LIBS)
-
+prctl09: LDLIBS += -lrt
include $(top_srcdir)/include/mk/generic_leaf_target.mk
diff --git a/testcases/kernel/syscalls/prctl/prctl09.c b/testcases/kernel/syscalls/prctl/prctl09.c
new file mode 100644
index 000000000..e8d9aabd0
--- /dev/null
+++ b/testcases/kernel/syscalls/prctl/prctl09.c
@@ -0,0 +1,45 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (c) 2019 FUJITSU LIMITED. All rights reserved.
+ * Author: Yang Xu <xuyang2018.jy@cn.fujitsu.com>
+ */
+
+/*
+ * Test Description:
+ * This is a timer sampling tests that timer slack is 200us.
+ */
+
+#include <errno.h>
+#include <sys/prctl.h>
+#include "lapi/prctl.h"
+#include "tst_timer_test.h"
+
+int sample_fn(int clk_id, long long usec)
+{
+ struct timespec t = tst_us_to_timespec(usec);
+
+ TEST(prctl(PR_SET_TIMERSLACK, 200000));
+ if (TST_RET != 0) {
+ tst_res(TFAIL | TTERRNO,
+ "prctl(), returned %li", TST_RET);
+ return 1;
+ }
+
+ tst_timer_start(clk_id);
+ TEST(nanosleep(&t, NULL));
+ tst_timer_stop();
+ tst_timer_sample();
+
+ if (TST_RET != 0) {
+ tst_res(TFAIL | TTERRNO,
+ "nanosleep() returned %li", TST_RET);
+ return 1;
+ }
+
+ return 0;
+}
+
+static struct tst_test test = {
+ .scall = "prctl()",
+ .sample = sample_fn,
+};
--
2.18.1
More information about the ltp
mailing list