summaryrefslogtreecommitdiffstats
path: root/testsuites/sptests/spintrcritical06
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2010-07-14 07:33:56 +0000
committerSebastian Huber <sebastian.huber@embedded-brains.de>2010-07-14 07:33:56 +0000
commit9688f46656f59e885b2cdae73e5fff0a3a838bd8 (patch)
tree3c770b403dc674077e3b7e1792ee1b6794e86a8c /testsuites/sptests/spintrcritical06
parent2010-07-13 Vinu Rajashekhar <vinutheraj@gmail.com> (diff)
downloadrtems-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.c32
-rw-r--r--testsuites/sptests/spintrcritical06/spintrcritical06.scn3
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 ***