summaryrefslogtreecommitdiffstats
path: root/testsuites/sptests/spscheduler01/init.c
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2016-10-31 13:08:33 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2016-11-10 09:22:09 +0100
commit05ca53ddf6bc8333c2f3ad861c5415467c3262d2 (patch)
tree9b011af47a8304527c77ba8992418e473f540ecf /testsuites/sptests/spscheduler01/init.c
parentscore: Add and use Thread_Control::is_idle (diff)
downloadrtems-05ca53ddf6bc8333c2f3ad861c5415467c3262d2.tar.bz2
rtems: Add scheduler processor add/remove
Update #2797.
Diffstat (limited to 'testsuites/sptests/spscheduler01/init.c')
-rw-r--r--testsuites/sptests/spscheduler01/init.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/testsuites/sptests/spscheduler01/init.c b/testsuites/sptests/spscheduler01/init.c
index 162d71ae3f..be9fed2c7f 100644
--- a/testsuites/sptests/spscheduler01/init.c
+++ b/testsuites/sptests/spscheduler01/init.c
@@ -411,6 +411,33 @@ static void test_scheduler_get_processors(void)
#endif /* defined(__RTEMS_HAVE_SYS_CPUSET_H__) */
}
+static void test_scheduler_add_remove_processors(void)
+{
+ rtems_status_code sc;
+ rtems_id scheduler_id;
+
+ sc = rtems_scheduler_ident(BLUE, &scheduler_id);
+ rtems_test_assert(sc == RTEMS_SUCCESSFUL);
+
+ sc = rtems_scheduler_add_processor(invalid_id, 0);
+ rtems_test_assert(sc == RTEMS_INVALID_ID);
+
+ sc = rtems_scheduler_remove_processor(invalid_id, 0);
+ rtems_test_assert(sc == RTEMS_INVALID_ID);
+
+ sc = rtems_scheduler_add_processor(scheduler_id, 1);
+ rtems_test_assert(sc == RTEMS_NOT_CONFIGURED);
+
+ sc = rtems_scheduler_remove_processor(scheduler_id, 1);
+ rtems_test_assert(sc == RTEMS_INVALID_NUMBER);
+
+ sc = rtems_scheduler_add_processor(scheduler_id, 0);
+ rtems_test_assert(sc == RTEMS_RESOURCE_IN_USE);
+
+ sc = rtems_scheduler_remove_processor(scheduler_id, 0);
+ rtems_test_assert(sc == RTEMS_RESOURCE_IN_USE);
+}
+
static void test_task_get_priority(void)
{
rtems_status_code sc;
@@ -463,6 +490,7 @@ static void Init(rtems_task_argument arg)
test_task_get_set_scheduler();
test_scheduler_ident();
test_scheduler_get_processors();
+ test_scheduler_add_remove_processors();
test_task_get_priority();
rtems_test_assert(rtems_resource_snapshot_check(&snapshot));