From 9f727f937965ee3e7bd07c5af5ee48aafa59eaf8 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Thu, 6 May 2021 15:15:28 +0200 Subject: validation: Fix handling of N/A pre-conditions In the action requirements, some pre-conditions are not applicable depending on the state of other pre-conditions. There is no particular order in the pre-conditions, so we have to check the N/A status individually. --- .../validation/tc-message-construct-errors.c | 92 +--------------------- 1 file changed, 3 insertions(+), 89 deletions(-) (limited to 'testsuites/validation/tc-message-construct-errors.c') diff --git a/testsuites/validation/tc-message-construct-errors.c b/testsuites/validation/tc-message-construct-errors.c index 40b5f1da47..08385963fa 100644 --- a/testsuites/validation/tc-message-construct-errors.c +++ b/testsuites/validation/tc-message-construct-errors.c @@ -821,7 +821,6 @@ T_TEST_CASE_FIXTURE( ) { RtemsMessageReqConstructErrors_Context *ctx; - RtemsMessageReqConstructErrors_Entry entry; size_t index; ctx = T_fixture_context(); @@ -833,129 +832,45 @@ T_TEST_CASE_FIXTURE( ctx->pcs[ 0 ] < RtemsMessageReqConstructErrors_Pre_Config_NA; ++ctx->pcs[ 0 ] ) { - entry = RtemsMessageReqConstructErrors_GetEntry( index ); - - if ( entry.Pre_Config_NA ) { - ctx->pcs[ 0 ] = RtemsMessageReqConstructErrors_Pre_Config_NA; - index += ( RtemsMessageReqConstructErrors_Pre_Config_NA - 1 ) - * RtemsMessageReqConstructErrors_Pre_Name_NA - * RtemsMessageReqConstructErrors_Pre_Id_NA - * RtemsMessageReqConstructErrors_Pre_MaxPending_NA - * RtemsMessageReqConstructErrors_Pre_MaxSize_NA - * RtemsMessageReqConstructErrors_Pre_Free_NA - * RtemsMessageReqConstructErrors_Pre_Area_NA - * RtemsMessageReqConstructErrors_Pre_AreaSize_NA; - } - for ( ctx->pcs[ 1 ] = RtemsMessageReqConstructErrors_Pre_Name_Valid; ctx->pcs[ 1 ] < RtemsMessageReqConstructErrors_Pre_Name_NA; ++ctx->pcs[ 1 ] ) { - entry = RtemsMessageReqConstructErrors_GetEntry( index ); - - if ( entry.Pre_Name_NA ) { - ctx->pcs[ 1 ] = RtemsMessageReqConstructErrors_Pre_Name_NA; - index += ( RtemsMessageReqConstructErrors_Pre_Name_NA - 1 ) - * RtemsMessageReqConstructErrors_Pre_Id_NA - * RtemsMessageReqConstructErrors_Pre_MaxPending_NA - * RtemsMessageReqConstructErrors_Pre_MaxSize_NA - * RtemsMessageReqConstructErrors_Pre_Free_NA - * RtemsMessageReqConstructErrors_Pre_Area_NA - * RtemsMessageReqConstructErrors_Pre_AreaSize_NA; - } - for ( ctx->pcs[ 2 ] = RtemsMessageReqConstructErrors_Pre_Id_Id; ctx->pcs[ 2 ] < RtemsMessageReqConstructErrors_Pre_Id_NA; ++ctx->pcs[ 2 ] ) { - entry = RtemsMessageReqConstructErrors_GetEntry( index ); - - if ( entry.Pre_Id_NA ) { - ctx->pcs[ 2 ] = RtemsMessageReqConstructErrors_Pre_Id_NA; - index += ( RtemsMessageReqConstructErrors_Pre_Id_NA - 1 ) - * RtemsMessageReqConstructErrors_Pre_MaxPending_NA - * RtemsMessageReqConstructErrors_Pre_MaxSize_NA - * RtemsMessageReqConstructErrors_Pre_Free_NA - * RtemsMessageReqConstructErrors_Pre_Area_NA - * RtemsMessageReqConstructErrors_Pre_AreaSize_NA; - } - for ( ctx->pcs[ 3 ] = RtemsMessageReqConstructErrors_Pre_MaxPending_Valid; ctx->pcs[ 3 ] < RtemsMessageReqConstructErrors_Pre_MaxPending_NA; ++ctx->pcs[ 3 ] ) { - entry = RtemsMessageReqConstructErrors_GetEntry( index ); - - if ( entry.Pre_MaxPending_NA ) { - ctx->pcs[ 3 ] = RtemsMessageReqConstructErrors_Pre_MaxPending_NA; - index += ( RtemsMessageReqConstructErrors_Pre_MaxPending_NA - 1 ) - * RtemsMessageReqConstructErrors_Pre_MaxSize_NA - * RtemsMessageReqConstructErrors_Pre_Free_NA - * RtemsMessageReqConstructErrors_Pre_Area_NA - * RtemsMessageReqConstructErrors_Pre_AreaSize_NA; - } - for ( ctx->pcs[ 4 ] = RtemsMessageReqConstructErrors_Pre_MaxSize_Valid; ctx->pcs[ 4 ] < RtemsMessageReqConstructErrors_Pre_MaxSize_NA; ++ctx->pcs[ 4 ] ) { - entry = RtemsMessageReqConstructErrors_GetEntry( index ); - - if ( entry.Pre_MaxSize_NA ) { - ctx->pcs[ 4 ] = RtemsMessageReqConstructErrors_Pre_MaxSize_NA; - index += ( RtemsMessageReqConstructErrors_Pre_MaxSize_NA - 1 ) - * RtemsMessageReqConstructErrors_Pre_Free_NA - * RtemsMessageReqConstructErrors_Pre_Area_NA - * RtemsMessageReqConstructErrors_Pre_AreaSize_NA; - } - for ( ctx->pcs[ 5 ] = RtemsMessageReqConstructErrors_Pre_Free_Yes; ctx->pcs[ 5 ] < RtemsMessageReqConstructErrors_Pre_Free_NA; ++ctx->pcs[ 5 ] ) { - entry = RtemsMessageReqConstructErrors_GetEntry( index ); - - if ( entry.Pre_Free_NA ) { - ctx->pcs[ 5 ] = RtemsMessageReqConstructErrors_Pre_Free_NA; - index += ( RtemsMessageReqConstructErrors_Pre_Free_NA - 1 ) - * RtemsMessageReqConstructErrors_Pre_Area_NA - * RtemsMessageReqConstructErrors_Pre_AreaSize_NA; - } - for ( ctx->pcs[ 6 ] = RtemsMessageReqConstructErrors_Pre_Area_Valid; ctx->pcs[ 6 ] < RtemsMessageReqConstructErrors_Pre_Area_NA; ++ctx->pcs[ 6 ] ) { - entry = RtemsMessageReqConstructErrors_GetEntry( index ); - - if ( entry.Pre_Area_NA ) { - ctx->pcs[ 6 ] = RtemsMessageReqConstructErrors_Pre_Area_NA; - index += ( RtemsMessageReqConstructErrors_Pre_Area_NA - 1 ) - * RtemsMessageReqConstructErrors_Pre_AreaSize_NA; - } - for ( ctx->pcs[ 7 ] = RtemsMessageReqConstructErrors_Pre_AreaSize_Valid; ctx->pcs[ 7 ] < RtemsMessageReqConstructErrors_Pre_AreaSize_NA; ++ctx->pcs[ 7 ] ) { - entry = RtemsMessageReqConstructErrors_GetEntry( index ); - - if ( entry.Pre_AreaSize_NA ) { - ctx->pcs[ 7 ] = RtemsMessageReqConstructErrors_Pre_AreaSize_NA; - index += ( RtemsMessageReqConstructErrors_Pre_AreaSize_NA - 1 ); - } + RtemsMessageReqConstructErrors_Entry entry; - if ( entry.Skip ) { - ++index; - continue; - } + entry = RtemsMessageReqConstructErrors_GetEntry( index ); + ++index; RtemsMessageReqConstructErrors_Prepare( ctx ); RtemsMessageReqConstructErrors_Pre_Config_Prepare( @@ -1004,7 +919,6 @@ T_TEST_CASE_FIXTURE( entry.Post_IdVar ); RtemsMessageReqConstructErrors_Cleanup( ctx ); - ++index; } } } -- cgit v1.2.3