aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/core_api.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/core_api.c b/tests/core_api.c
index 5e7ff65..84d4a18 100644
--- a/tests/core_api.c
+++ b/tests/core_api.c
@@ -10,3 +10,30 @@ TESTCASE(set_rt_task_param_invalid_pointer, ALL,
10 10
11 SYSCALL_FAILS( EFAULT, set_rt_task_param(gettid(), (void*) 0x123 )); 11 SYSCALL_FAILS( EFAULT, set_rt_task_param(gettid(), (void*) 0x123 ));
12} 12}
13
14TESTCASE(set_rt_task_param_invalid_params, ALL,
15 "reject invalid rt_task values")
16{
17 struct rt_task params;
18 params.cpu = 0;
19 params.period = 100;
20 params.phase = 0;
21 params.cls = RT_CLASS_HARD;
22
23 /* over utilize */
24 params.exec_cost = 110;
25 SYSCALL_FAILS( EINVAL, set_rt_task_param(gettid(), &params) );
26
27 /* bad CPU */
28 params.exec_cost = 90;
29 params.cpu = -1;
30 SYSCALL_FAILS( EINVAL, set_rt_task_param(gettid(), &params) );
31
32 /* bad task */
33 params.cpu = 0;
34 SYSCALL_FAILS( EINVAL, set_rt_task_param(-1, &params) );
35
36
37 /* now try correct params */
38 SYSCALL( set_rt_task_param(gettid(), &params) );
39}