---
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel