[LTP] [PATCH v2] syscalls/nice01: Add test nice(-1) and nice(-50)
Zhao Gongyi
zhaogongyi@huawei.com
Tue Nov 29 09:13:04 CET 2022
1. Add test verify that the errno is zero when callling of nice
legitimately return -1.(nice(-1), the default nice is usally 0)
2. Add test verify that user of root can decrease the nice value of
the process successfully by passing a lower increment
value (< min. applicable limits) to nice() system call.(nice(-50))
Signed-off-by: Zhao Gongyi <zhaogongyi@huawei.com>
---
testcases/kernel/syscalls/nice/nice01.c | 29 +++++++++++++++----------
1 file changed, 17 insertions(+), 12 deletions(-)
diff --git a/testcases/kernel/syscalls/nice/nice01.c b/testcases/kernel/syscalls/nice/nice01.c
index 876246180..008c9972c 100644
--- a/testcases/kernel/syscalls/nice/nice01.c
+++ b/testcases/kernel/syscalls/nice/nice01.c
@@ -17,29 +17,32 @@
#include <sys/resource.h>
#include "tst_test.h"
-#define NICEINC -12
-#define MIN_PRIO -20
+#define MIN_PRIO -20
-static void verify_nice(void)
+static int nice_inc[] = {-1, -12, -50};
+
+static void verify_nice(unsigned int i)
{
int new_nice;
int orig_nice;
int exp_nice;
+ int inc = nice_inc[i];
+ int delta;
orig_nice = SAFE_GETPRIORITY(PRIO_PROCESS, 0);
- TEST(nice(NICEINC));
+ TEST(nice(inc));
- exp_nice = MAX(MIN_PRIO, (orig_nice + NICEINC));
+ exp_nice = MAX(MIN_PRIO, (orig_nice + inc));
if (TST_RET != exp_nice) {
tst_res(TFAIL | TTERRNO, "nice(%d) returned %li, expected %i",
- NICEINC, TST_RET, exp_nice);
+ inc, TST_RET, exp_nice);
return;
}
if (TST_ERR) {
- tst_res(TFAIL | TTERRNO, "nice(%d) failed", NICEINC);
+ tst_res(TFAIL | TTERRNO, "nice(%d) failed", inc);
return;
}
@@ -47,18 +50,20 @@ static void verify_nice(void)
if (new_nice != exp_nice) {
tst_res(TFAIL, "Process priority %i, expected %i",
- new_nice, orig_nice + NICEINC);
+ new_nice, exp_nice);
return;
}
- tst_res(TPASS, "nice(%d) passed", NICEINC);
+ tst_res(TPASS, "nice(%d) passed", inc);
- TEST(nice(-NICEINC));
+ delta = orig_nice - exp_nice;
+ TEST(nice(delta));
if (TST_ERR)
- tst_brk(TBROK | TTERRNO, "nice(%d) failed", -NICEINC);
+ tst_brk(TBROK | TTERRNO, "nice(%d) failed", delta);
}
static struct tst_test test = {
- .test_all = verify_nice,
.needs_root = 1,
+ .test = verify_nice,
+ .tcnt = ARRAY_SIZE(nice_inc),
};
--
2.17.1
More information about the ltp
mailing list