summaryrefslogtreecommitdiffstats
path: root/testsuites
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2013-07-19 10:12:13 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2013-07-22 16:45:58 +0200
commit57c8805648dab577fa460fbf09f4ce920c59ca19 (patch)
tree2cd09c17d5494f0ad16ec34b60b0fdc73b8c9388 /testsuites
parentbsp/gen83xx: Fix BSP options for MPC8348EAMDS (diff)
downloadrtems-57c8805648dab577fa460fbf09f4ce920c59ca19.tar.bz2
smptests: Be successful on one processor
Diffstat (limited to 'testsuites')
-rw-r--r--testsuites/smptests/smp02/init.c13
-rw-r--r--testsuites/smptests/smp03/init.c13
-rw-r--r--testsuites/smptests/smp05/init.c13
-rw-r--r--testsuites/smptests/smp06/init.c18
-rw-r--r--testsuites/smptests/smp07/init.c13
5 files changed, 58 insertions, 12 deletions
diff --git a/testsuites/smptests/smp02/init.c b/testsuites/smptests/smp02/init.c
index d053b31377..509fed01b8 100644
--- a/testsuites/smptests/smp02/init.c
+++ b/testsuites/smptests/smp02/init.c
@@ -17,6 +17,12 @@
#include <stdio.h>
#include <inttypes.h>
+static void success(void)
+{
+ locked_printf( "*** END OF TEST SMP02 ***\n" );
+ rtems_test_exit( 0 );
+}
+
rtems_task Init(
rtems_task_argument argument
)
@@ -31,6 +37,10 @@ rtems_task Init(
locked_print_initialize();
locked_printf( "\n\n*** SMP02 TEST ***\n" );
+ if ( rtems_smp_get_processor_count() == 1 ) {
+ success();
+ }
+
/* Create/verify synchronisation semaphore */
status = rtems_semaphore_create(
rtems_build_name ('S', 'E', 'M', '1'),
@@ -95,6 +105,5 @@ rtems_task Init(
}
}
- locked_printf( "*** END OF TEST SMP02 ***\n" );
- rtems_test_exit( 0 );
+ success();
}
diff --git a/testsuites/smptests/smp03/init.c b/testsuites/smptests/smp03/init.c
index 40b7593aef..fd6f6d9c36 100644
--- a/testsuites/smptests/smp03/init.c
+++ b/testsuites/smptests/smp03/init.c
@@ -17,6 +17,12 @@
#include <stdio.h>
#include <inttypes.h>
+static void success(void)
+{
+ locked_printf( "*** END OF TEST SMP03 ***\n" );
+ rtems_test_exit( 0 );
+}
+
void Loop() {
volatile int i;
@@ -48,6 +54,10 @@ rtems_task Init(
locked_printf( "\n\n*** SMP03 TEST ***\n" );
+ if ( rtems_smp_get_processor_count() == 1 ) {
+ success();
+ }
+
/* Initialize the TaskRan array */
TaskRan[0] = true;
for ( i=1; i<rtems_smp_get_processor_count() ; i++ ) {
@@ -98,8 +108,7 @@ rtems_task Init(
TestFinished = false;
}
if (TestFinished) {
- locked_printf( "*** END OF TEST SMP03 ***\n" );
- rtems_test_exit( 0 );
+ success();
}
}
diff --git a/testsuites/smptests/smp05/init.c b/testsuites/smptests/smp05/init.c
index db36e03b4c..c666c2798e 100644
--- a/testsuites/smptests/smp05/init.c
+++ b/testsuites/smptests/smp05/init.c
@@ -14,13 +14,18 @@
#include <tmacros.h>
#include "test_support.h"
+static void success(void)
+{
+ locked_printf( "*** END OF TEST SMP05 ***\n" );
+ rtems_test_exit( 0 );
+}
+
rtems_task Test_task(
rtems_task_argument argument
)
{
locked_printf( "Shut down from CPU %" PRIu32 "\n", rtems_smp_get_current_processor() );
- locked_printf( "*** END OF TEST SMP05 ***\n" );
- rtems_test_exit(0);
+ success();
}
rtems_task Init(
@@ -36,6 +41,10 @@ rtems_task Init(
locked_print_initialize();
locked_printf( "\n\n*** TEST SMP05 ***\n" );
+ if ( rtems_smp_get_processor_count() == 1 ) {
+ success();
+ }
+
for ( i=0; i<rtems_smp_get_processor_count() ; i++ ) {
ch = '1' + i;
diff --git a/testsuites/smptests/smp06/init.c b/testsuites/smptests/smp06/init.c
index ae3ca769dd..7f2a05f206 100644
--- a/testsuites/smptests/smp06/init.c
+++ b/testsuites/smptests/smp06/init.c
@@ -16,6 +16,12 @@
volatile bool Ran;
+static void success(void)
+{
+ locked_printf( "*** END OF TEST SMP06 ***\n" );
+ rtems_test_exit( 0 );
+}
+
rtems_task Test_task(
rtems_task_argument do_exit
)
@@ -33,8 +39,7 @@ rtems_task Test_task(
Ran = true;
if ( do_exit ) {
- locked_printf( "*** END OF TEST SMP06 ***\n" );
- rtems_test_exit(0);
+ success();
}
while(1)
;
@@ -50,12 +55,17 @@ rtems_task Init(
locked_print_initialize();
locked_printf( "\n\n*** TEST SMP06 ***\n" );
+
+ if ( rtems_smp_get_processor_count() == 1 ) {
+ success();
+ }
+
locked_printf( "rtems_clock_tick - so this task has run longer\n" );
+ _Thread_Disable_dispatch();
status = rtems_clock_tick();
+ _Thread_Enable_dispatch();
directive_failed( status, "clock tick" );
- rtems_test_assert( rtems_smp_get_processor_count() > 1 );
-
cpu_num = rtems_smp_get_current_processor();
/*
diff --git a/testsuites/smptests/smp07/init.c b/testsuites/smptests/smp07/init.c
index f6315544b8..1379bdd98c 100644
--- a/testsuites/smptests/smp07/init.c
+++ b/testsuites/smptests/smp07/init.c
@@ -18,6 +18,12 @@ volatile bool TaskRan = false;
volatile bool TSRFired = false;
rtems_id Semaphore;
+static void success(void)
+{
+ locked_printf( "*** END OF TEST SMP07 ***\n" );
+ rtems_test_exit( 0 );
+}
+
rtems_task Test_task(
rtems_task_argument argument
)
@@ -83,6 +89,10 @@ rtems_task Init(
locked_print_initialize();
locked_printf( "\n\n*** TEST SMP07 ***\n" );
+ if ( rtems_smp_get_processor_count() == 1 ) {
+ success();
+ }
+
/* Create/verify semaphore */
status = rtems_semaphore_create(
rtems_build_name ('S', 'E', 'M', '1'),
@@ -147,8 +157,7 @@ rtems_task Init(
}
/* End the program */
- locked_printf( "*** END OF TEST SMP07 ***\n" );
- rtems_test_exit(0);
+ success();
}
/* configuration information */