tests: add more tests for ched_rr_get_interval decoding
* tests/sched_rr_get_interval.c (main): Check decoding of invalid timespec pointer and successful syscall invocation.
This commit is contained in:
parent
2fdb64efd6
commit
25463ec93e
@ -3,6 +3,7 @@
|
||||
|
||||
#ifdef __NR_sched_rr_get_interval
|
||||
|
||||
# include <stdint.h>
|
||||
# include <stdio.h>
|
||||
# include <sched.h>
|
||||
# include <unistd.h>
|
||||
@ -11,8 +12,24 @@ int
|
||||
main(void)
|
||||
{
|
||||
struct timespec *const tp = tail_alloc(sizeof(struct timespec));
|
||||
long rc = syscall(__NR_sched_rr_get_interval, -1, tp);
|
||||
printf("sched_rr_get_interval(-1, %p) = %s\n", sprintrc(rc));
|
||||
long rc;
|
||||
|
||||
rc = syscall(__NR_sched_rr_get_interval, 0, NULL);
|
||||
printf("sched_rr_get_interval(0, NULL) = %s\n", sprintrc(rc));
|
||||
|
||||
rc = syscall(__NR_sched_rr_get_interval, 0, tp + 1);
|
||||
printf("sched_rr_get_interval(0, %p) = %s\n", tp + 1, sprintrc(rc));
|
||||
|
||||
rc = syscall(__NR_sched_rr_get_interval, -1, tp);
|
||||
printf("sched_rr_get_interval(-1, %p) = %s\n", tp, sprintrc(rc));
|
||||
|
||||
rc = syscall(__NR_sched_rr_get_interval, 0, tp);
|
||||
if (rc == 0)
|
||||
printf("sched_rr_get_interval(0, {%jd, %jd}) = 0\n",
|
||||
(intmax_t)tp->tv_sec, (intmax_t)tp->tv_nsec);
|
||||
else
|
||||
printf("sched_rr_get_interval(-1, %p) = %s\n", tp,
|
||||
sprintrc(rc));
|
||||
|
||||
puts("+++ exited with 0 +++");
|
||||
return 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user