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