summaryrefslogtreecommitdiffstats
path: root/testsuites/sptests/sp52/init.c
diff options
context:
space:
mode:
Diffstat (limited to 'testsuites/sptests/sp52/init.c')
-rw-r--r--testsuites/sptests/sp52/init.c140
1 files changed, 1 insertions, 139 deletions
diff --git a/testsuites/sptests/sp52/init.c b/testsuites/sptests/sp52/init.c
index 801a0b8754..6cf79eb97f 100644
--- a/testsuites/sptests/sp52/init.c
+++ b/testsuites/sptests/sp52/init.c
@@ -1,139 +1 @@
-/*
- * Based upon test code posted on the RTEMS User's Mailing List
- * by Sergio Faustino <sergio.faustino@edisoft.pt>:
- *
- * http://www.rtems.org/pipermail/rtems-users/2009-June/005540.html
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#if defined(USE_TIMER_SERVER)
- #define TEST_NUMBER "53"
- #define TSR_MODE "Server"
- #define FIRE_WHEN rtems_timer_server_fire_when
- #define FIRE_WHEN_STRING "rtems_timer_server_fire_when"
-#else
- #define TEST_NUMBER "52"
- #define TSR_MODE "Interrupt"
- #define FIRE_WHEN rtems_timer_fire_when
- #define FIRE_WHEN_STRING "rtems_timer_fire_when"
-#endif
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <tmacros.h>
-#include <string.h>
-
-const char rtems_test_name[] = "SP " TEST_NUMBER;
-
-#define INITIAL_YEAR 2009
-
-static bool _timer_passage;
-
-static rtems_time_of_day time_to_fire;
-
-/*timer Routine*/
-static rtems_timer_service_routine TIMER_service_routine(
- rtems_id ignored_id,
- void *user_data
-)
-{
- rtems_status_code status;
- rtems_time_of_day now;
-
- _timer_passage = true;
-
- memset( &now, 0, sizeof( now ) );
-
- status = rtems_clock_get_tod( &now );
- rtems_test_assert( status == RTEMS_SUCCESSFUL );
- rtems_test_assert( memcmp( &now, &time_to_fire, sizeof( now ) ) == 0 );
-}
-
-static rtems_task Init(
- rtems_task_argument argument
-)
-{
- rtems_status_code status;
- rtems_id timer_id;
- rtems_name timer_name;
-
- rtems_time_of_day global_time;
-
- TEST_BEGIN();
-
- /* build timer name*/
- timer_name = rtems_build_name('T', 'M', '1', ' ');
-
- /* create Timer */
- status = rtems_timer_create(timer_name, &timer_id);
- directive_failed( status, "rtems_timer_create" );
-
- #if defined(USE_TIMER_SERVER)
- /* initiate timer server */
- status = rtems_timer_initiate_server(
- RTEMS_MINIMUM_PRIORITY,
- RTEMS_MINIMUM_STACK_SIZE,
- RTEMS_DEFAULT_ATTRIBUTES
- );
- directive_failed( status, "rtems_timer_initiate_server" );
- #endif
-
- /* Set system clock */
- build_time(&global_time, 6, 8, INITIAL_YEAR, 16, 5, 13, 0);
- status = rtems_clock_set(&global_time);
- directive_failed( status, "rtems_clock_set" );
-
- /* Set Timer to Fire */
- /* build fire times */
- time_to_fire = global_time;
-
- /* only diferent second */
- time_to_fire.year = INITIAL_YEAR + 5;
-
- status = FIRE_WHEN(
- timer_id,
- &time_to_fire,
- TIMER_service_routine,
- (void*) NULL
- );
- directive_failed( status, FIRE_WHEN_STRING );
-
- /* Set system clock FORWARD */
- global_time.year = time_to_fire.year;
- status = rtems_clock_set(&global_time);
-
- if (!_timer_passage) {
- puts( TSR_MODE " Timer FAILED to fire after setting time forward");
- rtems_test_exit(0);
- }
-
- puts( TSR_MODE " Timer fired after setting time forward -- OK");
-
- TEST_END();
- rtems_test_exit(0);
-}
-
-/* configuration stuff */
-
-#define CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER
-#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
-
-#define CONFIGURE_MICROSECONDS_PER_TICK 50000
-
-#define CONFIGURE_MAXIMUM_TASKS 2
-#define CONFIGURE_MAXIMUM_TIMERS 1
-
-#define CONFIGURE_INITIAL_EXTENSIONS RTEMS_TEST_INITIAL_EXTENSION
-
-#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
-
-#define CONFIGURE_INIT_TASK_PRIORITY (RTEMS_MINIMUM_PRIORITY + 1)
-#define CONFIGURE_INIT_TASK_INITIAL_MODES RTEMS_DEFAULT_MODES
-
-#define CONFIGURE_INIT
-#include <rtems/confdefs.h>
+#include "sp52impl.h"