---
src/ckpt/apitest/test_cpa.c | 48 ++++++++++++++++++++++++++++++++++++++++
src/ckpt/apitest/test_cpa_util.c | 3 +++
src/ckpt/apitest/test_cpsv.h | 1 +
3 files changed, 52 insertions(+)
diff --git a/src/ckpt/apitest/test_cpa.c b/src/ckpt/apitest/test_cpa.c
index de4961e..7dbdcd4 100644
--- a/src/ckpt/apitest/test_cpa.c
+++ b/src/ckpt/apitest/test_cpa.c
@@ -5419,6 +5419,50 @@ final1:
test_validate(result, TEST_PASS);
}
+void cpsv_it_iterfin_05()
+{
+ int result;
+ printHead("To verify sec iter Fianlize after Finalize");
+ result = test_ckptInitialize(CKPT_INIT_SUCCESS_T, TEST_CONFIG_MODE);
+ if (result != TEST_PASS)
+ goto final1;
+
+ result =
+ test_ckptOpen(CKPT_OPEN_ACTIVE_CREATE_SUCCESS_T, TEST_CONFIG_MODE);
+ if (result != TEST_PASS)
+ goto final2;
+
+ result = test_ckptOpen(CKPT_OPEN_ACTIVE_WRITE_READ_SUCCESS_T,
+ TEST_CONFIG_MODE);
+ if (result != TEST_PASS)
+ goto final3;
+
+ result = test_ckptSectionCreate(CKPT_SECTION_CREATE_SUCCESS4_T,
+ TEST_CONFIG_MODE);
+ if (result != TEST_PASS)
+ goto final3;
+
+ result =
+ test_ckptIterationInit(CKPT_ITER_INIT_GEQ_EXP_T, TEST_CONFIG_MODE);
+ if (result != TEST_PASS)
+ goto final3;
+
+ test_ckpt_cleanup(CPSV_CLEAN_ACTIVE_REPLICAS_CKPT);
+ test_cpsv_cleanup(CPSV_CLEAN_INIT_SUCCESS_T);
+
+ result =
+ test_ckptIterationFin(CKPT_ITER_FIN_HANDLE1_T, TEST_NONCONFIG_MODE);
+ goto final2;
+
+final3:
+ test_ckpt_cleanup(CPSV_CLEAN_ACTIVE_REPLICAS_CKPT);
+final2:
+ test_cpsv_cleanup(CPSV_CLEAN_INIT_SUCCESS_T);
+final1:
+ printResult(result);
+ test_validate(result, TEST_PASS);
+}
+
/******* saCkptCheckpointWrite *******/
void cpsv_it_write_01()
@@ -8476,6 +8520,10 @@ __attribute__((constructor)) static void
ckpt_cpa_test_constructor(void)
test_case_add(
16, cpsv_it_iterfin_04,
"To verify iter finalize when ckpt has been closed and unlinked");
+ test_case_add(
+ 16, cpsv_it_iterfin_05,
+ "To verify iter finalize when ckpt has been finalized");
+
test_suite_add(17, "CKPT API saCkptCheckpointWrite()");
test_case_add(17, cpsv_it_write_01,
diff --git a/src/ckpt/apitest/test_cpa_util.c b/src/ckpt/apitest/test_cpa_util.c
index 79fe848..3dadad5 100644
--- a/src/ckpt/apitest/test_cpa_util.c
+++ b/src/ckpt/apitest/test_cpa_util.c
@@ -2437,6 +2437,9 @@ struct SafCheckpointIterationFinalize API_IterationFin[]
= {
[CKPT_ITER_FIN_HANDLE2_T] = {&tcd.secIterationHandle2, SA_AIS_OK,
"Iteration Finalize on ckpt1 "},
+ [CKPT_ITER_FIN_HANDLE1_T] = {&tcd.secIterationHandle2,
+ SA_AIS_ERR_BAD_HANDLE,
+ "Iteration Finalize on ckpt1 "},
};
diff --git a/src/ckpt/apitest/test_cpsv.h b/src/ckpt/apitest/test_cpsv.h
index b2642ed..167383a 100644
--- a/src/ckpt/apitest/test_cpsv.h
+++ b/src/ckpt/apitest/test_cpsv.h
@@ -563,6 +563,7 @@ typedef enum {
CKPT_ITER_FIN_HANDLE2_T,
CKPT_ITER_FIN_FOREVER_T,
CKPT_ITER_FIN_NOT_EXIST_T,
+ CKPT_ITER_FIN_HANDLE1_T,
} CKPT_ITER_FIN_TC_TYPE;
typedef enum {
--
2.7.4
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel