Skip to content

Commit 802f69f

Browse files
authored
76 add init/deinit functions for unit test local ctxs (#149)
* Add init/deinit for local test ctx * apply format ubuntu
1 parent 9d98179 commit 802f69f

9 files changed

Lines changed: 42 additions & 46 deletions

src/backend/SecurityActionSet.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ size_t BSL_SecurityActionSet_Sizeof(void)
3939
void BSL_SecurityActionSet_Init(BSL_SecurityActionSet_t *self)
4040
{
4141
ASSERT_ARG_NONNULL(self);
42+
memset(self, 0, sizeof(BSL_SecurityActionSet_t));
4243
BSL_SecActionList_init(self->actions);
4344
self->action_count = 0;
4445
self->err_count = 0;

test/bsl_test_utils.c

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -227,6 +227,32 @@ int rfc9173_byte_gen_fn_a4(unsigned char *buf, int len)
227227
return 1;
228228
}
229229

230+
int BSL_TestContext_Init(BSL_TestContext_t *ctx, bool setupDefaultSecCtxs)
231+
{
232+
memset(ctx, 0, sizeof(BSL_TestContext_t));
233+
if (BSL_SUCCESS != BSL_API_InitLib(&ctx->bsl))
234+
{
235+
return 1;
236+
}
237+
mock_bpa_ctr_init(&ctx->mock_bpa_ctr);
238+
if (setupDefaultSecCtxs)
239+
{
240+
BSL_TestUtils_SetupDefaultSecurityContext(&ctx->bsl);
241+
}
242+
return BSL_SUCCESS;
243+
}
244+
245+
int BSL_TestContext_Deinit(BSL_TestContext_t *ctx)
246+
{
247+
mock_bpa_ctr_deinit(&ctx->mock_bpa_ctr);
248+
if (BSL_SUCCESS != BSL_API_DeinitLib(&ctx->bsl))
249+
{
250+
return 1;
251+
}
252+
memset(ctx, 0, sizeof(BSL_TestContext_t));
253+
return BSL_SUCCESS;
254+
}
255+
230256
void BSL_TestUtils_SetupDefaultSecurityContext(BSL_LibCtx_t *bsl_lib)
231257
{
232258
assert(bsl_lib != NULL);

test/bsl_test_utils.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -347,6 +347,9 @@ typedef struct BSL_TestContext_s
347347
uint64_t key_id;
348348
} BSL_TestContext_t;
349349

350+
int BSL_TestContext_Init(BSL_TestContext_t *ctx, bool setupDefaultSecCtxs);
351+
int BSL_TestContext_Deinit(BSL_TestContext_t *ctx);
352+
350353
BSL_SecurityActionSet_t *BSL_TestUtils_InitMallocBIBActionSet(BIBTestContext *bib_context);
351354
BSL_SecurityResponseSet_t *BSL_TestUtils_MallocEmptyPolicyResponse(void);
352355

test/test_BackendPolicyProvider.c

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,8 @@ int suiteTearDown(int failures)
5757

5858
void setUp(void)
5959
{
60-
memset(&LocalTestCtx, 0, sizeof(LocalTestCtx));
6160
setenv("BSL_TEST_LOCAL_IPN_EID", "ipn:2.1", 1);
62-
TEST_ASSERT_EQUAL(0, BSL_API_InitLib(&LocalTestCtx.bsl));
61+
TEST_ASSERT_EQUAL(0, BSL_TestContext_Init(&LocalTestCtx, false));
6362

6463
BSL_PolicyDesc_t policy_desc = { 0 };
6564
policy_desc.user_data = BSL_calloc(1, sizeof(BSLP_PolicyProvider_t));
@@ -68,14 +67,11 @@ void setUp(void)
6867
policy_desc.deinit_fn = BSLP_Deinit;
6968

7069
TEST_ASSERT_EQUAL(0, BSL_API_RegisterPolicyProvider(&LocalTestCtx.bsl, BSL_SAMPLE_PP_ID, policy_desc));
71-
72-
mock_bpa_ctr_init(&LocalTestCtx.mock_bpa_ctr);
7370
}
7471

7572
void tearDown(void)
7673
{
77-
mock_bpa_ctr_deinit(&LocalTestCtx.mock_bpa_ctr);
78-
TEST_ASSERT_EQUAL(0, BSL_API_DeinitLib(&LocalTestCtx.bsl));
74+
TEST_ASSERT_EQUAL(0, BSL_TestContext_Deinit(&LocalTestCtx));
7975
}
8076

8177
/**

test/test_BackendSecurityContext.c

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -61,17 +61,13 @@ void setUp(void)
6161
{
6262
BSL_CryptoInit();
6363
setenv("BSL_TEST_LOCAL_IPN_EID", "ipn:2.1", 1);
64-
memset(&LocalTestCtx, 0, sizeof(LocalTestCtx));
65-
TEST_ASSERT_EQUAL(0, BSL_API_InitLib(&LocalTestCtx.bsl));
66-
mock_bpa_ctr_init(&LocalTestCtx.mock_bpa_ctr);
67-
BSL_TestUtils_SetupDefaultSecurityContext(&LocalTestCtx.bsl);
64+
TEST_ASSERT_EQUAL(0, BSL_TestContext_Init(&LocalTestCtx, true));
6865
}
6966

7067
void tearDown(void)
7168
{
72-
mock_bpa_ctr_deinit(&LocalTestCtx.mock_bpa_ctr);
73-
TEST_ASSERT_EQUAL(0, BSL_API_DeinitLib(&LocalTestCtx.bsl));
7469
BSL_CryptoDeinit();
70+
TEST_ASSERT_EQUAL(0, BSL_TestContext_Deinit(&LocalTestCtx));
7571
}
7672

7773
/**

test/test_DefaultSecurityContext.c

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -67,17 +67,13 @@ void setUp(void)
6767
{
6868
BSL_CryptoInit();
6969
setenv("BSL_TEST_LOCAL_IPN_EID", "ipn:2.1", 1);
70-
memset(&LocalTestCtx, 0, sizeof(LocalTestCtx));
71-
TEST_ASSERT_EQUAL(0, BSL_API_InitLib(&LocalTestCtx.bsl));
72-
mock_bpa_ctr_init(&LocalTestCtx.mock_bpa_ctr);
73-
BSL_TestUtils_SetupDefaultSecurityContext(&LocalTestCtx.bsl);
70+
TEST_ASSERT_EQUAL(0, BSL_TestContext_Init(&LocalTestCtx, true));
7471
}
7572

7673
void tearDown(void)
7774
{
78-
mock_bpa_ctr_deinit(&LocalTestCtx.mock_bpa_ctr);
7975
BSL_CryptoDeinit();
80-
TEST_ASSERT_EQUAL(0, BSL_API_DeinitLib(&LocalTestCtx.bsl));
76+
TEST_ASSERT_EQUAL(0, BSL_TestContext_Deinit(&LocalTestCtx));
8177
}
8278

8379
/**

test/test_DynamicMemCbs.c

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -94,12 +94,8 @@ int suiteTearDown(int failures)
9494
void _setUp(void)
9595
{
9696
setenv("BSL_TEST_LOCAL_IPN_EID", "ipn:2.1", 1);
97-
memset(&LocalTestCtx, 0, sizeof(LocalTestCtx));
98-
TEST_ASSERT_EQUAL(0, BSL_API_InitLib(&LocalTestCtx.bsl));
99-
mock_bpa_ctr_init(&LocalTestCtx.mock_bpa_ctr);
100-
memset(&action_set, 0, sizeof(action_set));
101-
10297
BSL_CryptoInit();
98+
TEST_ASSERT_EQUAL(0, BSL_TestContext_Init(&LocalTestCtx, true));
10399

104100
BSL_SecParam_Init(&param_aes_variant_128);
105101
BSL_SecParam_Init(&param_use_wrap_key);
@@ -143,18 +139,14 @@ void _setUp(void)
143139
BSLP_PolicyRule_CopyParam(rule_bsl_32b, &param_test_bcb_key_correct);
144140
BSLP_PolicyRule_CopyParam(rule_bsl_32b, &param_aes_variant_128);
145141
BSLP_PolicyRule_CopyParam(rule_bsl_32b, &param_use_wrap_key);
146-
147-
/// Register the Security Context
148-
BSL_TestUtils_SetupDefaultSecurityContext(&LocalTestCtx.bsl);
149142
}
150143

151144
// manually call this to control dynamic mem callback tracking for test
152145
void _tearDown(void)
153146
{
154147
BSL_SecurityActionSet_Deinit(&action_set);
155-
mock_bpa_ctr_deinit(&LocalTestCtx.mock_bpa_ctr);
156148
BSL_CryptoDeinit();
157-
TEST_ASSERT_EQUAL(0, BSL_API_DeinitLib(&LocalTestCtx.bsl));
149+
TEST_ASSERT_EQUAL(0, BSL_TestContext_Deinit(&LocalTestCtx));
158150

159151
BSL_SecParam_Deinit(&param_aes_variant_128);
160152
BSL_SecParam_Deinit(&param_use_wrap_key);

test/test_PublicInterfaceImpl.c

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -118,13 +118,8 @@ void PublicInterfaceTestCtx_deinit(BSL_TestPublInterfaceCtx_t *ctx)
118118
void setUp(void)
119119
{
120120
setenv("BSL_TEST_LOCAL_IPN_EID", "ipn:2.1", 1);
121-
memset(&LocalTestCtx, 0, sizeof(LocalTestCtx));
122-
TEST_ASSERT_EQUAL(0, BSL_API_InitLib(&LocalTestCtx.bsl));
123-
mock_bpa_ctr_init(&LocalTestCtx.mock_bpa_ctr);
124-
memset(&action_set, 0, sizeof(action_set));
125-
126121
BSL_CryptoInit();
127-
122+
TEST_ASSERT_EQUAL(0, BSL_TestContext_Init(&LocalTestCtx, true));
128123
PublicInterfaceTestCtx_init(&ctx);
129124

130125
/// Register the policy provider with some rules
@@ -561,18 +556,13 @@ void setUp(void)
561556
BSLP_PolicyRule_CopyParam(rule_bsl_32b, &ctx.param_test_bcb_key_correct);
562557
BSLP_PolicyRule_CopyParam(rule_bsl_32b, &ctx.param_aes_variant_128);
563558
BSLP_PolicyRule_CopyParam(rule_bsl_32b, &ctx.param_use_wrap_key);
564-
565-
/// Register the Security Context
566-
BSL_TestUtils_SetupDefaultSecurityContext(&LocalTestCtx.bsl);
567559
}
568560

569561
void tearDown(void)
570562
{
571563
BSL_SecurityActionSet_Deinit(&action_set);
572-
mock_bpa_ctr_deinit(&LocalTestCtx.mock_bpa_ctr);
573564
BSL_CryptoDeinit();
574-
TEST_ASSERT_EQUAL(0, BSL_API_DeinitLib(&LocalTestCtx.bsl));
575-
565+
TEST_ASSERT_EQUAL(0, BSL_TestContext_Deinit(&LocalTestCtx));
576566
PublicInterfaceTestCtx_deinit(&ctx);
577567
}
578568

test/test_SamplePolicyProvider.c

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -54,16 +54,12 @@ int suiteTearDown(int failures)
5454
void setUp(void)
5555
{
5656
setenv("BSL_TEST_LOCAL_IPN_EID", "ipn:2.1", 1);
57-
memset(&LocalTestCtx, 0, sizeof(LocalTestCtx));
58-
TEST_ASSERT_EQUAL(0, BSL_API_InitLib(&LocalTestCtx.bsl));
59-
mock_bpa_ctr_init(&LocalTestCtx.mock_bpa_ctr);
57+
TEST_ASSERT_EQUAL(0, BSL_TestContext_Init(&LocalTestCtx, false));
6058
}
6159

6260
void tearDown(void)
6361
{
64-
mock_bpa_ctr_deinit(&LocalTestCtx.mock_bpa_ctr);
65-
// BSL_BundleCtx_Deinit(LocalTestCtx.bundle);
66-
TEST_ASSERT_EQUAL(0, BSL_API_DeinitLib(&LocalTestCtx.bsl));
62+
TEST_ASSERT_EQUAL(0, BSL_TestContext_Deinit(&LocalTestCtx));
6763
}
6864

6965
/**

0 commit comments

Comments
 (0)