Changeset 1d07dfa in rtems


Ignore:
Timestamp:
02/03/23 07:53:32 (8 weeks ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
master
Children:
a67b9443
Parents:
f16b8fc3
git-author:
Sebastian Huber <sebastian.huber@…> (02/03/23 07:53:32)
git-committer:
Sebastian Huber <sebastian.huber@…> (02/06/23 08:46:45)
Message:

validation: Improve IRQ handler dispatch test

Clarify wording. Use a function wrapper for the SMP spurious interrupt setup.

Update #3716.

Files:
1 edited
1 moved

Legend:

Unmodified
Added
Removed
  • spec/build/testsuites/validation/validation-intr.yml

    rf16b8fc3 r1d07dfa  
    1111ldflags:
    1212- -Wl,--wrap=bsp_interrupt_handler_default
     13- -Wl,--wrap=bsp_interrupt_spurious
    1314links: []
    1415source:
    15 - testsuites/validation/tc-bsp-interrupt-spurious.c
     16- testsuites/validation/tc-bsp-interrupt-handler-dispatch-unchecked.c
    1617- testsuites/validation/tc-intr-clear.c
    1718- testsuites/validation/tc-intr-entry-install.c
  • testsuites/validation/tc-bsp-interrupt-handler-dispatch-unchecked.c

    rf16b8fc3 r1d07dfa  
    44 * @file
    55 *
    6  * @ingroup RTEMSTestCaseBspReqInterruptSpurious
     6 * @ingroup RTEMSTestCaseBspReqInterruptHandlerDispatchUnchecked
    77 */
    88
    99/*
    10  * Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
     10 * Copyright (C) 2021, 2023 embedded brains GmbH (http://www.embedded-brains.de)
    1111 *
    1212 * Redistribution and use in source and binary forms, with or without
     
    6161
    6262/**
    63  * @defgroup RTEMSTestCaseBspReqInterruptSpurious \
    64  *   spec:/bsp/req/interrupt-spurious
     63 * @defgroup RTEMSTestCaseBspReqInterruptHandlerDispatchUnchecked \
     64 *   spec:/bsp/req/interrupt-handler-dispatch-unchecked
    6565 *
    6666 * @ingroup RTEMSTestSuiteTestsuitesValidationIntr
     
    7070
    7171typedef enum {
    72   BspReqInterruptSpurious_Pre_First_Null,
    73   BspReqInterruptSpurious_Pre_First_Entry,
    74   BspReqInterruptSpurious_Pre_First_NA
    75 } BspReqInterruptSpurious_Pre_First;
     72  BspReqInterruptHandlerDispatchUnchecked_Pre_LoadFirst_Null,
     73  BspReqInterruptHandlerDispatchUnchecked_Pre_LoadFirst_Entry,
     74  BspReqInterruptHandlerDispatchUnchecked_Pre_LoadFirst_NA
     75} BspReqInterruptHandlerDispatchUnchecked_Pre_LoadFirst;
    7676
    7777typedef enum {
    78   BspReqInterruptSpurious_Pre_FirstAgain_Null,
    79   BspReqInterruptSpurious_Pre_FirstAgain_Entry,
    80   BspReqInterruptSpurious_Pre_FirstAgain_NA
    81 } BspReqInterruptSpurious_Pre_FirstAgain;
     78  BspReqInterruptHandlerDispatchUnchecked_Pre_LoadFirstAgain_Null,
     79  BspReqInterruptHandlerDispatchUnchecked_Pre_LoadFirstAgain_Entry,
     80  BspReqInterruptHandlerDispatchUnchecked_Pre_LoadFirstAgain_NA
     81} BspReqInterruptHandlerDispatchUnchecked_Pre_LoadFirstAgain;
    8282
    8383typedef enum {
    84   BspReqInterruptSpurious_Post_Result_FatalError,
    85   BspReqInterruptSpurious_Post_Result_Dispatch,
    86   BspReqInterruptSpurious_Post_Result_NA
    87 } BspReqInterruptSpurious_Post_Result;
     84  BspReqInterruptHandlerDispatchUnchecked_Post_Result_FatalError,
     85  BspReqInterruptHandlerDispatchUnchecked_Post_Result_Dispatch,
     86  BspReqInterruptHandlerDispatchUnchecked_Post_Result_NA
     87} BspReqInterruptHandlerDispatchUnchecked_Post_Result;
    8888
    8989typedef enum {
    90   BspReqInterruptSpurious_Post_FatalSource_SpuriousInterrupt,
    91   BspReqInterruptSpurious_Post_FatalSource_NA
    92 } BspReqInterruptSpurious_Post_FatalSource;
     90  BspReqInterruptHandlerDispatchUnchecked_Post_FatalSource_SpuriousInterrupt,
     91  BspReqInterruptHandlerDispatchUnchecked_Post_FatalSource_NA
     92} BspReqInterruptHandlerDispatchUnchecked_Post_FatalSource;
    9393
    9494typedef enum {
    95   BspReqInterruptSpurious_Post_FatalCode_Vector,
    96   BspReqInterruptSpurious_Post_FatalCode_NA
    97 } BspReqInterruptSpurious_Post_FatalCode;
     95  BspReqInterruptHandlerDispatchUnchecked_Post_FatalCode_Vector,
     96  BspReqInterruptHandlerDispatchUnchecked_Post_FatalCode_NA
     97} BspReqInterruptHandlerDispatchUnchecked_Post_FatalCode;
    9898
    9999typedef struct {
    100100  uint8_t Skip : 1;
    101   uint8_t Pre_First_NA : 1;
    102   uint8_t Pre_FirstAgain_NA : 1;
     101  uint8_t Pre_LoadFirst_NA : 1;
     102  uint8_t Pre_LoadFirstAgain_NA : 1;
    103103  uint8_t Post_Result : 2;
    104104  uint8_t Post_FatalSource : 1;
    105105  uint8_t Post_FatalCode : 1;
    106 } BspReqInterruptSpurious_Entry;
     106} BspReqInterruptHandlerDispatchUnchecked_Entry;
    107107
    108108/**
    109  * @brief Test context for spec:/bsp/req/interrupt-spurious test case.
     109 * @brief Test context for spec:/bsp/req/interrupt-handler-dispatch-unchecked
     110 *   test case.
    110111 */
    111112typedef struct {
     
    193194     * @brief This member contains the current transition map entry.
    194195     */
    195     BspReqInterruptSpurious_Entry entry;
     196    BspReqInterruptHandlerDispatchUnchecked_Entry entry;
    196197
    197198    /**
     
    201202    bool skip;
    202203  } Map;
    203 } BspReqInterruptSpurious_Context;
    204 
    205 static BspReqInterruptSpurious_Context
    206   BspReqInterruptSpurious_Instance;
    207 
    208 static const char * const BspReqInterruptSpurious_PreDesc_First[] = {
     204} BspReqInterruptHandlerDispatchUnchecked_Context;
     205
     206static BspReqInterruptHandlerDispatchUnchecked_Context
     207  BspReqInterruptHandlerDispatchUnchecked_Instance;
     208
     209static const char * const BspReqInterruptHandlerDispatchUnchecked_PreDesc_LoadFirst[] = {
    209210  "Null",
    210211  "Entry",
     
    212213};
    213214
    214 static const char * const BspReqInterruptSpurious_PreDesc_FirstAgain[] = {
     215static const char * const BspReqInterruptHandlerDispatchUnchecked_PreDesc_LoadFirstAgain[] = {
    215216  "Null",
    216217  "Entry",
     
    218219};
    219220
    220 static const char * const * const BspReqInterruptSpurious_PreDesc[] = {
    221   BspReqInterruptSpurious_PreDesc_First,
    222   BspReqInterruptSpurious_PreDesc_FirstAgain,
     221static const char * const * const BspReqInterruptHandlerDispatchUnchecked_PreDesc[] = {
     222  BspReqInterruptHandlerDispatchUnchecked_PreDesc_LoadFirst,
     223  BspReqInterruptHandlerDispatchUnchecked_PreDesc_LoadFirstAgain,
    223224  NULL
    224225};
    225226
    226 typedef BspReqInterruptSpurious_Context Context;
     227typedef BspReqInterruptHandlerDispatchUnchecked_Context Context;
    227228
    228229static bool test_case_active;
     
    284285}
    285286
    286 static void BspReqInterruptSpurious_Pre_First_Prepare(
    287   BspReqInterruptSpurious_Context  *ctx,
    288   BspReqInterruptSpurious_Pre_First state
     287#if defined(RTEMS_SMP)
     288void __real_bsp_interrupt_spurious( rtems_vector_number vector );
     289
     290void __wrap_bsp_interrupt_spurious( rtems_vector_number vector );
     291
     292void __wrap_bsp_interrupt_spurious( rtems_vector_number vector )
     293{
     294  if ( test_case_active ) {
     295    Context *ctx;
     296
     297    ctx = T_fixture_context();
     298    *ctx->first = ctx->first_again;
     299  }
     300
     301  __real_bsp_interrupt_spurious( vector );
     302}
     303#endif
     304
     305static void BspReqInterruptHandlerDispatchUnchecked_Pre_LoadFirst_Prepare(
     306  BspReqInterruptHandlerDispatchUnchecked_Context      *ctx,
     307  BspReqInterruptHandlerDispatchUnchecked_Pre_LoadFirst state
    289308)
    290309{
    291310  switch ( state ) {
    292     case BspReqInterruptSpurious_Pre_First_Null: {
     311    case BspReqInterruptHandlerDispatchUnchecked_Pre_LoadFirst_Null: {
    293312      /*
    294313       * While the first loaded value of the pointer to the first interrupt
     
    300319    }
    301320
    302     case BspReqInterruptSpurious_Pre_First_Entry: {
     321    case BspReqInterruptHandlerDispatchUnchecked_Pre_LoadFirst_Entry: {
    303322      /*
    304323       * While the first loaded value of the pointer to the first interrupt
     
    310329    }
    311330
    312     case BspReqInterruptSpurious_Pre_First_NA:
    313       break;
    314   }
    315 }
    316 
    317 static void BspReqInterruptSpurious_Pre_FirstAgain_Prepare(
    318   BspReqInterruptSpurious_Context       *ctx,
    319   BspReqInterruptSpurious_Pre_FirstAgain state
     331    case BspReqInterruptHandlerDispatchUnchecked_Pre_LoadFirst_NA:
     332      break;
     333  }
     334}
     335
     336static void BspReqInterruptHandlerDispatchUnchecked_Pre_LoadFirstAgain_Prepare(
     337  BspReqInterruptHandlerDispatchUnchecked_Context           *ctx,
     338  BspReqInterruptHandlerDispatchUnchecked_Pre_LoadFirstAgain state
    320339)
    321340{
    322341  switch ( state ) {
    323     case BspReqInterruptSpurious_Pre_FirstAgain_Null: {
     342    case BspReqInterruptHandlerDispatchUnchecked_Pre_LoadFirstAgain_Null: {
    324343      /*
    325344       * While the second loaded value of the pointer to the first interrupt
     
    331350    }
    332351
    333     case BspReqInterruptSpurious_Pre_FirstAgain_Entry: {
     352    case BspReqInterruptHandlerDispatchUnchecked_Pre_LoadFirstAgain_Entry: {
    334353      /*
    335354       * While the second loaded value of the pointer to the first interrupt
     
    341360    }
    342361
    343     case BspReqInterruptSpurious_Pre_FirstAgain_NA:
    344       break;
    345   }
    346 }
    347 
    348 static void BspReqInterruptSpurious_Post_Result_Check(
    349   BspReqInterruptSpurious_Context    *ctx,
    350   BspReqInterruptSpurious_Post_Result state
     362    case BspReqInterruptHandlerDispatchUnchecked_Pre_LoadFirstAgain_NA:
     363      break;
     364  }
     365}
     366
     367static void BspReqInterruptHandlerDispatchUnchecked_Post_Result_Check(
     368  BspReqInterruptHandlerDispatchUnchecked_Context    *ctx,
     369  BspReqInterruptHandlerDispatchUnchecked_Post_Result state
    351370)
    352371{
    353372  switch ( state ) {
    354     case BspReqInterruptSpurious_Post_Result_FatalError: {
     373    case BspReqInterruptHandlerDispatchUnchecked_Post_Result_FatalError: {
    355374      /*
    356375       * A fatal error shall occur.
     
    361380    }
    362381
    363     case BspReqInterruptSpurious_Post_Result_Dispatch: {
     382    case BspReqInterruptHandlerDispatchUnchecked_Post_Result_Dispatch: {
    364383      /*
    365384       * The interrupt entries installed at the interrupt vector specified by
     
    371390    }
    372391
    373     case BspReqInterruptSpurious_Post_Result_NA:
    374       break;
    375   }
    376 }
    377 
    378 static void BspReqInterruptSpurious_Post_FatalSource_Check(
    379   BspReqInterruptSpurious_Context         *ctx,
    380   BspReqInterruptSpurious_Post_FatalSource state
     392    case BspReqInterruptHandlerDispatchUnchecked_Post_Result_NA:
     393      break;
     394  }
     395}
     396
     397static void BspReqInterruptHandlerDispatchUnchecked_Post_FatalSource_Check(
     398  BspReqInterruptHandlerDispatchUnchecked_Context         *ctx,
     399  BspReqInterruptHandlerDispatchUnchecked_Post_FatalSource state
    381400)
    382401{
    383402  switch ( state ) {
    384     case BspReqInterruptSpurious_Post_FatalSource_SpuriousInterrupt: {
     403    case BspReqInterruptHandlerDispatchUnchecked_Post_FatalSource_SpuriousInterrupt: {
    385404      /*
    386405       * The fatal source shall be equal to
     
    391410    }
    392411
    393     case BspReqInterruptSpurious_Post_FatalSource_NA:
    394       break;
    395   }
    396 }
    397 
    398 static void BspReqInterruptSpurious_Post_FatalCode_Check(
    399   BspReqInterruptSpurious_Context       *ctx,
    400   BspReqInterruptSpurious_Post_FatalCode state
     412    case BspReqInterruptHandlerDispatchUnchecked_Post_FatalSource_NA:
     413      break;
     414  }
     415}
     416
     417static void BspReqInterruptHandlerDispatchUnchecked_Post_FatalCode_Check(
     418  BspReqInterruptHandlerDispatchUnchecked_Context       *ctx,
     419  BspReqInterruptHandlerDispatchUnchecked_Post_FatalCode state
    401420)
    402421{
    403422  switch ( state ) {
    404     case BspReqInterruptSpurious_Post_FatalCode_Vector: {
     423    case BspReqInterruptHandlerDispatchUnchecked_Post_FatalCode_Vector: {
    405424      /*
    406425       * The fatal code shall be equal to the ``vector`` parameter.
     
    410429    }
    411430
    412     case BspReqInterruptSpurious_Post_FatalCode_NA:
    413       break;
    414   }
    415 }
    416 
    417 static void BspReqInterruptSpurious_Setup(
    418   BspReqInterruptSpurious_Context *ctx
     431    case BspReqInterruptHandlerDispatchUnchecked_Post_FatalCode_NA:
     432      break;
     433  }
     434}
     435
     436static void BspReqInterruptHandlerDispatchUnchecked_Setup(
     437  BspReqInterruptHandlerDispatchUnchecked_Context *ctx
    419438)
    420439{
     
    432451}
    433452
    434 static void BspReqInterruptSpurious_Setup_Wrap( void *arg )
    435 {
    436   BspReqInterruptSpurious_Context *ctx;
     453static void BspReqInterruptHandlerDispatchUnchecked_Setup_Wrap( void *arg )
     454{
     455  BspReqInterruptHandlerDispatchUnchecked_Context *ctx;
    437456
    438457  ctx = arg;
    439458  ctx->Map.in_action_loop = false;
    440   BspReqInterruptSpurious_Setup( ctx );
    441 }
    442 
    443 static void BspReqInterruptSpurious_Teardown(
    444   BspReqInterruptSpurious_Context *ctx
     459  BspReqInterruptHandlerDispatchUnchecked_Setup( ctx );
     460}
     461
     462static void BspReqInterruptHandlerDispatchUnchecked_Teardown(
     463  BspReqInterruptHandlerDispatchUnchecked_Context *ctx
    445464)
    446465{
     
    453472}
    454473
    455 static void BspReqInterruptSpurious_Teardown_Wrap( void *arg )
    456 {
    457   BspReqInterruptSpurious_Context *ctx;
     474static void BspReqInterruptHandlerDispatchUnchecked_Teardown_Wrap( void *arg )
     475{
     476  BspReqInterruptHandlerDispatchUnchecked_Context *ctx;
    458477
    459478  ctx = arg;
    460479  ctx->Map.in_action_loop = false;
    461   BspReqInterruptSpurious_Teardown( ctx );
    462 }
    463 
    464 static void BspReqInterruptSpurious_Action(
    465   BspReqInterruptSpurious_Context *ctx
     480  BspReqInterruptHandlerDispatchUnchecked_Teardown( ctx );
     481}
     482
     483static void BspReqInterruptHandlerDispatchUnchecked_Action(
     484  BspReqInterruptHandlerDispatchUnchecked_Context *ctx
    466485)
    467486{
     
    472491  ctx->fatal_code = UINT32_MAX;
    473492
    474   #if defined(RTEMS_SMP)
    475   if ( *ctx->first == NULL && ctx->first_again != NULL ) {
    476     *ctx->first = ctx->first_again;
    477     bsp_interrupt_spurious( ctx->test_vector );
    478   } else
    479   #endif
    480   {
    481     (void) rtems_interrupt_vector_enable( ctx->test_vector );
    482 
    483     CallWithinISRRaise();
    484 
    485     while ( !ctx->interrupt_occurred ) {
    486       /* Wait */
    487     }
    488 
    489     Disable( ctx );
    490   }
    491 }
    492 
    493 static const BspReqInterruptSpurious_Entry
    494 BspReqInterruptSpurious_Entries[] = {
    495   { 0, 0, 1, BspReqInterruptSpurious_Post_Result_Dispatch,
    496     BspReqInterruptSpurious_Post_FatalSource_NA,
    497     BspReqInterruptSpurious_Post_FatalCode_NA },
     493  (void) rtems_interrupt_vector_enable( ctx->test_vector );
     494
     495  CallWithinISRRaise();
     496
     497  while ( !ctx->interrupt_occurred ) {
     498    /* Wait */
     499  }
     500
     501  Disable( ctx );
     502}
     503
     504static const BspReqInterruptHandlerDispatchUnchecked_Entry
     505BspReqInterruptHandlerDispatchUnchecked_Entries[] = {
     506  { 0, 0, 1, BspReqInterruptHandlerDispatchUnchecked_Post_Result_Dispatch,
     507    BspReqInterruptHandlerDispatchUnchecked_Post_FatalSource_NA,
     508    BspReqInterruptHandlerDispatchUnchecked_Post_FatalCode_NA },
    498509#if defined(RTEMS_SMP)
    499   { 0, 0, 0, BspReqInterruptSpurious_Post_Result_FatalError,
    500     BspReqInterruptSpurious_Post_FatalSource_SpuriousInterrupt,
    501     BspReqInterruptSpurious_Post_FatalCode_Vector },
     510  { 0, 0, 0, BspReqInterruptHandlerDispatchUnchecked_Post_Result_FatalError,
     511    BspReqInterruptHandlerDispatchUnchecked_Post_FatalSource_SpuriousInterrupt,
     512    BspReqInterruptHandlerDispatchUnchecked_Post_FatalCode_Vector },
    502513#else
    503   { 0, 0, 1, BspReqInterruptSpurious_Post_Result_FatalError,
    504     BspReqInterruptSpurious_Post_FatalSource_SpuriousInterrupt,
    505     BspReqInterruptSpurious_Post_FatalCode_Vector },
     514  { 0, 0, 1, BspReqInterruptHandlerDispatchUnchecked_Post_Result_FatalError,
     515    BspReqInterruptHandlerDispatchUnchecked_Post_FatalSource_SpuriousInterrupt,
     516    BspReqInterruptHandlerDispatchUnchecked_Post_FatalCode_Vector },
    506517#endif
    507518#if defined(RTEMS_SMP)
    508   { 0, 0, 0, BspReqInterruptSpurious_Post_Result_Dispatch,
    509     BspReqInterruptSpurious_Post_FatalSource_NA,
    510     BspReqInterruptSpurious_Post_FatalCode_NA }
     519  { 0, 0, 0, BspReqInterruptHandlerDispatchUnchecked_Post_Result_Dispatch,
     520    BspReqInterruptHandlerDispatchUnchecked_Post_FatalSource_NA,
     521    BspReqInterruptHandlerDispatchUnchecked_Post_FatalCode_NA }
    511522#else
    512   { 0, 0, 1, BspReqInterruptSpurious_Post_Result_FatalError,
    513     BspReqInterruptSpurious_Post_FatalSource_SpuriousInterrupt,
    514     BspReqInterruptSpurious_Post_FatalCode_Vector }
     523  { 0, 0, 1, BspReqInterruptHandlerDispatchUnchecked_Post_Result_FatalError,
     524    BspReqInterruptHandlerDispatchUnchecked_Post_FatalSource_SpuriousInterrupt,
     525    BspReqInterruptHandlerDispatchUnchecked_Post_FatalCode_Vector }
    515526#endif
    516527};
    517528
    518529static const uint8_t
    519 BspReqInterruptSpurious_Map[] = {
     530BspReqInterruptHandlerDispatchUnchecked_Map[] = {
    520531  1, 2, 0, 0
    521532};
    522533
    523 static size_t BspReqInterruptSpurious_Scope( void *arg, char *buf, size_t n )
    524 {
    525   BspReqInterruptSpurious_Context *ctx;
     534static size_t BspReqInterruptHandlerDispatchUnchecked_Scope(
     535  void  *arg,
     536  char  *buf,
     537  size_t n
     538)
     539{
     540  BspReqInterruptHandlerDispatchUnchecked_Context *ctx;
    526541
    527542  ctx = arg;
     
    529544  if ( ctx->Map.in_action_loop ) {
    530545    return T_get_scope(
    531       BspReqInterruptSpurious_PreDesc,
     546      BspReqInterruptHandlerDispatchUnchecked_PreDesc,
    532547      buf,
    533548      n,
     
    539554}
    540555
    541 static T_fixture BspReqInterruptSpurious_Fixture = {
    542   .setup = BspReqInterruptSpurious_Setup_Wrap,
     556static T_fixture BspReqInterruptHandlerDispatchUnchecked_Fixture = {
     557  .setup = BspReqInterruptHandlerDispatchUnchecked_Setup_Wrap,
    543558  .stop = NULL,
    544   .teardown = BspReqInterruptSpurious_Teardown_Wrap,
    545   .scope = BspReqInterruptSpurious_Scope,
    546   .initial_context = &BspReqInterruptSpurious_Instance
     559  .teardown = BspReqInterruptHandlerDispatchUnchecked_Teardown_Wrap,
     560  .scope = BspReqInterruptHandlerDispatchUnchecked_Scope,
     561  .initial_context = &BspReqInterruptHandlerDispatchUnchecked_Instance
    547562};
    548563
    549 static inline BspReqInterruptSpurious_Entry BspReqInterruptSpurious_PopEntry(
    550   BspReqInterruptSpurious_Context *ctx
     564static inline BspReqInterruptHandlerDispatchUnchecked_Entry
     565BspReqInterruptHandlerDispatchUnchecked_PopEntry(
     566  BspReqInterruptHandlerDispatchUnchecked_Context *ctx
    551567)
    552568{
     
    555571  index = ctx->Map.index;
    556572  ctx->Map.index = index + 1;
    557   return BspReqInterruptSpurious_Entries[
    558     BspReqInterruptSpurious_Map[ index ]
     573  return BspReqInterruptHandlerDispatchUnchecked_Entries[
     574    BspReqInterruptHandlerDispatchUnchecked_Map[ index ]
    559575  ];
    560576}
    561577
    562 static void BspReqInterruptSpurious_SetPreConditionStates(
    563   BspReqInterruptSpurious_Context *ctx
     578static void BspReqInterruptHandlerDispatchUnchecked_SetPreConditionStates(
     579  BspReqInterruptHandlerDispatchUnchecked_Context *ctx
    564580)
    565581{
    566582  ctx->Map.pcs[ 0 ] = ctx->Map.pci[ 0 ];
    567583
    568   if ( ctx->Map.entry.Pre_FirstAgain_NA ) {
    569     ctx->Map.pcs[ 1 ] = BspReqInterruptSpurious_Pre_FirstAgain_NA;
     584  if ( ctx->Map.entry.Pre_LoadFirstAgain_NA ) {
     585    ctx->Map.pcs[ 1 ] = BspReqInterruptHandlerDispatchUnchecked_Pre_LoadFirstAgain_NA;
    570586  } else {
    571587    ctx->Map.pcs[ 1 ] = ctx->Map.pci[ 1 ];
     
    573589}
    574590
    575 static void BspReqInterruptSpurious_TestVariant(
    576   BspReqInterruptSpurious_Context *ctx
    577 )
    578 {
    579   BspReqInterruptSpurious_Pre_First_Prepare( ctx, ctx->Map.pcs[ 0 ] );
    580   BspReqInterruptSpurious_Pre_FirstAgain_Prepare( ctx, ctx->Map.pcs[ 1 ] );
    581   BspReqInterruptSpurious_Action( ctx );
    582   BspReqInterruptSpurious_Post_Result_Check( ctx, ctx->Map.entry.Post_Result );
    583   BspReqInterruptSpurious_Post_FatalSource_Check(
     591static void BspReqInterruptHandlerDispatchUnchecked_TestVariant(
     592  BspReqInterruptHandlerDispatchUnchecked_Context *ctx
     593)
     594{
     595  BspReqInterruptHandlerDispatchUnchecked_Pre_LoadFirst_Prepare(
     596    ctx,
     597    ctx->Map.pcs[ 0 ]
     598  );
     599  BspReqInterruptHandlerDispatchUnchecked_Pre_LoadFirstAgain_Prepare(
     600    ctx,
     601    ctx->Map.pcs[ 1 ]
     602  );
     603  BspReqInterruptHandlerDispatchUnchecked_Action( ctx );
     604  BspReqInterruptHandlerDispatchUnchecked_Post_Result_Check(
     605    ctx,
     606    ctx->Map.entry.Post_Result
     607  );
     608  BspReqInterruptHandlerDispatchUnchecked_Post_FatalSource_Check(
    584609    ctx,
    585610    ctx->Map.entry.Post_FatalSource
    586611  );
    587   BspReqInterruptSpurious_Post_FatalCode_Check(
     612  BspReqInterruptHandlerDispatchUnchecked_Post_FatalCode_Check(
    588613    ctx,
    589614    ctx->Map.entry.Post_FatalCode
     
    592617
    593618/**
    594  * @fn void T_case_body_BspReqInterruptSpurious( void )
     619 * @fn void T_case_body_BspReqInterruptHandlerDispatchUnchecked( void )
    595620 */
    596621T_TEST_CASE_FIXTURE(
    597   BspReqInterruptSpurious,
    598   &BspReqInterruptSpurious_Fixture
    599 )
    600 {
    601   BspReqInterruptSpurious_Context *ctx;
     622  BspReqInterruptHandlerDispatchUnchecked,
     623  &BspReqInterruptHandlerDispatchUnchecked_Fixture
     624)
     625{
     626  BspReqInterruptHandlerDispatchUnchecked_Context *ctx;
    602627
    603628  ctx = T_fixture_context();
     
    606631
    607632  for (
    608     ctx->Map.pci[ 0 ] = BspReqInterruptSpurious_Pre_First_Null;
    609     ctx->Map.pci[ 0 ] < BspReqInterruptSpurious_Pre_First_NA;
     633    ctx->Map.pci[ 0 ] = BspReqInterruptHandlerDispatchUnchecked_Pre_LoadFirst_Null;
     634    ctx->Map.pci[ 0 ] < BspReqInterruptHandlerDispatchUnchecked_Pre_LoadFirst_NA;
    610635    ++ctx->Map.pci[ 0 ]
    611636  ) {
    612637    for (
    613       ctx->Map.pci[ 1 ] = BspReqInterruptSpurious_Pre_FirstAgain_Null;
    614       ctx->Map.pci[ 1 ] < BspReqInterruptSpurious_Pre_FirstAgain_NA;
     638      ctx->Map.pci[ 1 ] = BspReqInterruptHandlerDispatchUnchecked_Pre_LoadFirstAgain_Null;
     639      ctx->Map.pci[ 1 ] < BspReqInterruptHandlerDispatchUnchecked_Pre_LoadFirstAgain_NA;
    615640      ++ctx->Map.pci[ 1 ]
    616641    ) {
    617       ctx->Map.entry = BspReqInterruptSpurious_PopEntry( ctx );
    618       BspReqInterruptSpurious_SetPreConditionStates( ctx );
    619       BspReqInterruptSpurious_TestVariant( ctx );
     642      ctx->Map.entry = BspReqInterruptHandlerDispatchUnchecked_PopEntry( ctx );
     643      BspReqInterruptHandlerDispatchUnchecked_SetPreConditionStates( ctx );
     644      BspReqInterruptHandlerDispatchUnchecked_TestVariant( ctx );
    620645    }
    621646  }
Note: See TracChangeset for help on using the changeset viewer.