diff --git a/src/tests/timer-test/timer-test.c b/src/tests/timer-test/timer-test.c index 73bf0c242..4d0ed061a 100644 --- a/src/tests/timer-test/timer-test.c +++ b/src/tests/timer-test/timer-test.c @@ -20,6 +20,7 @@ #define TASK_1_STACK_SIZE 4096 #define TASK_1_PRIORITY 101 + void TimerTestSetup(void); void TimerTestTask(void); void TimerTestCheck(void); @@ -33,11 +34,12 @@ uint32 TimerTestTaskStack[TASK_1_STACK_SIZE]; int32 timer_counter[NUMBER_OF_TIMERS]; uint32 timer_idlookup[OS_MAX_TIMERS]; + /* -** Test timer function. -** Note: For some Host OSs, this is the equivalent of an ISR, so the calls available are limited. -** For example, Linux and vxWorks can call functions like printf, but RTEMS cannot. -*/ + * Test timer function. + * Note: For some Host OSs, this is the equivalent of an ISR, so the calls available are limited. + * For example, Linux and vxWorks can call functions like printf, but RTEMS cannot. + */ void test_func(uint32 timer_id) { OS_ConvertToArrayIndex(timer_id, &timer_id); @@ -99,7 +101,7 @@ void TimerTestTask(void) uint32 ClockAccuracy; - for ( i = 0; i < NUMBER_OF_TIMERS; i++ ) + for ( i = 0; i < NUMBER_OF_TIMERS && i < OS_MAX_TIMERS; i++ ) { TimerStatus[i] = OS_TimerCreate(&TimerID[i], TimerName[i], &ClockAccuracy, &(test_func)); UtAssert_True(TimerStatus[i] == OS_SUCCESS, "Timer %d Created RC=%d ID=%d", i, (int)TimerStatus[i], (int)TimerID[i]); @@ -112,7 +114,7 @@ void TimerTestTask(void) /* Sample the clock now, before starting any timer */ OS_GetLocalTime(&StartTime); - for ( i = 0; i < NUMBER_OF_TIMERS; i++ ) + for ( i = 0; i < NUMBER_OF_TIMERS && i < OS_MAX_TIMERS; i++ ) { /* * to ensure that all timers are started as closely as possible, @@ -124,7 +126,7 @@ void TimerTestTask(void) /* * Now the actual OS_TimerSet() return code can be checked. */ - for ( i = 0; i < NUMBER_OF_TIMERS; i++ ) + for ( i = 0; i < NUMBER_OF_TIMERS && i < OS_MAX_TIMERS; i++ ) { UtAssert_True(TimerStatus[i] == OS_SUCCESS, "Timer %d programmed RC=%d", i, (int)TimerStatus[i]); } @@ -145,12 +147,12 @@ void TimerTestTask(void) } OS_GetLocalTime(&EndTime); - for ( i = 0; i < NUMBER_OF_TIMERS; i++ ) + for ( i = 0; i < NUMBER_OF_TIMERS && i < OS_MAX_TIMERS; i++ ) { TimerStatus[i] = OS_TimerDelete(TimerID[i]); } - for ( i = 0; i < NUMBER_OF_TIMERS; i++ ) + for ( i = 0; i < NUMBER_OF_TIMERS && i < OS_MAX_TIMERS; i++ ) { UtAssert_True(TimerStatus[i] == OS_SUCCESS, "Timer %d delete RC=%d. Count total = %d", i, (int)TimerStatus[i], (int)timer_counter[i]); @@ -180,7 +182,7 @@ void TimerTestCheck(void) } /* Make sure the ratio of the timers are OK */ - for ( i = 0; i < NUMBER_OF_TIMERS; i++ ) + for ( i = 0; i < NUMBER_OF_TIMERS && i < OS_MAX_TIMERS; i++ ) { /* * Expect one tick after the start time (i.e. first tick)