diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-07-11 09:51:43 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-07-11 14:16:59 +0200 |
commit | ecabd3849625e690e3c5e218285251baf2a54645 (patch) | |
tree | ec87fd8d0ad0f0ca2d08bbbc6ca0e41216f041a6 /testsuites | |
parent | rtems: Add rtems_scheduler_ident_by_processor() (diff) | |
download | rtems-ecabd3849625e690e3c5e218285251baf2a54645.tar.bz2 |
rtems: Add rtems_scheduler_ident_by_processor_set
Update #3070.
Diffstat (limited to 'testsuites')
-rw-r--r-- | testsuites/smptests/smpscheduler02/init.c | 11 | ||||
-rw-r--r-- | testsuites/sptests/spscheduler01/init.c | 19 |
2 files changed, 30 insertions, 0 deletions
diff --git a/testsuites/smptests/smpscheduler02/init.c b/testsuites/smptests/smpscheduler02/init.c index 7dd60ec4c5..3975802d4a 100644 --- a/testsuites/smptests/smpscheduler02/init.c +++ b/testsuites/smptests/smpscheduler02/init.c @@ -134,8 +134,10 @@ static void test_scheduler_add_remove_processors(void) rtems_test_assert(sc == RTEMS_RESOURCE_IN_USE); if (rtems_get_processor_count() > 1) { + rtems_id scheduler_id; rtems_id scheduler_b_id; rtems_id task_id; + cpu_set_t first_cpu; sc = rtems_scheduler_ident(SCHED_B, &scheduler_b_id); rtems_test_assert(sc == RTEMS_SUCCESSFUL); @@ -153,6 +155,15 @@ static void test_scheduler_add_remove_processors(void) rtems_test_assert(rtems_get_current_processor() == 1); + CPU_ZERO(&first_cpu); + CPU_SET(0, &first_cpu); + sc = rtems_scheduler_ident_by_processor_set( + sizeof(first_cpu), + &first_cpu, + &scheduler_id + ); + rtems_test_assert(sc == RTEMS_INCORRECT_STATE); + sc = rtems_scheduler_add_processor(scheduler_a_id, 0); rtems_test_assert(sc == RTEMS_SUCCESSFUL); diff --git a/testsuites/sptests/spscheduler01/init.c b/testsuites/sptests/spscheduler01/init.c index 2415ace803..9840a3ebc4 100644 --- a/testsuites/sptests/spscheduler01/init.c +++ b/testsuites/sptests/spscheduler01/init.c @@ -343,6 +343,7 @@ static void test_scheduler_ident(void) rtems_id scheduler_id; rtems_name name = BLUE; rtems_name invalid_name = RED; + cpu_set_t s; sc = rtems_scheduler_ident(name, NULL); rtems_test_assert(sc == RTEMS_INVALID_ADDRESS); @@ -367,6 +368,24 @@ static void test_scheduler_ident(void) rtems_test_assert(sc == RTEMS_SUCCESSFUL); rtems_test_assert(scheduler_id == expected_id); + + CPU_ZERO(&s); + CPU_SET(1, &s); + sc = rtems_scheduler_ident_by_processor_set(sizeof(s), &s, NULL); + rtems_test_assert(sc == RTEMS_INVALID_ADDRESS); + + sc = rtems_scheduler_ident_by_processor_set(1, &s, &scheduler_id); + rtems_test_assert(sc == RTEMS_INVALID_SIZE); + + sc = rtems_scheduler_ident_by_processor_set(sizeof(s), &s, &scheduler_id); + rtems_test_assert(sc == RTEMS_INVALID_NAME); + + CPU_SET(0, &s); + scheduler_id = 0; + sc = rtems_scheduler_ident_by_processor_set(sizeof(s), &s, &scheduler_id); + rtems_test_assert(sc == RTEMS_SUCCESSFUL); + + rtems_test_assert(scheduler_id == expected_id); } static void test_scheduler_get_processors(void) |