From 7890a1e20896d24217a71a4b40c1fbde8beabb08 Mon Sep 17 00:00:00 2001 From: Eugene Syromyatnikov Date: Mon, 5 Sep 2016 04:31:35 +0300 Subject: [PATCH] tests: add more tests for sched_getscheduler and sched_xetscheduler * tests/sched_xetscheduler.c (main): Check for decoding of invalid PID in sched_getscheduler and sched_setscheduler, invalid address of sched_param structure, and invalid policy value. --- tests/sched_xetscheduler.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/tests/sched_xetscheduler.c b/tests/sched_xetscheduler.c index ffb33076..7faee8cd 100644 --- a/tests/sched_xetscheduler.c +++ b/tests/sched_xetscheduler.c @@ -46,7 +46,26 @@ main(void) printf("sched_getscheduler(0) = %ld (%s)\n", rc, scheduler); + rc = syscall(__NR_sched_getscheduler, -1); + printf("sched_getscheduler(-1) = %s\n", sprintrc(rc)); + param->sched_priority = -1; + + rc = syscall(__NR_sched_setscheduler, 0, SCHED_FIFO, NULL); + printf("sched_setscheduler(0, SCHED_FIFO, NULL) = %s\n", sprintrc(rc)); + + rc = syscall(__NR_sched_setscheduler, 0, SCHED_FIFO, param + 1); + printf("sched_setscheduler(0, SCHED_FIFO, %p) = %s\n", param + 1, + sprintrc(rc)); + + rc = syscall(__NR_sched_setscheduler, 0, 0xfaceda7a, param); + printf("sched_setscheduler(0, %#x /* SCHED_??? */, [%d]) = %s\n", + 0xfaceda7a, param->sched_priority, sprintrc(rc)); + + rc = syscall(__NR_sched_setscheduler, -1, SCHED_FIFO, param); + printf("sched_setscheduler(-1, SCHED_FIFO, [%d]) = %s\n", + param->sched_priority, sprintrc(rc)); + rc = syscall(__NR_sched_setscheduler, 0, SCHED_FIFO, param); printf("sched_setscheduler(0, SCHED_FIFO, [%d]) = %s\n", param->sched_priority, sprintrc(rc)); -- 2.40.0