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 /tests/core_api.c | |
| parent | fb807645f92cdb0239bc831746d8a1bcc04ce1bb (diff) | |
Add test for set_rt_task_param parameter validation.
All passed.
Diffstat (limited to 'tests/core_api.c')
| -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 | } | ||
