aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjoern B. Brandenburg <bbb@cs.unc.edu>2010-02-26 09:23:03 -0500
committerBjoern B. Brandenburg <bbb@cs.unc.edu>2010-02-26 09:23:03 -0500
commite3098fcce693f90fee6464233c075fbaddc04b07 (patch)
tree8e3892317987a853dfe051c314c593a49a28b994
parentfb807645f92cdb0239bc831746d8a1bcc04ce1bb (diff)
Add test for set_rt_task_param parameter validation.
All passed.
-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}