--- 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 Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel