diff options
author | Bjoern B. Brandenburg <bbb@cs.unc.edu> | 2010-02-26 09:23:03 -0500 |
---|---|---|
committer | Bjoern B. Brandenburg <bbb@cs.unc.edu> | 2010-02-26 09:23:03 -0500 |
commit | e3098fcce693f90fee6464233c075fbaddc04b07 (patch) | |
tree | 8e3892317987a853dfe051c314c593a49a28b994 | |
parent | fb807645f92cdb0239bc831746d8a1bcc04ce1bb (diff) |
Add test for set_rt_task_param parameter validation.
All passed.
-rw-r--r-- | tests/core_api.c | 27 |
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 | |||
14 | TESTCASE(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(), ¶ms) ); | ||
26 | |||
27 | /* bad CPU */ | ||
28 | params.exec_cost = 90; | ||
29 | params.cpu = -1; | ||
30 | SYSCALL_FAILS( EINVAL, set_rt_task_param(gettid(), ¶ms) ); | ||
31 | |||
32 | /* bad task */ | ||
33 | params.cpu = 0; | ||
34 | SYSCALL_FAILS( EINVAL, set_rt_task_param(-1, ¶ms) ); | ||
35 | |||
36 | |||
37 | /* now try correct params */ | ||
38 | SYSCALL( set_rt_task_param(gettid(), ¶ms) ); | ||
39 | } | ||