--- src/ckpt/apitest/test_cpa.c | 55 ++++++++++++++++++++++++++++++++++++++++ src/ckpt/apitest/test_cpa_util.c | 4 +++ src/ckpt/apitest/test_cpsv.h | 1 + 3 files changed, 60 insertions(+)
diff --git a/src/ckpt/apitest/test_cpa.c b/src/ckpt/apitest/test_cpa.c index c503b2d..de4961e 100644 --- a/src/ckpt/apitest/test_cpa.c +++ b/src/ckpt/apitest/test_cpa.c @@ -5255,6 +5255,59 @@ final1: test_validate(result, TEST_PASS); } +void cpsv_it_iternext_10() +{ + int result; + printHead("To verify section iteration next after close"); + result = test_ckptInitialize(CKPT_INIT_SUCCESS_T, TEST_CONFIG_MODE); + if (result != TEST_PASS) + goto final2; + + result = + test_ckptOpen(CKPT_OPEN_ALL_CREATE_SUCCESS_T, TEST_CONFIG_MODE); + if (result != TEST_PASS) + goto final1; + + result = test_ckptOpen(CKPT_OPEN_ALL_WRITE_SUCCESS_T, TEST_CONFIG_MODE); + if (result != TEST_PASS) + goto final3; + + result = test_ckptSectionCreate(CKPT_SECTION_CREATE_SUCCESS_T, + TEST_CONFIG_MODE); + if (result != TEST_PASS) + goto final3; + + result = test_ckptSectionCreate(CKPT_SECTION_CREATE_SUCCESS3_T, + TEST_CONFIG_MODE); + if (result != TEST_PASS) + goto final3; + + result = test_ckptIterationInit(CKPT_ITER_INIT_ANY_T, TEST_CONFIG_MODE); + if (result != TEST_PASS) + goto final3; + + result = test_ckptClose(CKPT_CLOSE_SUCCESS3_T, TEST_CONFIG_MODE); + if (result != TEST_PASS) + goto final4; + + result = test_ckptUnlink(CKPT_UNLINK_SUCCESS2_T, TEST_CONFIG_MODE); + if (result != TEST_PASS) + goto final2; + + result = test_ckptIterationNext(CKPT_ITER_NEXT_BAD_HANDLE1_T, + TEST_NONCONFIG_MODE); + +final4: + test_ckpt_cleanup(CPSV_CLEAN_COLLOCATED_REPLICAS_CKPT); +final3: + test_ckpt_cleanup(CPSV_CLEAN_ALL_REPLICAS_CKPT); +final2: + test_cpsv_cleanup(CPSV_CLEAN_INIT_SUCCESS_T); +final1: + printResult(result); + test_validate(result, TEST_PASS); +} + /****** saCkptSectionIterationFinalize *******/ void cpsv_it_iterfin_01() @@ -8412,6 +8465,8 @@ __attribute__((constructor)) static void ckpt_cpa_test_constructor(void) "To verify iter next with NULL sec descriptor"); test_case_add(15, cpsv_it_iternext_09, "To verify iter next after Finalize"); + test_case_add(15, cpsv_it_iternext_10, + "To verify iter next after close"); test_suite_add(16, "CKPT API saCkptSectionIterationFinalize()"); test_case_add(16, cpsv_it_iterfin_01, diff --git a/src/ckpt/apitest/test_cpa_util.c b/src/ckpt/apitest/test_cpa_util.c index a073096..79fe848 100644 --- a/src/ckpt/apitest/test_cpa_util.c +++ b/src/ckpt/apitest/test_cpa_util.c @@ -2333,6 +2333,10 @@ struct SafCheckpointIterationNext API_IterationNext[] = { SA_AIS_ERR_BAD_HANDLE, "Iteration Next finalized handle"}, + [CKPT_ITER_NEXT_BAD_HANDLE1_T] = {&tcd.secIterationHandle, &tcd.secDesc, + SA_AIS_ERR_BAD_HANDLE, + "Iteration Next bad handle"}, + }; int test_ckptIterationNext(int i, CONFIG_FLAG cfg_flg) diff --git a/src/ckpt/apitest/test_cpsv.h b/src/ckpt/apitest/test_cpsv.h index 8405308..b2642ed 100644 --- a/src/ckpt/apitest/test_cpsv.h +++ b/src/ckpt/apitest/test_cpsv.h @@ -554,6 +554,7 @@ typedef enum { CKPT_ITER_NEXT_NO_SECTIONS_T, CKPT_ITER_NEXT_NOT_EXIST_T, CKPT_ITER_NEXT_FIN_HANDLE_T, + CKPT_ITER_NEXT_BAD_HANDLE1_T, } CKPT_ITER_NEXT_TC_TYPE; typedef enum { -- 2.7.4 _______________________________________________ Opensaf-devel mailing list Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel