---
src/ckpt/apitest/test_cpa.c | 56 ++++++++++++++++++++++++++++++++++++++++
src/ckpt/apitest/test_cpa_util.c | 4 +++
src/ckpt/apitest/test_cpsv.h | 1 +
3 files changed, 61 insertions(+)
diff --git a/src/ckpt/apitest/test_cpa.c b/src/ckpt/apitest/test_cpa.c
index 7dbdcd4..eca13d6 100644
--- a/src/ckpt/apitest/test_cpa.c
+++ b/src/ckpt/apitest/test_cpa.c
@@ -6019,6 +6019,59 @@ final1:
test_validate(result, TEST_PASS);
}
+void cpsv_it_write_17()
+{
+ int result;
+ printHead(
+ "To verify write when ckpt has been closed and unlinked");
+ 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;
+
+ result = test_ckptUnlink(CKPT_UNLINK_SUCCESS3_T, TEST_CONFIG_MODE);
+ if (result != TEST_PASS)
+ goto final2;
+
+ result = test_ckptClose(CKPT_CLOSE_SUCCESS9_T, TEST_CONFIG_MODE);
+ if (result != TEST_PASS)
+ goto final2;
+
+ result = test_ckptClose(CKPT_CLOSE_SUCCESS11_T, TEST_CONFIG_MODE);
+ if (result != TEST_PASS)
+ goto final2;
+ result = test_ckptWrite(CKPT_WRITE_BAD_HANDLE1_T, TEST_NONCONFIG_MODE);
+ if (result != TEST_PASS)
+ goto final3;
+
+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);
+}
+
/******* saCkptCheckpointRead *********/
void cpsv_it_read_01() /* to test that the api read from the checkpoint */
@@ -8560,6 +8613,9 @@ __attribute__((constructor)) static void
ckpt_cpa_test_constructor(void)
test_case_add(
17, cpsv_it_write_16,
"To verify write when there is more than one section to be written
and read from ckpt");
+ test_case_add(
+ 17, cpsv_it_write_17,
+ "To verify iter finalize when ckpt has been closed and unlinked");
test_suite_add(18, "CKPT API saCkptCheckpointRead()");
test_case_add(18, cpsv_it_read_02,
diff --git a/src/ckpt/apitest/test_cpa_util.c b/src/ckpt/apitest/test_cpa_util.c
index 3dadad5..d7f3c87 100644
--- a/src/ckpt/apitest/test_cpa_util.c
+++ b/src/ckpt/apitest/test_cpa_util.c
@@ -1455,6 +1455,10 @@ struct SafCheckpointWrite API_Write[] = {
SA_AIS_ERR_NOT_EXIST,
"Write default in ckpt3"},
+ [CKPT_WRITE_BAD_HANDLE1_T] = {&tcd.active_replica_Writehdl,
+ &tcd.general_write, &tcd.nOfE, &tcd.ind,
+ SA_AIS_ERR_BAD_HANDLE, "Write in ckpt2"},
+
};
int test_ckptWrite(int i, CONFIG_FLAG cfg_flg)
diff --git a/src/ckpt/apitest/test_cpsv.h b/src/ckpt/apitest/test_cpsv.h
index 167383a..07db47c 100644
--- a/src/ckpt/apitest/test_cpsv.h
+++ b/src/ckpt/apitest/test_cpsv.h
@@ -438,6 +438,7 @@ typedef enum {
CKPT_WRITE_NULL_INDEX_T,
CKPT_WRITE_ERR_NO_RESOURCES_T,
CKPT_WRITE_NOT_EXIST3_T,
+ CKPT_WRITE_BAD_HANDLE1_T,
} CKPT_WRITE_TC_TYPE;
typedef enum {
--
2.7.4
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel