From e3098fcce693f90fee6464233c075fbaddc04b07 Mon Sep 17 00:00:00 2001 From: "Bjoern B. Brandenburg" Date: Fri, 26 Feb 2010 09:23:03 -0500 Subject: Add test for set_rt_task_param parameter validation. All passed. --- tests/core_api.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) 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, SYSCALL_FAILS( EFAULT, set_rt_task_param(gettid(), (void*) 0x123 )); } + +TESTCASE(set_rt_task_param_invalid_params, ALL, + "reject invalid rt_task values") +{ + struct rt_task params; + params.cpu = 0; + params.period = 100; + params.phase = 0; + params.cls = RT_CLASS_HARD; + + /* over utilize */ + params.exec_cost = 110; + SYSCALL_FAILS( EINVAL, set_rt_task_param(gettid(), ¶ms) ); + + /* bad CPU */ + params.exec_cost = 90; + params.cpu = -1; + SYSCALL_FAILS( EINVAL, set_rt_task_param(gettid(), ¶ms) ); + + /* bad task */ + params.cpu = 0; + SYSCALL_FAILS( EINVAL, set_rt_task_param(-1, ¶ms) ); + + + /* now try correct params */ + SYSCALL( set_rt_task_param(gettid(), ¶ms) ); +} -- cgit v1.2.2