Some additional syscall parser tests: * Incorrect (negative) PID in sched_getscheduler, sched_setscheduler * Incorrect address of sched_param structure. * Incorrect policy value.
* tests/sched_xetscheduler.c: additional tests. --- tests/sched_xetscheduler.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/tests/sched_xetscheduler.c b/tests/sched_xetscheduler.c index ffb3307..7faee8c 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)); -- 1.7.10.4 ------------------------------------------------------------------------------ _______________________________________________ Strace-devel mailing list Strace-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/strace-devel