diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2021-10-12 13:49:17 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2021-10-12 13:54:22 +0200 |
commit | 726ddf89350037f3ce0f0c72f2394e96d7f12c55 (patch) | |
tree | a2b25cb6c9d274edc6d45815bed870883bbbd96b | |
parent | 03622d96aaa28e1fd2173e810b0eca915a124cd6 (diff) |
testsuites/validation/tc-ratemon-get-status.c
-rw-r--r-- | testsuites/validation/tc-ratemon-get-status.c | 186 |
1 files changed, 44 insertions, 142 deletions
diff --git a/testsuites/validation/tc-ratemon-get-status.c b/testsuites/validation/tc-ratemon-get-status.c index 69ead1ab9e..fe3fb300e3 100644 --- a/testsuites/validation/tc-ratemon-get-status.c +++ b/testsuites/validation/tc-ratemon-get-status.c @@ -82,12 +82,6 @@ typedef enum { } RtemsRatemonReqGetStatus_Pre_Id; typedef enum { - RtemsRatemonReqGetStatus_Pre_CpuUse_Kept, - RtemsRatemonReqGetStatus_Pre_CpuUse_Reset, - RtemsRatemonReqGetStatus_Pre_CpuUse_NA -} RtemsRatemonReqGetStatus_Pre_CpuUse; - -typedef enum { RtemsRatemonReqGetStatus_Pre_State_Inactive, RtemsRatemonReqGetStatus_Pre_State_Active, RtemsRatemonReqGetStatus_Pre_State_Expired, @@ -115,7 +109,6 @@ typedef enum { RtemsRatemonReqGetStatus_Post_Status_Ok, RtemsRatemonReqGetStatus_Post_Status_InvAddr, RtemsRatemonReqGetStatus_Post_Status_InvId, - RtemsRatemonReqGetStatus_Post_Status_NotDef, RtemsRatemonReqGetStatus_Post_Status_NA } RtemsRatemonReqGetStatus_Post_Status; @@ -159,12 +152,11 @@ typedef struct { uint32_t Skip : 1; uint32_t Pre_StatusAddr_NA : 1; uint32_t Pre_Id_NA : 1; - uint32_t Pre_CpuUse_NA : 1; uint32_t Pre_State_NA : 1; uint32_t Pre_Elapsed_NA : 1; uint32_t Pre_Consumed_NA : 1; uint32_t Pre_Postponed_NA : 1; - uint32_t Post_Status : 3; + uint32_t Post_Status : 2; uint32_t Post_Owner : 2; uint32_t Post_State : 3; uint32_t Post_Elapsed : 2; @@ -243,12 +235,12 @@ typedef struct { * @brief This member defines the pre-condition indices for the next * action. */ - size_t pci[ 7 ]; + size_t pci[ 6 ]; /** * @brief This member defines the pre-condition states for the next action. */ - size_t pcs[ 7 ]; + size_t pcs[ 6 ]; /** * @brief If this member is true, then the test action loop is executed. @@ -288,12 +280,6 @@ static const char * const RtemsRatemonReqGetStatus_PreDesc_Id[] = { "NA" }; -static const char * const RtemsRatemonReqGetStatus_PreDesc_CpuUse[] = { - "Kept", - "Reset", - "NA" -}; - static const char * const RtemsRatemonReqGetStatus_PreDesc_State[] = { "Inactive", "Active", @@ -321,7 +307,6 @@ static const char * const RtemsRatemonReqGetStatus_PreDesc_Postponed[] = { static const char * const * const RtemsRatemonReqGetStatus_PreDesc[] = { RtemsRatemonReqGetStatus_PreDesc_StatusAddr, RtemsRatemonReqGetStatus_PreDesc_Id, - RtemsRatemonReqGetStatus_PreDesc_CpuUse, RtemsRatemonReqGetStatus_PreDesc_State, RtemsRatemonReqGetStatus_PreDesc_Elapsed, RtemsRatemonReqGetStatus_PreDesc_Consumed, @@ -431,35 +416,6 @@ static void RtemsRatemonReqGetStatus_Pre_Id_Prepare( } } -static void RtemsRatemonReqGetStatus_Pre_CpuUse_Prepare( - RtemsRatemonReqGetStatus_Context *ctx, - RtemsRatemonReqGetStatus_Pre_CpuUse state -) -{ - switch ( state ) { - case RtemsRatemonReqGetStatus_Pre_CpuUse_Kept: { - /* - * While the CPU usage statistics in not changed. - */ - ctx->do_reset = NULL; - break; - } - - case RtemsRatemonReqGetStatus_Pre_CpuUse_Reset: { - /* - * While the rtems_cpu_usage_reset() directive is called between the call - * to rtems_rate_monotonic_period() which started the period and the call - * to rtems_rate_monotonic_get_status(). - */ - ctx->do_reset = rtems_cpu_usage_reset; - break; - } - - case RtemsRatemonReqGetStatus_Pre_CpuUse_NA: - break; - } -} - static void RtemsRatemonReqGetStatus_Pre_State_Prepare( RtemsRatemonReqGetStatus_Context *ctx, RtemsRatemonReqGetStatus_Pre_State state @@ -613,15 +569,6 @@ static void RtemsRatemonReqGetStatus_Post_Status_Check( break; } - case RtemsRatemonReqGetStatus_Post_Status_NotDef: { - /* - * The return status of rtems_rate_monotonic_get_status() shall be - * RTEMS_NOT_DEFINED. - */ - T_rsc( ctx->status, RTEMS_NOT_DEFINED ); - break; - } - case RtemsRatemonReqGetStatus_Post_Status_NA: break; } @@ -982,109 +929,73 @@ static void RtemsRatemonReqGetStatus_Cleanup( static const RtemsRatemonReqGetStatus_Entry RtemsRatemonReqGetStatus_Entries[] = { - { 0, 0, 0, 0, 0, 0, 0, 0, RtemsRatemonReqGetStatus_Post_Status_InvAddr, + { 0, 0, 0, 0, 0, 0, 0, RtemsRatemonReqGetStatus_Post_Status_InvAddr, RtemsRatemonReqGetStatus_Post_Owner_Nop, RtemsRatemonReqGetStatus_Post_State_Nop, RtemsRatemonReqGetStatus_Post_Elapsed_Nop, RtemsRatemonReqGetStatus_Post_Consumed_Nop, RtemsRatemonReqGetStatus_Post_Postponed_Nop }, - { 1, 0, 0, 0, 0, 0, 0, 0, RtemsRatemonReqGetStatus_Post_Status_NA, + { 1, 0, 0, 0, 0, 0, 0, RtemsRatemonReqGetStatus_Post_Status_NA, RtemsRatemonReqGetStatus_Post_Owner_NA, RtemsRatemonReqGetStatus_Post_State_NA, RtemsRatemonReqGetStatus_Post_Elapsed_NA, RtemsRatemonReqGetStatus_Post_Consumed_NA, RtemsRatemonReqGetStatus_Post_Postponed_NA }, - { 0, 0, 0, 0, 0, 0, 0, 0, RtemsRatemonReqGetStatus_Post_Status_InvId, + { 0, 0, 0, 0, 0, 0, 0, RtemsRatemonReqGetStatus_Post_Status_InvId, RtemsRatemonReqGetStatus_Post_Owner_Nop, RtemsRatemonReqGetStatus_Post_State_Nop, RtemsRatemonReqGetStatus_Post_Elapsed_Nop, RtemsRatemonReqGetStatus_Post_Consumed_Nop, RtemsRatemonReqGetStatus_Post_Postponed_Nop }, - { 1, 0, 0, 0, 0, 0, 0, 0, RtemsRatemonReqGetStatus_Post_Status_NA, + { 1, 0, 0, 0, 0, 0, 0, RtemsRatemonReqGetStatus_Post_Status_NA, RtemsRatemonReqGetStatus_Post_Owner_NA, RtemsRatemonReqGetStatus_Post_State_NA, RtemsRatemonReqGetStatus_Post_Elapsed_NA, RtemsRatemonReqGetStatus_Post_Consumed_NA, RtemsRatemonReqGetStatus_Post_Postponed_NA }, - { 1, 0, 0, 0, 0, 0, 0, 0, RtemsRatemonReqGetStatus_Post_Status_NA, - RtemsRatemonReqGetStatus_Post_Owner_NA, - RtemsRatemonReqGetStatus_Post_State_NA, - RtemsRatemonReqGetStatus_Post_Elapsed_NA, - RtemsRatemonReqGetStatus_Post_Consumed_NA, - RtemsRatemonReqGetStatus_Post_Postponed_NA }, - { 0, 0, 0, 0, 0, 0, 0, 1, RtemsRatemonReqGetStatus_Post_Status_InvAddr, + { 0, 0, 0, 0, 0, 0, 1, RtemsRatemonReqGetStatus_Post_Status_InvAddr, RtemsRatemonReqGetStatus_Post_Owner_Nop, RtemsRatemonReqGetStatus_Post_State_Nop, RtemsRatemonReqGetStatus_Post_Elapsed_Nop, RtemsRatemonReqGetStatus_Post_Consumed_Nop, RtemsRatemonReqGetStatus_Post_Postponed_Nop }, - { 0, 0, 0, 0, 0, 1, 1, 1, RtemsRatemonReqGetStatus_Post_Status_Ok, + { 0, 0, 0, 0, 1, 1, 1, RtemsRatemonReqGetStatus_Post_Status_Ok, RtemsRatemonReqGetStatus_Post_Owner_OwnerTask, RtemsRatemonReqGetStatus_Post_State_Inactive, RtemsRatemonReqGetStatus_Post_Elapsed_Zero, RtemsRatemonReqGetStatus_Post_Consumed_Zero, RtemsRatemonReqGetStatus_Post_Postponed_NA }, - { 0, 0, 0, 0, 0, 0, 0, 0, RtemsRatemonReqGetStatus_Post_Status_Ok, + { 0, 0, 0, 0, 0, 0, 0, RtemsRatemonReqGetStatus_Post_Status_Ok, RtemsRatemonReqGetStatus_Post_Owner_OwnerTask, RtemsRatemonReqGetStatus_Post_State_Active, RtemsRatemonReqGetStatus_Post_Elapsed_Time, RtemsRatemonReqGetStatus_Post_Consumed_CpuTime, RtemsRatemonReqGetStatus_Post_Postponed_Zero }, - { 0, 0, 0, 0, 0, 0, 0, 0, RtemsRatemonReqGetStatus_Post_Status_Ok, + { 0, 0, 0, 0, 0, 0, 0, RtemsRatemonReqGetStatus_Post_Status_Ok, RtemsRatemonReqGetStatus_Post_Owner_OwnerTask, RtemsRatemonReqGetStatus_Post_State_Active, RtemsRatemonReqGetStatus_Post_Elapsed_Time, RtemsRatemonReqGetStatus_Post_Consumed_CpuTime, RtemsRatemonReqGetStatus_Post_Postponed_One }, - { 0, 0, 0, 0, 0, 0, 0, 0, RtemsRatemonReqGetStatus_Post_Status_Ok, + { 0, 0, 0, 0, 0, 0, 0, RtemsRatemonReqGetStatus_Post_Status_Ok, RtemsRatemonReqGetStatus_Post_Owner_OwnerTask, RtemsRatemonReqGetStatus_Post_State_Active, RtemsRatemonReqGetStatus_Post_Elapsed_Time, RtemsRatemonReqGetStatus_Post_Consumed_CpuTime, RtemsRatemonReqGetStatus_Post_Postponed_Several }, - { 0, 0, 0, 0, 0, 0, 0, 0, RtemsRatemonReqGetStatus_Post_Status_Ok, + { 0, 0, 0, 0, 0, 0, 0, RtemsRatemonReqGetStatus_Post_Status_Ok, RtemsRatemonReqGetStatus_Post_Owner_OwnerTask, RtemsRatemonReqGetStatus_Post_State_Expired, RtemsRatemonReqGetStatus_Post_Elapsed_Time, RtemsRatemonReqGetStatus_Post_Consumed_CpuTime, RtemsRatemonReqGetStatus_Post_Postponed_One }, - { 0, 0, 0, 0, 0, 0, 0, 0, RtemsRatemonReqGetStatus_Post_Status_Ok, + { 0, 0, 0, 0, 0, 0, 0, RtemsRatemonReqGetStatus_Post_Status_Ok, RtemsRatemonReqGetStatus_Post_Owner_OwnerTask, RtemsRatemonReqGetStatus_Post_State_Expired, RtemsRatemonReqGetStatus_Post_Elapsed_Time, RtemsRatemonReqGetStatus_Post_Consumed_CpuTime, RtemsRatemonReqGetStatus_Post_Postponed_Several }, - { 0, 0, 0, 0, 0, 0, 0, 0, RtemsRatemonReqGetStatus_Post_Status_NotDef, - RtemsRatemonReqGetStatus_Post_Owner_OwnerTask, - RtemsRatemonReqGetStatus_Post_State_Active, - RtemsRatemonReqGetStatus_Post_Elapsed_Nop, - RtemsRatemonReqGetStatus_Post_Consumed_Nop, - RtemsRatemonReqGetStatus_Post_Postponed_Zero }, - { 0, 0, 0, 0, 0, 0, 0, 0, RtemsRatemonReqGetStatus_Post_Status_NotDef, - RtemsRatemonReqGetStatus_Post_Owner_OwnerTask, - RtemsRatemonReqGetStatus_Post_State_Active, - RtemsRatemonReqGetStatus_Post_Elapsed_Nop, - RtemsRatemonReqGetStatus_Post_Consumed_Nop, - RtemsRatemonReqGetStatus_Post_Postponed_One }, - { 0, 0, 0, 0, 0, 0, 0, 0, RtemsRatemonReqGetStatus_Post_Status_NotDef, - RtemsRatemonReqGetStatus_Post_Owner_OwnerTask, - RtemsRatemonReqGetStatus_Post_State_Active, - RtemsRatemonReqGetStatus_Post_Elapsed_Nop, - RtemsRatemonReqGetStatus_Post_Consumed_Nop, - RtemsRatemonReqGetStatus_Post_Postponed_Several }, - { 0, 0, 0, 0, 0, 0, 0, 0, RtemsRatemonReqGetStatus_Post_Status_NotDef, - RtemsRatemonReqGetStatus_Post_Owner_OwnerTask, - RtemsRatemonReqGetStatus_Post_State_Expired, - RtemsRatemonReqGetStatus_Post_Elapsed_Nop, - RtemsRatemonReqGetStatus_Post_Consumed_Nop, - RtemsRatemonReqGetStatus_Post_Postponed_One }, - { 0, 0, 0, 0, 0, 0, 0, 0, RtemsRatemonReqGetStatus_Post_Status_NotDef, - RtemsRatemonReqGetStatus_Post_Owner_OwnerTask, - RtemsRatemonReqGetStatus_Post_State_Expired, - RtemsRatemonReqGetStatus_Post_Elapsed_Nop, - RtemsRatemonReqGetStatus_Post_Consumed_Nop, - RtemsRatemonReqGetStatus_Post_Postponed_Several }, - { 0, 0, 0, 0, 0, 0, 0, 1, RtemsRatemonReqGetStatus_Post_Status_InvId, + { 0, 0, 0, 0, 0, 0, 1, RtemsRatemonReqGetStatus_Post_Status_InvId, RtemsRatemonReqGetStatus_Post_Owner_Nop, RtemsRatemonReqGetStatus_Post_State_Nop, RtemsRatemonReqGetStatus_Post_Elapsed_Nop, @@ -1094,9 +1005,8 @@ RtemsRatemonReqGetStatus_Entries[] = { static const uint8_t RtemsRatemonReqGetStatus_Map[] = { - 6, 3, 3, 7, 8, 9, 4, 10, 11, 1, 1, 1, 12, 13, 14, 4, 15, 16, 17, 3, 3, 2, 2, - 2, 4, 2, 2, 1, 1, 1, 2, 2, 2, 4, 2, 2, 5, 3, 3, 0, 0, 0, 4, 0, 0, 1, 1, 1, 0, - 0, 0, 4, 0, 0, 5, 3, 3, 0, 0, 0, 4, 0, 0, 1, 1, 1, 0, 0, 0, 4, 0, 0 + 5, 1, 1, 6, 7, 8, 3, 9, 10, 11, 1, 1, 2, 2, 2, 3, 2, 2, 4, 1, 1, 0, 0, 0, 3, + 0, 0, 4, 1, 1, 0, 0, 0, 3, 0, 0 }; static size_t RtemsRatemonReqGetStatus_Scope( void *arg, char *buf, size_t n ) @@ -1145,24 +1055,23 @@ static void RtemsRatemonReqGetStatus_SetPreConditionStates( ctx->Map.pcs[ 0 ] = ctx->Map.pci[ 0 ]; ctx->Map.pcs[ 1 ] = ctx->Map.pci[ 1 ]; ctx->Map.pcs[ 2 ] = ctx->Map.pci[ 2 ]; - ctx->Map.pcs[ 3 ] = ctx->Map.pci[ 3 ]; if ( ctx->Map.entry.Pre_Elapsed_NA ) { - ctx->Map.pcs[ 4 ] = RtemsRatemonReqGetStatus_Pre_Elapsed_NA; + ctx->Map.pcs[ 3 ] = RtemsRatemonReqGetStatus_Pre_Elapsed_NA; } else { - ctx->Map.pcs[ 4 ] = ctx->Map.pci[ 4 ]; + ctx->Map.pcs[ 3 ] = ctx->Map.pci[ 3 ]; } if ( ctx->Map.entry.Pre_Consumed_NA ) { - ctx->Map.pcs[ 5 ] = RtemsRatemonReqGetStatus_Pre_Consumed_NA; + ctx->Map.pcs[ 4 ] = RtemsRatemonReqGetStatus_Pre_Consumed_NA; } else { - ctx->Map.pcs[ 5 ] = ctx->Map.pci[ 5 ]; + ctx->Map.pcs[ 4 ] = ctx->Map.pci[ 4 ]; } if ( ctx->Map.entry.Pre_Postponed_NA ) { - ctx->Map.pcs[ 6 ] = RtemsRatemonReqGetStatus_Pre_Postponed_NA; + ctx->Map.pcs[ 5 ] = RtemsRatemonReqGetStatus_Pre_Postponed_NA; } else { - ctx->Map.pcs[ 6 ] = ctx->Map.pci[ 6 ]; + ctx->Map.pcs[ 5 ] = ctx->Map.pci[ 5 ]; } } @@ -1172,11 +1081,10 @@ static void RtemsRatemonReqGetStatus_TestVariant( { RtemsRatemonReqGetStatus_Pre_StatusAddr_Prepare( ctx, ctx->Map.pcs[ 0 ] ); RtemsRatemonReqGetStatus_Pre_Id_Prepare( ctx, ctx->Map.pcs[ 1 ] ); - RtemsRatemonReqGetStatus_Pre_CpuUse_Prepare( ctx, ctx->Map.pcs[ 2 ] ); - RtemsRatemonReqGetStatus_Pre_State_Prepare( ctx, ctx->Map.pcs[ 3 ] ); - RtemsRatemonReqGetStatus_Pre_Elapsed_Prepare( ctx, ctx->Map.pcs[ 4 ] ); - RtemsRatemonReqGetStatus_Pre_Consumed_Prepare( ctx, ctx->Map.pcs[ 5 ] ); - RtemsRatemonReqGetStatus_Pre_Postponed_Prepare( ctx, ctx->Map.pcs[ 6 ] ); + RtemsRatemonReqGetStatus_Pre_State_Prepare( ctx, ctx->Map.pcs[ 2 ] ); + RtemsRatemonReqGetStatus_Pre_Elapsed_Prepare( ctx, ctx->Map.pcs[ 3 ] ); + RtemsRatemonReqGetStatus_Pre_Consumed_Prepare( ctx, ctx->Map.pcs[ 4 ] ); + RtemsRatemonReqGetStatus_Pre_Postponed_Prepare( ctx, ctx->Map.pcs[ 5 ] ); RtemsRatemonReqGetStatus_Action( ctx ); RtemsRatemonReqGetStatus_Post_Status_Check( ctx, @@ -1223,41 +1131,35 @@ T_TEST_CASE_FIXTURE( ++ctx->Map.pci[ 1 ] ) { for ( - ctx->Map.pci[ 2 ] = RtemsRatemonReqGetStatus_Pre_CpuUse_Kept; - ctx->Map.pci[ 2 ] < RtemsRatemonReqGetStatus_Pre_CpuUse_NA; + ctx->Map.pci[ 2 ] = RtemsRatemonReqGetStatus_Pre_State_Inactive; + ctx->Map.pci[ 2 ] < RtemsRatemonReqGetStatus_Pre_State_NA; ++ctx->Map.pci[ 2 ] ) { for ( - ctx->Map.pci[ 3 ] = RtemsRatemonReqGetStatus_Pre_State_Inactive; - ctx->Map.pci[ 3 ] < RtemsRatemonReqGetStatus_Pre_State_NA; + ctx->Map.pci[ 3 ] = RtemsRatemonReqGetStatus_Pre_Elapsed_Time; + ctx->Map.pci[ 3 ] < RtemsRatemonReqGetStatus_Pre_Elapsed_NA; ++ctx->Map.pci[ 3 ] ) { for ( - ctx->Map.pci[ 4 ] = RtemsRatemonReqGetStatus_Pre_Elapsed_Time; - ctx->Map.pci[ 4 ] < RtemsRatemonReqGetStatus_Pre_Elapsed_NA; + ctx->Map.pci[ 4 ] = RtemsRatemonReqGetStatus_Pre_Consumed_CpuTime; + ctx->Map.pci[ 4 ] < RtemsRatemonReqGetStatus_Pre_Consumed_NA; ++ctx->Map.pci[ 4 ] ) { for ( - ctx->Map.pci[ 5 ] = RtemsRatemonReqGetStatus_Pre_Consumed_CpuTime; - ctx->Map.pci[ 5 ] < RtemsRatemonReqGetStatus_Pre_Consumed_NA; + ctx->Map.pci[ 5 ] = RtemsRatemonReqGetStatus_Pre_Postponed_Zero; + ctx->Map.pci[ 5 ] < RtemsRatemonReqGetStatus_Pre_Postponed_NA; ++ctx->Map.pci[ 5 ] ) { - for ( - ctx->Map.pci[ 6 ] = RtemsRatemonReqGetStatus_Pre_Postponed_Zero; - ctx->Map.pci[ 6 ] < RtemsRatemonReqGetStatus_Pre_Postponed_NA; - ++ctx->Map.pci[ 6 ] - ) { - ctx->Map.entry = RtemsRatemonReqGetStatus_PopEntry( ctx ); - - if ( ctx->Map.entry.Skip ) { - continue; - } - - RtemsRatemonReqGetStatus_SetPreConditionStates( ctx ); - RtemsRatemonReqGetStatus_Prepare( ctx ); - RtemsRatemonReqGetStatus_TestVariant( ctx ); - RtemsRatemonReqGetStatus_Cleanup( ctx ); + ctx->Map.entry = RtemsRatemonReqGetStatus_PopEntry( ctx ); + + if ( ctx->Map.entry.Skip ) { + continue; } + + RtemsRatemonReqGetStatus_SetPreConditionStates( ctx ); + RtemsRatemonReqGetStatus_Prepare( ctx ); + RtemsRatemonReqGetStatus_TestVariant( ctx ); + RtemsRatemonReqGetStatus_Cleanup( ctx ); } } } |