From 57c8805648dab577fa460fbf09f4ce920c59ca19 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 19 Jul 2013 10:12:13 +0200 Subject: [PATCH] smptests: Be successful on one processor --- testsuites/smptests/smp02/init.c | 13 +++++++++++-- testsuites/smptests/smp03/init.c | 13 +++++++++++-- testsuites/smptests/smp05/init.c | 13 +++++++++++-- testsuites/smptests/smp06/init.c | 22 ++++++++++++++++------ testsuites/smptests/smp07/init.c | 13 +++++++++++-- 5 files changed, 60 insertions(+), 14 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 #include +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 #include +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 #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 1 ); + 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" ); 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 */