File indexing completed on 2025-05-11 08:24:51
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051 #ifdef HAVE_CONFIG_H
0052 #include "config.h"
0053 #endif
0054
0055 #include <rtems.h>
0056 #include <string.h>
0057
0058 #include "ts-config.h"
0059 #include "tx-support.h"
0060
0061 #include <rtems/test.h>
0062
0063
0064
0065
0066
0067
0068
0069
0070
0071 typedef enum {
0072 RtemsPartReqCreate_Pre_Name_Valid,
0073 RtemsPartReqCreate_Pre_Name_Invalid,
0074 RtemsPartReqCreate_Pre_Name_NA
0075 } RtemsPartReqCreate_Pre_Name;
0076
0077 typedef enum {
0078 RtemsPartReqCreate_Pre_Id_Valid,
0079 RtemsPartReqCreate_Pre_Id_Null,
0080 RtemsPartReqCreate_Pre_Id_NA
0081 } RtemsPartReqCreate_Pre_Id;
0082
0083 typedef enum {
0084 RtemsPartReqCreate_Pre_Start_Valid,
0085 RtemsPartReqCreate_Pre_Start_Null,
0086 RtemsPartReqCreate_Pre_Start_BadAlign,
0087 RtemsPartReqCreate_Pre_Start_NA
0088 } RtemsPartReqCreate_Pre_Start;
0089
0090 typedef enum {
0091 RtemsPartReqCreate_Pre_Length_Valid,
0092 RtemsPartReqCreate_Pre_Length_Zero,
0093 RtemsPartReqCreate_Pre_Length_Invalid,
0094 RtemsPartReqCreate_Pre_Length_NA
0095 } RtemsPartReqCreate_Pre_Length;
0096
0097 typedef enum {
0098 RtemsPartReqCreate_Pre_Size_Valid,
0099 RtemsPartReqCreate_Pre_Size_Zero,
0100 RtemsPartReqCreate_Pre_Size_Skew,
0101 RtemsPartReqCreate_Pre_Size_Small,
0102 RtemsPartReqCreate_Pre_Size_NA
0103 } RtemsPartReqCreate_Pre_Size;
0104
0105 typedef enum {
0106 RtemsPartReqCreate_Pre_Free_Yes,
0107 RtemsPartReqCreate_Pre_Free_No,
0108 RtemsPartReqCreate_Pre_Free_NA
0109 } RtemsPartReqCreate_Pre_Free;
0110
0111 typedef enum {
0112 RtemsPartReqCreate_Post_Status_Ok,
0113 RtemsPartReqCreate_Post_Status_InvAddr,
0114 RtemsPartReqCreate_Post_Status_InvName,
0115 RtemsPartReqCreate_Post_Status_InvSize,
0116 RtemsPartReqCreate_Post_Status_TooMany,
0117 RtemsPartReqCreate_Post_Status_NA
0118 } RtemsPartReqCreate_Post_Status;
0119
0120 typedef enum {
0121 RtemsPartReqCreate_Post_Name_Valid,
0122 RtemsPartReqCreate_Post_Name_Invalid,
0123 RtemsPartReqCreate_Post_Name_NA
0124 } RtemsPartReqCreate_Post_Name;
0125
0126 typedef enum {
0127 RtemsPartReqCreate_Post_IdVar_Set,
0128 RtemsPartReqCreate_Post_IdVar_Nop,
0129 RtemsPartReqCreate_Post_IdVar_NA
0130 } RtemsPartReqCreate_Post_IdVar;
0131
0132 typedef struct {
0133 uint16_t Skip : 1;
0134 uint16_t Pre_Name_NA : 1;
0135 uint16_t Pre_Id_NA : 1;
0136 uint16_t Pre_Start_NA : 1;
0137 uint16_t Pre_Length_NA : 1;
0138 uint16_t Pre_Size_NA : 1;
0139 uint16_t Pre_Free_NA : 1;
0140 uint16_t Post_Status : 3;
0141 uint16_t Post_Name : 2;
0142 uint16_t Post_IdVar : 2;
0143 } RtemsPartReqCreate_Entry;
0144
0145
0146
0147
0148 typedef struct {
0149 void *seized_objects;
0150
0151 rtems_status_code status;
0152
0153 rtems_name name;
0154
0155 void *starting_address;
0156
0157 uintptr_t length;
0158
0159 size_t buffer_size;
0160
0161 rtems_attribute attribute_set;
0162
0163 rtems_id *id;
0164
0165 rtems_id id_value;
0166
0167 struct {
0168
0169
0170
0171 size_t pcs[ 6 ];
0172
0173
0174
0175
0176 bool in_action_loop;
0177
0178
0179
0180
0181 size_t index;
0182
0183
0184
0185
0186 RtemsPartReqCreate_Entry entry;
0187
0188
0189
0190
0191
0192 bool skip;
0193 } Map;
0194 } RtemsPartReqCreate_Context;
0195
0196 static RtemsPartReqCreate_Context
0197 RtemsPartReqCreate_Instance;
0198
0199 static const char * const RtemsPartReqCreate_PreDesc_Name[] = {
0200 "Valid",
0201 "Invalid",
0202 "NA"
0203 };
0204
0205 static const char * const RtemsPartReqCreate_PreDesc_Id[] = {
0206 "Valid",
0207 "Null",
0208 "NA"
0209 };
0210
0211 static const char * const RtemsPartReqCreate_PreDesc_Start[] = {
0212 "Valid",
0213 "Null",
0214 "BadAlign",
0215 "NA"
0216 };
0217
0218 static const char * const RtemsPartReqCreate_PreDesc_Length[] = {
0219 "Valid",
0220 "Zero",
0221 "Invalid",
0222 "NA"
0223 };
0224
0225 static const char * const RtemsPartReqCreate_PreDesc_Size[] = {
0226 "Valid",
0227 "Zero",
0228 "Skew",
0229 "Small",
0230 "NA"
0231 };
0232
0233 static const char * const RtemsPartReqCreate_PreDesc_Free[] = {
0234 "Yes",
0235 "No",
0236 "NA"
0237 };
0238
0239 static const char * const * const RtemsPartReqCreate_PreDesc[] = {
0240 RtemsPartReqCreate_PreDesc_Name,
0241 RtemsPartReqCreate_PreDesc_Id,
0242 RtemsPartReqCreate_PreDesc_Start,
0243 RtemsPartReqCreate_PreDesc_Length,
0244 RtemsPartReqCreate_PreDesc_Size,
0245 RtemsPartReqCreate_PreDesc_Free,
0246 NULL
0247 };
0248
0249 #define NAME rtems_build_name( 'T', 'E', 'S', 'T' )
0250
0251 #define MAX_PARTITIONS ( TEST_MAXIMUM_PARTITIONS + 1 )
0252
0253 #define BUFFER_COUNT 2
0254
0255 #define BUFFER_SIZE ( 2 * sizeof( void * ) )
0256
0257 static RTEMS_ALIGNED( RTEMS_PARTITION_ALIGNMENT ) uint8_t
0258 buffers_to_seize[ MAX_PARTITIONS ][ BUFFER_COUNT ][ BUFFER_SIZE ];
0259
0260 static RTEMS_ALIGNED( RTEMS_PARTITION_ALIGNMENT ) uint8_t
0261 buffers[ BUFFER_COUNT ][ BUFFER_SIZE ];
0262
0263 static rtems_status_code Create( void *arg, uint32_t *id )
0264 {
0265 size_t *i;
0266 size_t j;
0267
0268 i = arg;
0269 j = *i;
0270 T_quiet_lt_sz( j, MAX_PARTITIONS );
0271
0272 *i = j + 1;
0273
0274 return rtems_partition_create(
0275 rtems_build_name( 'S', 'I', 'Z', 'E' ),
0276 buffers_to_seize[ j ],
0277 sizeof( buffers_to_seize[ j ] ),
0278 sizeof( buffers_to_seize[ j ][ 0 ] ),
0279 RTEMS_DEFAULT_ATTRIBUTES,
0280 id
0281 );
0282 }
0283
0284 static void RtemsPartReqCreate_Pre_Name_Prepare(
0285 RtemsPartReqCreate_Context *ctx,
0286 RtemsPartReqCreate_Pre_Name state
0287 )
0288 {
0289 switch ( state ) {
0290 case RtemsPartReqCreate_Pre_Name_Valid: {
0291
0292
0293
0294 ctx->name = NAME;
0295 break;
0296 }
0297
0298 case RtemsPartReqCreate_Pre_Name_Invalid: {
0299
0300
0301
0302 ctx->name = 0;
0303 break;
0304 }
0305
0306 case RtemsPartReqCreate_Pre_Name_NA:
0307 break;
0308 }
0309 }
0310
0311 static void RtemsPartReqCreate_Pre_Id_Prepare(
0312 RtemsPartReqCreate_Context *ctx,
0313 RtemsPartReqCreate_Pre_Id state
0314 )
0315 {
0316 switch ( state ) {
0317 case RtemsPartReqCreate_Pre_Id_Valid: {
0318
0319
0320
0321 ctx->id = &ctx->id_value;
0322 break;
0323 }
0324
0325 case RtemsPartReqCreate_Pre_Id_Null: {
0326
0327
0328
0329 ctx->id = NULL;
0330 break;
0331 }
0332
0333 case RtemsPartReqCreate_Pre_Id_NA:
0334 break;
0335 }
0336 }
0337
0338 static void RtemsPartReqCreate_Pre_Start_Prepare(
0339 RtemsPartReqCreate_Context *ctx,
0340 RtemsPartReqCreate_Pre_Start state
0341 )
0342 {
0343 switch ( state ) {
0344 case RtemsPartReqCreate_Pre_Start_Valid: {
0345
0346
0347
0348 ctx->starting_address = buffers;
0349 break;
0350 }
0351
0352 case RtemsPartReqCreate_Pre_Start_Null: {
0353
0354
0355
0356 ctx->starting_address = NULL;
0357 break;
0358 }
0359
0360 case RtemsPartReqCreate_Pre_Start_BadAlign: {
0361
0362
0363
0364 ctx->starting_address = &buffers[ 0 ][ 1 ];
0365 break;
0366 }
0367
0368 case RtemsPartReqCreate_Pre_Start_NA:
0369 break;
0370 }
0371 }
0372
0373 static void RtemsPartReqCreate_Pre_Length_Prepare(
0374 RtemsPartReqCreate_Context *ctx,
0375 RtemsPartReqCreate_Pre_Length state
0376 )
0377 {
0378 switch ( state ) {
0379 case RtemsPartReqCreate_Pre_Length_Valid: {
0380
0381
0382
0383 ctx->length = sizeof( buffers );
0384 break;
0385 }
0386
0387 case RtemsPartReqCreate_Pre_Length_Zero: {
0388
0389
0390
0391 ctx->length = 0;
0392 break;
0393 }
0394
0395 case RtemsPartReqCreate_Pre_Length_Invalid: {
0396
0397
0398
0399 ctx->length = sizeof( buffers[ 0 ] ) - 1;
0400 break;
0401 }
0402
0403 case RtemsPartReqCreate_Pre_Length_NA:
0404 break;
0405 }
0406 }
0407
0408 static void RtemsPartReqCreate_Pre_Size_Prepare(
0409 RtemsPartReqCreate_Context *ctx,
0410 RtemsPartReqCreate_Pre_Size state
0411 )
0412 {
0413 switch ( state ) {
0414 case RtemsPartReqCreate_Pre_Size_Valid: {
0415
0416
0417
0418 ctx->buffer_size = sizeof( buffers[ 0 ] );
0419 break;
0420 }
0421
0422 case RtemsPartReqCreate_Pre_Size_Zero: {
0423
0424
0425
0426 ctx->buffer_size = 0;
0427 break;
0428 }
0429
0430 case RtemsPartReqCreate_Pre_Size_Skew: {
0431
0432
0433
0434
0435 ctx->buffer_size = 1;
0436 break;
0437 }
0438
0439 case RtemsPartReqCreate_Pre_Size_Small: {
0440
0441
0442
0443
0444 ctx->buffer_size = sizeof( uintptr_t );
0445 break;
0446 }
0447
0448 case RtemsPartReqCreate_Pre_Size_NA:
0449 break;
0450 }
0451 }
0452
0453 static void RtemsPartReqCreate_Pre_Free_Prepare(
0454 RtemsPartReqCreate_Context *ctx,
0455 RtemsPartReqCreate_Pre_Free state
0456 )
0457 {
0458 size_t i;
0459
0460 switch ( state ) {
0461 case RtemsPartReqCreate_Pre_Free_Yes: {
0462
0463
0464
0465
0466 break;
0467 }
0468
0469 case RtemsPartReqCreate_Pre_Free_No: {
0470
0471
0472
0473 i = 0;
0474 ctx->seized_objects = T_seize_objects( Create, &i );
0475 break;
0476 }
0477
0478 case RtemsPartReqCreate_Pre_Free_NA:
0479 break;
0480 }
0481 }
0482
0483 static void RtemsPartReqCreate_Post_Status_Check(
0484 RtemsPartReqCreate_Context *ctx,
0485 RtemsPartReqCreate_Post_Status state
0486 )
0487 {
0488 switch ( state ) {
0489 case RtemsPartReqCreate_Post_Status_Ok: {
0490
0491
0492
0493
0494 T_rsc_success( ctx->status );
0495 break;
0496 }
0497
0498 case RtemsPartReqCreate_Post_Status_InvAddr: {
0499
0500
0501
0502
0503 T_rsc( ctx->status, RTEMS_INVALID_ADDRESS );
0504 break;
0505 }
0506
0507 case RtemsPartReqCreate_Post_Status_InvName: {
0508
0509
0510
0511
0512 T_rsc( ctx->status, RTEMS_INVALID_NAME );
0513 break;
0514 }
0515
0516 case RtemsPartReqCreate_Post_Status_InvSize: {
0517
0518
0519
0520
0521 T_rsc( ctx->status, RTEMS_INVALID_SIZE );
0522 break;
0523 }
0524
0525 case RtemsPartReqCreate_Post_Status_TooMany: {
0526
0527
0528
0529 T_rsc( ctx->status, RTEMS_TOO_MANY );
0530 break;
0531 }
0532
0533 case RtemsPartReqCreate_Post_Status_NA:
0534 break;
0535 }
0536 }
0537
0538 static void RtemsPartReqCreate_Post_Name_Check(
0539 RtemsPartReqCreate_Context *ctx,
0540 RtemsPartReqCreate_Post_Name state
0541 )
0542 {
0543 rtems_status_code sc;
0544 rtems_id id;
0545
0546 switch ( state ) {
0547 case RtemsPartReqCreate_Post_Name_Valid: {
0548
0549
0550
0551
0552 id = 0;
0553 sc = rtems_partition_ident( NAME, RTEMS_SEARCH_LOCAL_NODE, &id );
0554 T_rsc_success( sc );
0555 T_eq_u32( id, ctx->id_value );
0556 break;
0557 }
0558
0559 case RtemsPartReqCreate_Post_Name_Invalid: {
0560
0561
0562
0563 sc = rtems_partition_ident( NAME, RTEMS_SEARCH_LOCAL_NODE, &id );
0564 T_rsc( sc, RTEMS_INVALID_NAME );
0565 break;
0566 }
0567
0568 case RtemsPartReqCreate_Post_Name_NA:
0569 break;
0570 }
0571 }
0572
0573 static void RtemsPartReqCreate_Post_IdVar_Check(
0574 RtemsPartReqCreate_Context *ctx,
0575 RtemsPartReqCreate_Post_IdVar state
0576 )
0577 {
0578 rtems_status_code sc;
0579 size_t i;
0580 void *buffers[ BUFFER_COUNT ];
0581 void *no_buffer;
0582
0583 switch ( state ) {
0584 case RtemsPartReqCreate_Post_IdVar_Set: {
0585
0586
0587
0588
0589
0590 T_eq_ptr( ctx->id, &ctx->id_value );
0591 T_ne_u32( ctx->id_value, INVALID_ID );
0592
0593 for ( i = 0; i < BUFFER_COUNT; ++i) {
0594 sc = rtems_partition_get_buffer( ctx->id_value, &buffers[ i ] );
0595 T_rsc_success( sc );
0596 T_not_null( buffers[ i ] );
0597 }
0598
0599 no_buffer = (void *) (uintptr_t) 1;
0600 sc = rtems_partition_get_buffer( ctx->id_value, &no_buffer );
0601 T_rsc( sc, RTEMS_UNSATISFIED );
0602 T_eq_ptr( no_buffer, (void *) (uintptr_t) 1 );
0603
0604 for ( i = 0; i < BUFFER_COUNT; ++i) {
0605 sc = rtems_partition_return_buffer( ctx->id_value, buffers[ i ] );
0606 T_rsc_success( sc );
0607 }
0608
0609 sc = rtems_partition_delete( ctx->id_value );
0610 T_rsc_success( sc );
0611 break;
0612 }
0613
0614 case RtemsPartReqCreate_Post_IdVar_Nop: {
0615
0616
0617
0618
0619
0620 T_eq_u32( ctx->id_value, INVALID_ID );
0621 break;
0622 }
0623
0624 case RtemsPartReqCreate_Post_IdVar_NA:
0625 break;
0626 }
0627 }
0628
0629 static void RtemsPartReqCreate_Prepare( RtemsPartReqCreate_Context *ctx )
0630 {
0631 rtems_status_code sc;
0632 rtems_id id;
0633
0634 ctx->id_value = INVALID_ID;
0635 ctx->attribute_set = RTEMS_DEFAULT_ATTRIBUTES;
0636
0637 id = INVALID_ID;
0638 sc = rtems_partition_ident( NAME, RTEMS_SEARCH_LOCAL_NODE, &id );
0639 T_rsc( sc, RTEMS_INVALID_NAME );
0640 T_eq_u32( id, INVALID_ID );
0641 }
0642
0643 static void RtemsPartReqCreate_Action( RtemsPartReqCreate_Context *ctx )
0644 {
0645 ctx->status = rtems_partition_create(
0646 ctx->name,
0647 ctx->starting_address,
0648 ctx->length,
0649 ctx->buffer_size,
0650 ctx->attribute_set,
0651 ctx->id
0652 );
0653 }
0654
0655 static void RtemsPartReqCreate_Cleanup( RtemsPartReqCreate_Context *ctx )
0656 {
0657 T_surrender_objects( &ctx->seized_objects, rtems_partition_delete );
0658 }
0659
0660 static const RtemsPartReqCreate_Entry
0661 RtemsPartReqCreate_Entries[] = {
0662 { 0, 0, 0, 0, 0, 0, 0, RtemsPartReqCreate_Post_Status_InvName,
0663 RtemsPartReqCreate_Post_Name_Invalid, RtemsPartReqCreate_Post_IdVar_Nop },
0664 { 0, 0, 0, 0, 0, 0, 0, RtemsPartReqCreate_Post_Status_InvAddr,
0665 RtemsPartReqCreate_Post_Name_Invalid, RtemsPartReqCreate_Post_IdVar_Nop },
0666 { 0, 0, 0, 0, 0, 0, 0, RtemsPartReqCreate_Post_Status_InvSize,
0667 RtemsPartReqCreate_Post_Name_Invalid, RtemsPartReqCreate_Post_IdVar_Nop },
0668 { 0, 0, 0, 0, 0, 0, 0, RtemsPartReqCreate_Post_Status_Ok,
0669 RtemsPartReqCreate_Post_Name_Valid, RtemsPartReqCreate_Post_IdVar_Set },
0670 { 0, 0, 0, 0, 0, 0, 0, RtemsPartReqCreate_Post_Status_TooMany,
0671 RtemsPartReqCreate_Post_Name_Invalid, RtemsPartReqCreate_Post_IdVar_Nop }
0672 };
0673
0674 static const uint8_t
0675 RtemsPartReqCreate_Map[] = {
0676 3, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1,
0677 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2,
0678 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1,
0679 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
0680 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
0681 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0682 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0683 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0684 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0685 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0686 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0687 0, 0
0688 };
0689
0690 static size_t RtemsPartReqCreate_Scope( void *arg, char *buf, size_t n )
0691 {
0692 RtemsPartReqCreate_Context *ctx;
0693
0694 ctx = arg;
0695
0696 if ( ctx->Map.in_action_loop ) {
0697 return T_get_scope( RtemsPartReqCreate_PreDesc, buf, n, ctx->Map.pcs );
0698 }
0699
0700 return 0;
0701 }
0702
0703 static T_fixture RtemsPartReqCreate_Fixture = {
0704 .setup = NULL,
0705 .stop = NULL,
0706 .teardown = NULL,
0707 .scope = RtemsPartReqCreate_Scope,
0708 .initial_context = &RtemsPartReqCreate_Instance
0709 };
0710
0711 static inline RtemsPartReqCreate_Entry RtemsPartReqCreate_PopEntry(
0712 RtemsPartReqCreate_Context *ctx
0713 )
0714 {
0715 size_t index;
0716
0717 index = ctx->Map.index;
0718 ctx->Map.index = index + 1;
0719 return RtemsPartReqCreate_Entries[
0720 RtemsPartReqCreate_Map[ index ]
0721 ];
0722 }
0723
0724 static void RtemsPartReqCreate_TestVariant( RtemsPartReqCreate_Context *ctx )
0725 {
0726 RtemsPartReqCreate_Pre_Name_Prepare( ctx, ctx->Map.pcs[ 0 ] );
0727 RtemsPartReqCreate_Pre_Id_Prepare( ctx, ctx->Map.pcs[ 1 ] );
0728 RtemsPartReqCreate_Pre_Start_Prepare( ctx, ctx->Map.pcs[ 2 ] );
0729 RtemsPartReqCreate_Pre_Length_Prepare( ctx, ctx->Map.pcs[ 3 ] );
0730 RtemsPartReqCreate_Pre_Size_Prepare( ctx, ctx->Map.pcs[ 4 ] );
0731 RtemsPartReqCreate_Pre_Free_Prepare( ctx, ctx->Map.pcs[ 5 ] );
0732 RtemsPartReqCreate_Action( ctx );
0733 RtemsPartReqCreate_Post_Status_Check( ctx, ctx->Map.entry.Post_Status );
0734 RtemsPartReqCreate_Post_Name_Check( ctx, ctx->Map.entry.Post_Name );
0735 RtemsPartReqCreate_Post_IdVar_Check( ctx, ctx->Map.entry.Post_IdVar );
0736 }
0737
0738
0739
0740
0741 T_TEST_CASE_FIXTURE( RtemsPartReqCreate, &RtemsPartReqCreate_Fixture )
0742 {
0743 RtemsPartReqCreate_Context *ctx;
0744
0745 ctx = T_fixture_context();
0746 ctx->Map.in_action_loop = true;
0747 ctx->Map.index = 0;
0748
0749 for (
0750 ctx->Map.pcs[ 0 ] = RtemsPartReqCreate_Pre_Name_Valid;
0751 ctx->Map.pcs[ 0 ] < RtemsPartReqCreate_Pre_Name_NA;
0752 ++ctx->Map.pcs[ 0 ]
0753 ) {
0754 for (
0755 ctx->Map.pcs[ 1 ] = RtemsPartReqCreate_Pre_Id_Valid;
0756 ctx->Map.pcs[ 1 ] < RtemsPartReqCreate_Pre_Id_NA;
0757 ++ctx->Map.pcs[ 1 ]
0758 ) {
0759 for (
0760 ctx->Map.pcs[ 2 ] = RtemsPartReqCreate_Pre_Start_Valid;
0761 ctx->Map.pcs[ 2 ] < RtemsPartReqCreate_Pre_Start_NA;
0762 ++ctx->Map.pcs[ 2 ]
0763 ) {
0764 for (
0765 ctx->Map.pcs[ 3 ] = RtemsPartReqCreate_Pre_Length_Valid;
0766 ctx->Map.pcs[ 3 ] < RtemsPartReqCreate_Pre_Length_NA;
0767 ++ctx->Map.pcs[ 3 ]
0768 ) {
0769 for (
0770 ctx->Map.pcs[ 4 ] = RtemsPartReqCreate_Pre_Size_Valid;
0771 ctx->Map.pcs[ 4 ] < RtemsPartReqCreate_Pre_Size_NA;
0772 ++ctx->Map.pcs[ 4 ]
0773 ) {
0774 for (
0775 ctx->Map.pcs[ 5 ] = RtemsPartReqCreate_Pre_Free_Yes;
0776 ctx->Map.pcs[ 5 ] < RtemsPartReqCreate_Pre_Free_NA;
0777 ++ctx->Map.pcs[ 5 ]
0778 ) {
0779 ctx->Map.entry = RtemsPartReqCreate_PopEntry( ctx );
0780 RtemsPartReqCreate_Prepare( ctx );
0781 RtemsPartReqCreate_TestVariant( ctx );
0782 RtemsPartReqCreate_Cleanup( ctx );
0783 }
0784 }
0785 }
0786 }
0787 }
0788 }
0789 }
0790
0791