---
 src/ckpt/apitest/test_cpa.c      | 46 ++++++++++++++++++++++++++++++++++++++++
 src/ckpt/apitest/test_cpa_util.c |  5 +++++
 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 51f3c99..c503b2d 100644
--- a/src/ckpt/apitest/test_cpa.c
+++ b/src/ckpt/apitest/test_cpa.c
@@ -5039,6 +5039,50 @@ final1:
        test_validate(result, TEST_PASS);
 }
 
+void cpsv_it_iterinit_13()
+{
+       int result;
+       printHead("To verify section iteration init  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_SUCCESS3_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_ckptIterationInit(CKPT_ITER_INIT_BAD_HANDLE1_T,
+                                       TEST_CONFIG_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);
+}
+
 /********* saCkptSectionIterationNext *********/
 
 void cpsv_it_iternext_01() /* to test that iter next goes through sections
@@ -8355,6 +8399,8 @@ __attribute__((constructor)) static void 
ckpt_cpa_test_constructor(void)
                      "To verify iter init with NULL section iter handle");
        test_case_add(14, cpsv_it_iterinit_12,
                      "To verify iter init with invalid sectionsChosen value");
+       test_case_add(14, cpsv_it_iterinit_13,
+                     "To verify section iteration init  after close");
 
        test_suite_add(15, "CKPT API saCkptSectionIterationNext()");
        test_case_add(15, cpsv_it_iternext_02,
diff --git a/src/ckpt/apitest/test_cpa_util.c b/src/ckpt/apitest/test_cpa_util.c
index bc52ff9..a073096 100644
--- a/src/ckpt/apitest/test_cpa_util.c
+++ b/src/ckpt/apitest/test_cpa_util.c
@@ -2248,6 +2248,11 @@ struct SafCheckpointIterationInitialize 
API_IterationInit[] = {
                                       SA_AIS_OK,
                                       "Iteration Init active collocated ckpt"},
 
+       [CKPT_ITER_INIT_BAD_HANDLE1_T] = {&tcd.all_replicas_Createhdl, 
&tcd.sec_any,
+                                         APP_TIMEOUT, &tcd.secjunkHandle,
+                                         SA_AIS_ERR_BAD_HANDLE,
+                                         "Iteration Init bad handle"},
+
 };
 
 int test_ckptIterationInit(int i, CONFIG_FLAG cfg_flg)
diff --git a/src/ckpt/apitest/test_cpsv.h b/src/ckpt/apitest/test_cpsv.h
index 7acb622..8405308 100644
--- a/src/ckpt/apitest/test_cpsv.h
+++ b/src/ckpt/apitest/test_cpsv.h
@@ -544,6 +544,7 @@ typedef enum {
   CKPT_ITER_INIT_NULL_HANDLE_T,
   CKPT_ITER_INIT_SUCCESS_T,
   CKPT_ITER_INIT_SUCCESS2_T,
+  CKPT_ITER_INIT_BAD_HANDLE1_T,
 } CKPT_ITER_INIT_TC_TYPE;
 
 typedef enum {
-- 
2.7.4



_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to