Skip to content

Commit

Permalink
Revert "Add test for timer start delayed past expiration (FreeRTOS#557)…
Browse files Browse the repository at this point in the history
…" (FreeRTOS#566)

This reverts commit 9c91199.
  • Loading branch information
RichardBarry authored Apr 17, 2021
1 parent 9c91199 commit 53af0ec
Showing 1 changed file with 0 additions and 51 deletions.
51 changes: 0 additions & 51 deletions FreeRTOS/Demo/Common/Minimal/TimerDemo.c
Original file line number Diff line number Diff line change
Expand Up @@ -686,8 +686,6 @@ uint8_t ucTimer;

static void prvTest7_CheckBacklogBehaviour( void )
{
UBaseType_t uxOriginalPriority;

/* Use the first auto-reload timer to test stopping a timer from a
backlogged callback. */

Expand Down Expand Up @@ -736,55 +734,6 @@ UBaseType_t uxOriginalPriority;
/* Clear the reload count for the timer used in this test. */
ucAutoReloadTimerCounters[ 0 ] = ( uint8_t ) 0;


/* Verify a one-shot timer is marked as inactive if the timer task processes
the start or reset request after the expiration time has passed. */

/* The timer has not been started yet! */
if( xTimerIsTimerActive( xOneShotTimer ) != pdFALSE )
{
xTestStatus = pdFAIL;
configASSERT( xTestStatus );
}

/* Use the timer period specific to backlogged timers because it reduces
the impact on other tests that might be running when xTaskCatchUpTicks()
creates the backlog, below. */
xTimerChangePeriod( xOneShotTimer, tmrdemoBACKLOG_TIMER_PERIOD, tmrdemoDONT_BLOCK );

/* Temporarily give this task maximum priority so it can cause the timer
task to delay its processing of the reset request below. */
uxOriginalPriority = uxTaskPriorityGet( NULL );
vTaskPrioritySet( NULL, ( configMAX_PRIORITIES - 1 ) );

/* Reset the timer. The timer service won't process this request right
away as noted above. */
xTimerReset( xOneShotTimer, tmrdemoDONT_BLOCK );

/* Cause the timer period to elapse without giving an opportunity for the
timer service task to process the reset request. */
xTaskCatchUpTicks( tmrdemoBACKLOG_TIMER_PERIOD );

/* Return this task to its original priority. The timer service task will
process the reset request immediately. The timer task must handle the reset
request as if it were processed at the time of the request even though in
this test the processing occurs after the intended expiration time. */
vTaskPrioritySet( NULL, uxOriginalPriority );

/* The timer should now be inactive. */
if( xTimerIsTimerActive( xOneShotTimer ) != pdFALSE )
{
xTestStatus = pdFAIL;
configASSERT( xTestStatus );
}

/* Restore the standard timer period, and leave the timer inactive. */
xTimerChangePeriod( xOneShotTimer, tmrdemoONE_SHOT_TIMER_PERIOD, tmrdemoDONT_BLOCK );
xTimerStop( xOneShotTimer, tmrdemoDONT_BLOCK );

/* Clear the counter for the timer used in this test. */
ucOneShotTimerCounter = ( uint8_t ) 0;

if( xTestStatus == pdPASS )
{
/* No errors have been reported so increment the loop counter so the check
Expand Down

0 comments on commit 53af0ec

Please sign in to comment.