diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2010-07-14 07:33:56 +0000 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2010-07-14 07:33:56 +0000 |
commit | 9688f46656f59e885b2cdae73e5fff0a3a838bd8 (patch) | |
tree | 3c770b403dc674077e3b7e1792ee1b6794e86a8c /testsuites/sptests/spintrcritical06 | |
parent | 2010-07-13 Vinu Rajashekhar <vinutheraj@gmail.com> (diff) | |
download | rtems-9688f46656f59e885b2cdae73e5fff0a3a838bd8.tar.bz2 |
2010-07-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
* spintrcritical06/init.c: Switch semaphore obtain timeouts of
variants. Cleanup.
* spintrcritical05/spintrcritical05.scn,
spintrcritical06/spintrcritical06.scn,
spintrcritical07/spintrcritical07.scn,
spintrcritical11/spintrcritical11.scn,
spintrcritical12/spintrcritical12.scn,
spintrcritical13/spintrcritical13.scn,
spintrcritical14/spintrcritical14.scn: Update.
Diffstat (limited to 'testsuites/sptests/spintrcritical06')
-rw-r--r-- | testsuites/sptests/spintrcritical06/init.c | 32 | ||||
-rw-r--r-- | testsuites/sptests/spintrcritical06/spintrcritical06.scn | 3 |
2 files changed, 8 insertions, 27 deletions
diff --git a/testsuites/sptests/spintrcritical06/init.c b/testsuites/sptests/spintrcritical06/init.c index 491c76d9c3..aad47dd0f7 100644 --- a/testsuites/sptests/spintrcritical06/init.c +++ b/testsuites/sptests/spintrcritical06/init.c @@ -22,40 +22,23 @@ #define INIT_PRIORITY 2 #define BLOCKER_PRIORITY 1 - #define SEMAPHORE_OBTAIN_TIMEOUT 0 + #define SEMAPHORE_OBTAIN_TIMEOUT 2 #elif defined(PRIORITY_NO_TIMEOUT_REVERSE) #define TEST_NAME "07" #define TEST_STRING "Priority/Restart Search Task (Backward)" #define INIT_PRIORITY 126 #define BLOCKER_PRIORITY 127 - #define SEMAPHORE_OBTAIN_TIMEOUT 2 + #define SEMAPHORE_OBTAIN_TIMEOUT 0 #else #error "Test Mode not defined" #endif -rtems_id Main_task; rtems_id Secondary_task_id; rtems_id Semaphore; -Thread_blocking_operation_States getState(void) -{ - Objects_Locations location; - Semaphore_Control *sem; - - sem = (Semaphore_Control *)_Objects_Get( - &_Semaphore_Information, Semaphore, &location ); - if ( location != OBJECTS_LOCAL ) { - puts( "Bad object lookup" ); - rtems_test_exit(0); - } - _Thread_Unnest_dispatch(); - - return sem->Core_control.semaphore.Wait_queue.sync_state; -} - rtems_timer_service_routine test_release_from_isr( rtems_id timer, void *arg @@ -68,17 +51,16 @@ rtems_task Secondary_task( rtems_task_argument arg ) { - rtems_status_code status; - if ( arg ) (void) rtems_semaphore_flush( Semaphore ); - status = rtems_semaphore_obtain( + (void) rtems_semaphore_obtain( Semaphore, RTEMS_DEFAULT_OPTIONS, - SEMAPHORE_OBTAIN_TIMEOUT + RTEMS_NO_TIMEOUT ); - directive_failed( status, "rtems_semaphore_obtain" ); + + rtems_test_assert(0); } rtems_task Init( @@ -102,8 +84,6 @@ rtems_task Init( ); directive_failed( status, "rtems_semaphore_create of SM1" ); - Main_task = rtems_task_self(); - status = rtems_task_create( rtems_build_name( 'B', 'L', 'C', 'K' ), BLOCKER_PRIORITY, diff --git a/testsuites/sptests/spintrcritical06/spintrcritical06.scn b/testsuites/sptests/spintrcritical06/spintrcritical06.scn index ebc410797d..fdcf91c4f1 100644 --- a/testsuites/sptests/spintrcritical06/spintrcritical06.scn +++ b/testsuites/sptests/spintrcritical06/spintrcritical06.scn @@ -1,5 +1,6 @@ *** TEST INTERRUPT CRITICAL SECTION 06 *** Init - Trying to generate semaphore release from ISR while blocking -Init - Variation is: Priority/Without Timeout/Multiple Tasks (Forward) +Init - There is no way for the test to know if it hits the case +Init - Variation is: Priority/Restart Search Task (Forward) Support - rtems_timer_create - creating timer 1 *** END OF TEST INTERRUPT CRITICAL SECTION 06 *** |