Ack. 

Thanks, Vu

> -----Original Message-----
> From: Mohan Kanakam <mo...@hasolutions.in>
> Sent: Friday, November 30, 2018 1:04 PM
> To: vu.m.ngu...@dektech.com.au; hans.nordeb...@ericsson.com
> Cc: opensaf-devel@lists.sourceforge.net; Mohan Kanakam
> <mo...@hasolutions.in>
> Subject: [PATCH 1/1] imm: add new test cases in imm apitest v2 [#2951]
> 
> ---
>  .../apitest/management/test_saImmOmClassCreate_2.c | 129
> +++++++++++++++++++++
>  .../apitest/management/test_saImmOmClassDelete.c   |  27 +++++
>  .../management/test_saImmOmClassDescriptionGet_2.c |  32 +++++
>  src/imm/apitest/management/test_saImmOmDispatch.c  | 122
> +++++++++++++++++++
>  src/imm/apitest/management/test_saImmOmFinalize.c  |  26 +++++
>  .../apitest/management/test_saImmOmInitialize.c    |  53 +++++++++
>  .../management/test_saImmOmSelectionObjectGet.c    |  26 +++++
>  7 files changed, 415 insertions(+)
> 
> diff --git a/src/imm/apitest/management/test_saImmOmClassCreate_2.c
> b/src/imm/apitest/management/test_saImmOmClassCreate_2.c
> index 4f25f8b..f43884e 100644
> --- a/src/imm/apitest/management/test_saImmOmClassCreate_2.c
> +++ b/src/imm/apitest/management/test_saImmOmClassCreate_2.c
> @@ -426,6 +426,110 @@ void saImmOmClassCreate_2_19(void)
>       safassert(immutil_saImmOmFinalize(immOmHandle), SA_AIS_OK);
>  }
> 
> +/* Object to test: saImmOmClassCreate_2() API:
> + * Test: Creating a config class with invalid handle
> + * step1:Call saImmOmInitialize() API and it returns SA_AIS_OK
> + * step2:Now call the saImmOmClassCreate_2() with -1
> + * Result: Shall fail with return code SA_AIS_ERR_BAD_HANDLE
> + */
> +void saImmOmClassCreate_2_with_invalid_handle_with_config_class(void)
> +{
> +     const SaImmClassNameT className = (SaImmClassNameT)
> __FUNCTION__;
> +     SaImmAttrDefinitionT_2 attr1 = {"rdn", SA_IMM_ATTR_SANAMET,
> +                                     SA_IMM_ATTR_CONFIG |
> SA_IMM_ATTR_RDN,
> +                                     NULL};
> +     const SaImmAttrDefinitionT_2 *attrDefinitions[] = {&attr1, NULL};
> +
> +     safassert(immutil_saImmOmInitialize(&immOmHandle,
> &immOmCallbacks, &immVersion),
> +               SA_AIS_OK);
> +     rc = immutil_saImmOmClassCreate_2(-1, className,
> SA_IMM_CLASS_CONFIG,
> +                               attrDefinitions);
> +     test_validate(rc, SA_AIS_ERR_BAD_HANDLE);
> +     safassert(immutil_saImmOmFinalize(immOmHandle), SA_AIS_OK);
> +}
> +
> +/* Object to test: saImmOmClassCreate_2() API:
> + * Test: Creating a config class with uninitialized handle
> + * Result: Shall fail with return code SA_AIS_ERR_BAD_HANDLE
> + */
> +void saImmOmClassCreate_2_uninitialized_handle_with_config_class(void)
> +{
> +     const SaImmClassNameT className = (SaImmClassNameT)
> __FUNCTION__;
> +     SaImmAttrDefinitionT_2 attr1 = {"rdn", SA_IMM_ATTR_SANAMET,
> +                                     SA_IMM_ATTR_CONFIG |
> SA_IMM_ATTR_RDN,
> +                                     NULL};
> +     const SaImmAttrDefinitionT_2 *attrDefinitions[] = {&attr1, NULL};
> +
> +     rc = immutil_saImmOmClassCreate_2(immOmHandle, className,
> SA_IMM_CLASS_CONFIG,
> +                               attrDefinitions);
> +     test_validate(rc, SA_AIS_ERR_BAD_HANDLE);
> +}
> +
> +/* Object to test: saImmOmClassCreate_2() API:
> + * Test: Creating a runtime class with uninitialized handle
> + * Result: Shall fail with return code SA_AIS_ERR_BAD_HANDLE
> + */
> +void
> saImmOmClassCreate_2_with_uninitialized_handle_with_runtime_class(void)
> +{
> +     const SaImmClassNameT className = (SaImmClassNameT)
> __FUNCTION__;
> +     SaImmAttrDefinitionT_2 attr1 = {
> +         "rdn", SA_IMM_ATTR_SANAMET,
> +         SA_IMM_ATTR_RUNTIME | SA_IMM_ATTR_RDN |
> SA_IMM_ATTR_CACHED, NULL};
> +     const SaImmAttrDefinitionT_2 *attrDefinitions[] = {&attr1, NULL};
> +
> +     rc = immutil_saImmOmClassCreate_2(immOmHandle, className,
> SA_IMM_CLASS_RUNTIME,
> +                               attrDefinitions);
> +     test_validate(rc, SA_AIS_ERR_BAD_HANDLE);
> +}
> +
> +
> +/* Object to test: saImmOmClassCreate_2() API:
> + * Test: Creating a config class with invalid handle
> + * step1:Call saImmOmInitialize() API and it returns SA_AIS_OK
> + * step2:Call saImmOmFinalize()
> + * step3:Now call the saImmOmClassCreate_2() with immOmHandle
> + * Result: Shall fail with return code SA_AIS_ERR_BAD_HANDLE
> + */
> +void saImmOmClassCreate_2_with_finalized_handle_config_class(void)
> +{
> +     const SaImmClassNameT className = (SaImmClassNameT)
> __FUNCTION__;
> +     SaImmAttrDefinitionT_2 attr1 = {"rdn", SA_IMM_ATTR_SANAMET,
> +                                     SA_IMM_ATTR_CONFIG |
> SA_IMM_ATTR_RDN,
> +                                     NULL};
> +     const SaImmAttrDefinitionT_2 *attrDefinitions[] = {&attr1, NULL};
> +
> +     safassert(immutil_saImmOmInitialize(&immOmHandle,
> &immOmCallbacks, &immVersion),
> +               SA_AIS_OK);
> +     immutil_saImmOmFinalize(immOmHandle);
> +     rc = immutil_saImmOmClassCreate_2(immOmHandle, className,
> SA_IMM_CLASS_CONFIG,
> +                               attrDefinitions);
> +     test_validate(rc, SA_AIS_ERR_BAD_HANDLE);
> +}
> +
> +
> +/* Object to test: saImmOmClassCreate_2() API:
> + * Test: Creating a runtime class with invalid handle
> + * step1:Call saImmOmInitialize() API and it returns SA_AIS_OK
> + * step2:Call saImmOmFinalize()
> + * step3:Now call the saImmOmClassCreate_2() with immOmHandle
> + * Result: Shall fail with return code SA_AIS_ERR_BAD_HANDLE
> + */
> +void saImmOmClassCreate_2_with_finalized_handle_runtime_class(void)
> +{
> +     const SaImmClassNameT className = (SaImmClassNameT)
> __FUNCTION__;
> +     SaImmAttrDefinitionT_2 attr1 = {
> +         "rdn", SA_IMM_ATTR_SANAMET,
> +         SA_IMM_ATTR_RUNTIME | SA_IMM_ATTR_RDN |
> SA_IMM_ATTR_CACHED, NULL};
> +     const SaImmAttrDefinitionT_2 *attrDefinitions[] = {&attr1, NULL};
> +
> +     safassert(immutil_saImmOmInitialize(&immOmHandle,
> &immOmCallbacks, &immVersion),
> +               SA_AIS_OK);
> +     immutil_saImmOmFinalize(immOmHandle);
> +     rc = immutil_saImmOmClassCreate_2(immOmHandle, className,
> SA_IMM_CLASS_RUNTIME,
> +                               attrDefinitions);
> +     test_validate(rc, SA_AIS_ERR_BAD_HANDLE);
> +}
> +
>  /*
>    Verify it is not allowed to create IMM object class with reserved name.
>    NOTE: As the list of reserved class names is read from the environment
> @@ -1435,6 +1539,7 @@ extern void
> saImmOmClassDescriptionGet_2_02(void);
>  extern void saImmOmClassDescriptionGet_2_03(void);
>  extern void saImmOmClassDescriptionGet_2_04(void);
>  extern void saImmOmClassDescriptionGet_2_05(void);
> +extern void
> saImmOmClassDescriptionGet_2_with_className_as_null(void);
>  extern void saImmOmClassDescriptionMemoryFree_2_01(void);
>  extern void saImmOmClassDescriptionMemoryFree_2_02(void);
> 
> @@ -1442,6 +1547,7 @@ extern void saImmOmClassDelete_2_01(void);
>  extern void saImmOmClassDelete_2_02(void);
>  extern void saImmOmClassDelete_2_03(void);
>  extern void saImmOmClassDelete_2_04(void);
> +extern void saImmOmClassDelete_2_with_deleted_class(void);
> 
>  __attribute__((constructor)) static void
saImmOmInitialize_constructor(void)
>  {
> @@ -1497,6 +1603,22 @@ __attribute__((constructor)) static void
> saImmOmInitialize_constructor(void)
>       test_case_add(
>           2, saImmOmClassCreate_2_19,
>           "saImmOmClassCreate_2 - SA_AIS_OK, Create a class that has
> STRONG_DEFAULT flag without having default value");
> +     test_case_add(2,
> saImmOmClassCreate_2_with_invalid_handle_with_config_class,
> +                   "saImmOmClassCreate_2 - SA_AIS_ERR_BAD_HANDLE,
> create config"
> +                   " class with invalid handle");
> +     test_case_add(2,
> saImmOmClassCreate_2_uninitialized_handle_with_config_class,
> +                   "saImmOmClassCreate_2 - SA_AIS_ERR_BAD_HANDLE,
> create config"
> +                   " class with uninitialized handle");
> +     test_case_add(2,
> saImmOmClassCreate_2_with_uninitialized_handle_with_runtime_class,
> +                   "saImmOmClassCreate_2 - SA_AIS_ERR_BAD_HANDLE,
> create runtime"
> +                   "  class with uninitialized handle ");
> +     test_case_add(2,
> saImmOmClassCreate_2_with_finalized_handle_config_class,
> +                   "saImmOmClassCreate_2 - SA_AIS_ERR_BAD_HANDLE,
> create config"
> +                   " class with finalized handle");
> +     test_case_add(2,
> saImmOmClassCreate_2_with_finalized_handle_runtime_class,
> +                   "saImmOmClassCreate_2 - SA_AIS_ERR_BAD_HANDLE,
> create runtime"
> +                   " class with finalized handle");
> +
>       test_case_add(
>               2, saImmOmClassCreate_with_reserved_name_01,
>               "saImmOmClassCreate_2 - SA_AIS_ERR_INVALID_PARAM,"
> @@ -1519,6 +1641,9 @@ __attribute__((constructor)) static void
> saImmOmInitialize_constructor(void)
>       test_case_add(
>           2, saImmOmClassDescriptionGet_2_05,
>           "saImmOmClassDescriptionGet_2 - SA_AIS_OK, Fetch includes
> SA_IMM_ATTR_NO_DANGLING");
> +     test_case_add(2,
> saImmOmClassDescriptionGet_2_with_className_as_null,
> +                   "saImmOmClassDescriptionGet_2 -
> SA_AIS_ERR_INVALID_PARAM"
> +                   "Get class descriptor of an invalid class name");
> 
>       test_case_add(2, saImmOmClassDescriptionMemoryFree_2_01,
>                     "saImmOmClassDescriptionMemoryFree_2 - SA_AIS_OK");
> @@ -1539,6 +1664,10 @@ __attribute__((constructor)) static void
> saImmOmInitialize_constructor(void)
>       test_case_add(
>           2, saImmOmClassDelete_2_04,
>           "saImmOmClassDelete_2  - SA_AIS_ERR_INVALID_PARAM, Empty
> classname");
> +     test_case_add(
> +         2, saImmOmClassDelete_2_with_deleted_class,
> +         "saImmOmClassDelete_2 - SA_AIS_ERR_NOT_EXIST "
> +         "Double delete class name");
> 
>       test_case_add(
>           2, saImmOmClassCreate_SchemaChange_2_01,
> diff --git a/src/imm/apitest/management/test_saImmOmClassDelete.c
> b/src/imm/apitest/management/test_saImmOmClassDelete.c
> index 273d192..ffcf481 100644
> --- a/src/imm/apitest/management/test_saImmOmClassDelete.c
> +++ b/src/imm/apitest/management/test_saImmOmClassDelete.c
> @@ -76,3 +76,30 @@ void saImmOmClassDelete_2_04(void)
>       test_validate(rc, SA_AIS_ERR_INVALID_PARAM);
>       safassert(immutil_saImmOmFinalize(immOmHandle), SA_AIS_OK);
>  }
> +
> +/* Object to test: saImmOmClassDelete() API:
> + * Test: deleting the class which is already deleted
> + * step1:Call saImmOmInitialize() API and it returns SA_AIS_OK
> + * step2:Call saImmOmClassCreate_2()
> + * step3:Now call the saImmOmClassDelete()
> + * step4:Now again call this saImmOmClassDelete()
> + * Result: Shall fail with return code SA_AIS_ERR_NOT_EXIST
> + */
> +void saImmOmClassDelete_2_with_deleted_class(void)
> +{
> +     const SaImmClassNameT className = (SaImmClassNameT)
> __FUNCTION__;
> +     SaImmAttrDefinitionT_2 attr1 = {"rdn", SA_IMM_ATTR_SANAMET,
> +                                     SA_IMM_ATTR_CONFIG |
> SA_IMM_ATTR_RDN,
> +                                     NULL};
> +     const SaImmAttrDefinitionT_2 *attrDefinitions[] = {&attr1, NULL};
> +
> +     safassert(immutil_saImmOmInitialize(&immOmHandle,
> &immOmCallbacks, &immVersion),
> +     SA_AIS_OK);
> +     safassert(immutil_saImmOmClassCreate_2(immOmHandle,
> className,
> +                                    SA_IMM_CLASS_CONFIG,
attrDefinitions),
> +               SA_AIS_OK);
> +     immutil_saImmOmClassDelete(immOmHandle, className);
> +     rc = immutil_saImmOmClassDelete(immOmHandle, className);
> +     test_validate(rc, SA_AIS_ERR_NOT_EXIST);
> +     safassert(immutil_saImmOmFinalize(immOmHandle), SA_AIS_OK);
> +}
> diff --git
> a/src/imm/apitest/management/test_saImmOmClassDescriptionGet_2.c
> b/src/imm/apitest/management/test_saImmOmClassDescriptionGet_2.c
> index ecf7ceb..1d4e8eb 100644
> --- a/src/imm/apitest/management/test_saImmOmClassDescriptionGet_2.c
> +++ b/src/imm/apitest/management/test_saImmOmClassDescriptionGet_2.c
> @@ -175,3 +175,35 @@ void saImmOmClassDescriptionGet_2_05(void)
>       safassert(immutil_saImmOmClassDelete(immOmHandle, className),
> SA_AIS_OK);
>       safassert(immutil_saImmOmFinalize(immOmHandle), SA_AIS_OK);
>  }
> +
> +/* Object to test: saImmOmClassDescriptionGet_2() API:
> + * Test: Getting the class description with invalid params
> + * step1:Call saImmOmInitialize() API and it returns SA_AIS_OK
> + * step2:Call saImmOmClassCreate_2()
> + * step3:Now call the saImmOmClassDescriptionGet_2() with class name as
> null
> + * Result: Shall fail with return code SA_AIS_ERR_INVALID_PARAM
> + */
> +void saImmOmClassDescriptionGet_2_with_className_as_null(void)
> +{
> +     const SaImmClassNameT className = (SaImmClassNameT)
> __FUNCTION__;
> +     SaImmAttrDefinitionT_2 attr1 = {
> +         "rdn", SA_IMM_ATTR_SANAMET,
> +         SA_IMM_ATTR_RUNTIME | SA_IMM_ATTR_RDN |
> SA_IMM_ATTR_CACHED, NULL};
> +     const SaImmAttrDefinitionT_2 *attrDefinitionsIn[] = {&attr1, NULL};
> +     SaImmClassCategoryT classCategory;
> +     SaImmAttrDefinitionT_2 **attrDefinitionsOut;
> +
> +     safassert(immutil_saImmOmInitialize(&immOmHandle,
> &immOmCallbacks, &immVersion),
> +               SA_AIS_OK);
> +     safassert(immutil_saImmOmClassCreate_2(immOmHandle,
> className,
> +                                    SA_IMM_CLASS_RUNTIME,
> attrDefinitionsIn),
> +               SA_AIS_OK);
> +     rc = immutil_saImmOmClassDescriptionGet_2(immOmHandle, NULL,
> +                                       &classCategory,
&attrDefinitionsOut);
> +     test_validate(rc, SA_AIS_ERR_INVALID_PARAM);
> +
>       safassert(immutil_saImmOmClassDescriptionMemoryFree_2(immOm
> Handle,
> +                                                   attrDefinitionsOut),
> +               SA_AIS_OK);
> +     safassert(immutil_saImmOmClassDelete(immOmHandle, className),
> SA_AIS_OK);
> +     safassert(immutil_saImmOmFinalize(immOmHandle), SA_AIS_OK);
> +}
> diff --git a/src/imm/apitest/management/test_saImmOmDispatch.c
> b/src/imm/apitest/management/test_saImmOmDispatch.c
> index 3648a95..c5c411c 100644
> --- a/src/imm/apitest/management/test_saImmOmDispatch.c
> +++ b/src/imm/apitest/management/test_saImmOmDispatch.c
> @@ -52,3 +52,125 @@ void saImmOmDispatch_04(void)
>       test_validate(rc, SA_AIS_ERR_INVALID_PARAM);
>       safassert(immutil_saImmOmFinalize(immOmHandle), SA_AIS_OK);
>  }
> +
> +/* Object to test: saImmOmDispatch() API:
> + * Test:Dispatching with uninitialized handle and SA_DISPATCH_ONE
> + * Result: Shall fail with return code SA_AIS_ERR_BAD_HANDLE
> + */
> +void
> saImmOmDispatch_with_uninitialized_handle_with_SA_DISPATCH_ONE(void)
> +{
> +     rc = saImmOmDispatch(immOmHandle, SA_DISPATCH_ONE);
> +     test_validate(rc, SA_AIS_ERR_BAD_HANDLE);
> +}
> +
> +/* Object to test: saImmOmDispatch() API:
> + * Test: Dispatching with finalized handle and SA_DISPATCH_ONE
> + * step1:Call saImmOmInitialize() API and it returns SA_AIS_OK
> + * step2:call saImmOmFinalize()
> + * step3:Now call the saImmOmDispatch() with immOmHandle
> + * Result: Shall fail with return code SA_AIS_ERR_BAD_HANDLE
> + */
> +void
> saImmOmDispatch_with_finalized_handle_with_SA_DISPATCH_ONE(void)
> +{
> +     safassert(immutil_saImmOmInitialize(&immOmHandle,
> &immOmCallbacks, &immVersion),
> +               SA_AIS_OK);
> +     immutil_saImmOmFinalize(immOmHandle);
> +     rc = saImmOmDispatch(immOmHandle, SA_DISPATCH_ONE);
> +     test_validate(rc, SA_AIS_ERR_BAD_HANDLE);
> +}
> +
> +/* Object to test: saImmOmDispatch() API:
> + * Test:Dispatching with initialized handle and SA_DISPATCH_BLOCKING
> + * Result: Shall pass with return code SA_AIS_OK
> + */
> +void saImmOmDispatch_with_SA_DISPATCH_BLOCKING(void)
> +{
> +     safassert(immutil_saImmOmInitialize(&immOmHandle,
> &immOmCallbacks, &immVersion),
> +               SA_AIS_OK);
> +     rc = saImmOmDispatch(immOmHandle, SA_DISPATCH_BLOCKING);
> +     test_validate(rc, SA_AIS_OK);
> +     safassert(immutil_saImmOmFinalize(immOmHandle), SA_AIS_OK);
> +}
> +
> +/* Object to test: saImmOmDispatch() API:
> + * Test: Dispatching with invalid handle and SA_DISPATCH_ALL
> + * step1:Call saImmOmInitialize() API and it returns SA_AIS_OK
> + * step2:Now call the saImmOmDispatch() with -1
> + * Result: Shall fail with return code SA_AIS_ERR_BAD_HANDLE
> + */
> +void saImmOmDispatch_with_invalid_handle_with_SA_DISPATCH_ALL(void)
> +{
> +     safassert(immutil_saImmOmInitialize(&immOmHandle,
> &immOmCallbacks, &immVersion),
> +               SA_AIS_OK);
> +     rc = saImmOmDispatch(-1, SA_DISPATCH_ALL);
> +     test_validate(rc, SA_AIS_ERR_BAD_HANDLE);
> +     safassert(immutil_saImmOmFinalize(immOmHandle), SA_AIS_OK);
> +}
> +
> +/* Object to test: saImmOmDispatch() API:
> + * Test:Dispatching with uninitialized handle and SA_DISPATCH_ALL
> + * Result: Shall fail with return code SA_AIS_ERR_BAD_HANDLE
> + */
> +void
> saImmOmDispatch_with_uninitialized_handle_with_SA_DISPATCH_ALL(void)
> +{
> +     rc = saImmOmDispatch(immOmHandle, SA_DISPATCH_ALL);
> +     test_validate(rc, SA_AIS_ERR_BAD_HANDLE);
> +}
> +
> +/* Object to test: saImmOmDispatch() API:
> + * Test: Dispatching with finalized handle and SA_DISPATCH_ALL
> + * step1:Call saImmOmInitialize() API and it returns SA_AIS_OK
> + * step2:call saImmOmFinalize()
> + * step3:Now call the saImmOmDispatch() with immOmHandle
> + * Result: Shall fail with return code SA_AIS_ERR_BAD_HANDLE
> + */
> +
> +void
> saImmOmDispatch_with_finalized_handle_with_SA_DISPATCH_ALL(void)
> +{
> +     safassert(immutil_saImmOmInitialize(&immOmHandle,
> &immOmCallbacks, &immVersion),
> +               SA_AIS_OK);
> +     immutil_saImmOmFinalize(immOmHandle);
> +     rc = saImmOmDispatch(immOmHandle, SA_DISPATCH_ALL);
> +     test_validate(rc, SA_AIS_ERR_BAD_HANDLE);
> +}
> +
> +/* Object to test: saImmOmDispatch() API:
> + * Test: Dispatching with invalid handle and SA_DISPATCH_BLOCKING
> + * step1:Call saImmOmInitialize() API and it returns SA_AIS_OK
> + * step2:Now call the saImmOmDispatch() with -1
> + * Result: Shall fail with return code SA_AIS_ERR_BAD_HANDLE
> + */
> +void
> saImmOmDispatch_with_invalid_handle_with_SA_DISPATCH_BLOCKING(void
> )
> +{
> +     safassert(immutil_saImmOmInitialize(&immOmHandle,
> &immOmCallbacks, &immVersion),
> +               SA_AIS_OK);
> +     rc = saImmOmDispatch(-1, SA_DISPATCH_BLOCKING);
> +     test_validate(rc, SA_AIS_ERR_BAD_HANDLE);
> +     safassert(immutil_saImmOmFinalize(immOmHandle), SA_AIS_OK);
> +}
> +
> +/* Object to test: saImmOmDispatch() API:
> + * Test:Dispatching with uninitialized handle and SA_DISPATCH_BLOCKING
> + * Result: Shall fail with return code SA_AIS_ERR_BAD_HANDLE
> + */
> +void
> saImmOmDispatch_with_uninitialized_handle_with_SA_DISPATCH_BLOCKIN
> G(void)
> +{
> +     rc = saImmOmDispatch(immOmHandle, SA_DISPATCH_BLOCKING);
> +     test_validate(rc, SA_AIS_ERR_BAD_HANDLE);
> +}
> +
> +/* Object to test: saImmOmDispatch() API:
> + * Test: Dispatching with finalized handle and SA_DISPATCH_BLOCKING
> + * step1:Call saImmOmInitialize() API and it returns SA_AIS_OK
> + * step2:call saImmOmFinalize()
> + * step3:Now call the saImmOmDispatch() with immOmHandle
> + * Result: Shall fail with return code SA_AIS_ERR_BAD_HANDLE
> + */
> +void
> saImmOmDispatch_with_finalized_handle_with_SA_DISPATCH_BLOCKING(vo
> id)
> +{
> +     safassert(immutil_saImmOmInitialize(&immOmHandle,
> &immOmCallbacks, &immVersion),
> +               SA_AIS_OK);
> +     immutil_saImmOmFinalize(immOmHandle);
> +     rc = saImmOmDispatch(immOmHandle, SA_DISPATCH_BLOCKING);
> +     test_validate(rc, SA_AIS_ERR_BAD_HANDLE);
> +}
> diff --git a/src/imm/apitest/management/test_saImmOmFinalize.c
> b/src/imm/apitest/management/test_saImmOmFinalize.c
> index 1c60657..421d64d 100644
> --- a/src/imm/apitest/management/test_saImmOmFinalize.c
> +++ b/src/imm/apitest/management/test_saImmOmFinalize.c
> @@ -33,3 +33,29 @@ void saImmOmFinalize_02(void)
>       test_validate(rc, SA_AIS_ERR_BAD_HANDLE);
>       safassert(immutil_saImmOmFinalize(immOmHandle), SA_AIS_OK);
>  }
> +
> +/* Object to test: saImmOmFinalize() API:
> + * Test: Finalizing with finalized handle
> + * step1:Call saImmOmInitialize() API and it returns SA_AIS_OK
> + * step2:call saImmOmFinalize()
> + * step3:call saImmOmFinalize() with immOmHandle handle
> + * Result: Shall fail with return code SA_AIS_ERR_BAD_HANDLE
> + */
> +void saImmOmFinalize_with_finalized_handle(void)
> +{
> +     safassert(immutil_saImmOmInitialize(&immOmHandle,
> &immOmCallbacks, &immVersion),
> +               SA_AIS_OK);
> +     rc = immutil_saImmOmFinalize(immOmHandle);
> +     rc = immutil_saImmOmFinalize(immOmHandle);
> +     test_validate(rc, SA_AIS_ERR_BAD_HANDLE);
> +}
> +
> +/* Object to test: saImmOmFinalize() API:
> + * Test: Finalizing with uninitialized handle
> + * Result: Shall fail with return code SA_AIS_ERR_BAD_HANDLE
> + */
> +void saImmOmFinalize_with_uninitialized_handle(void)
> +{
> +     rc = immutil_saImmOmFinalize(immOmHandle);
> +     test_validate(rc, SA_AIS_ERR_BAD_HANDLE);
> +}
> diff --git a/src/imm/apitest/management/test_saImmOmInitialize.c
> b/src/imm/apitest/management/test_saImmOmInitialize.c
> index 9dcfe7a..e97da1d 100644
> --- a/src/imm/apitest/management/test_saImmOmInitialize.c
> +++ b/src/imm/apitest/management/test_saImmOmInitialize.c
> @@ -303,12 +303,25 @@ void saImmOmInitialize_11(void)
> 
>  extern void saImmOmSelectionObjectGet_01(void);
>  extern void saImmOmSelectionObjectGet_02(void);
> +extern void saImmOmSelectionObjectGet_with_uninitialized_handle(void);
> +extern void saImmOmSelectionObjectGet_with_finalized_handle(void);
>  extern void saImmOmDispatch_01(void);
>  extern void saImmOmDispatch_02(void);
>  extern void saImmOmDispatch_03(void);
>  extern void saImmOmDispatch_04(void);
> +extern void
> saImmOmDispatch_with_uninitialized_handle_with_SA_DISPATCH_ONE(void)
> ;
> +extern void
> saImmOmDispatch_with_finalized_handle_with_SA_DISPATCH_ONE(void);
> +extern void saImmOmDispatch_with_SA_DISPATCH_BLOCKING(void);
> +extern void
> saImmOmDispatch_with_invalid_handle_with_SA_DISPATCH_ALL(void);
> +extern void
> saImmOmDispatch_with_uninitialized_handle_with_SA_DISPATCH_ALL(void);
> +extern void
> saImmOmDispatch_with_finalized_handle_with_SA_DISPATCH_ALL(void);
> +extern void
> saImmOmDispatch_with_invalid_handle_with_SA_DISPATCH_BLOCKING(void
> );
> +extern void
> saImmOmDispatch_with_uninitialized_handle_with_SA_DISPATCH_BLOCKIN
> G(void);
> +extern void
> saImmOmDispatch_with_finalized_handle_with_SA_DISPATCH_BLOCKING(vo
> id);
>  extern void saImmOmFinalize_01(void);
>  extern void saImmOmFinalize_02(void);
> +extern void saImmOmFinalize_with_finalized_handle(void);
> +extern void saImmOmFinalize_with_uninitialized_handle(void);
>  extern void saImmOmThreadInterference_01(void);
> 
>  __attribute__((constructor)) static void
saImmOmInitialize_constructor(void)
> @@ -350,6 +363,14 @@ __attribute__((constructor)) static void
> saImmOmInitialize_constructor(void)
>       test_case_add(
>           1, saImmOmSelectionObjectGet_02,
>           "saImmOmSelectionObjectGet - SA_AIS_ERR_BAD_HANDLE - invalid
> handle");
> +     test_case_add(
> +         1, saImmOmSelectionObjectGet_with_uninitialized_handle,
> +         "saImmOmSelectionObjectGet - SA_AIS_ERR_BAD_HANDLE "
> +         "- uninitialized handle");
> +     test_case_add(
> +         1, saImmOmSelectionObjectGet_with_finalized_handle,
> +         "saImmOmSelectionObjectGet - SA_AIS_ERR_BAD_HANDLE "
> +         "- finalized handle");
> 
>       test_case_add(1, saImmOmDispatch_01,
>                     "saImmOmDispatch - SA_AIS_OK SA_DISPATCH_ALL");
> @@ -361,11 +382,43 @@ __attribute__((constructor)) static void
> saImmOmInitialize_constructor(void)
>       test_case_add(
>           1, saImmOmDispatch_04,
>           "saImmOmDispatch - SA_AIS_ERR_INVALID_PARAM - invalid
> dispatchFlags");
> +     test_case_add(
> +         1,
> saImmOmDispatch_with_uninitialized_handle_with_SA_DISPATCH_ONE,
> +         "saImmOmDispatch - SA_AIS_ERR_BAD_HANDLE - uninitialized
> handle SA_DISPATCH_ONE");
> +     test_case_add(
> +         1,
> saImmOmDispatch_with_finalized_handle_with_SA_DISPATCH_ONE,
> +         "saImmOmDispatch - SA_AIS_ERR_BAD_HANDLE - finalized handle
> SA_DISPATCH_ONE");
> +     test_case_add(1, saImmOmDispatch_with_SA_DISPATCH_BLOCKING,
> +                   "saImmOmDispatch - SA_AIS_OK
> SA_DISPATCH_BLOCKING");
> +     test_case_add(
> +         1,
> saImmOmDispatch_with_invalid_handle_with_SA_DISPATCH_ALL,
> +         "saImmOmDispatch - SA_AIS_ERR_BAD_HANDLE - invalid handle
> SA_DISPATCH_ALL");
> +     test_case_add(
> +         1,
> saImmOmDispatch_with_uninitialized_handle_with_SA_DISPATCH_ALL,
> +         "saImmOmDispatch - SA_AIS_ERR_BAD_HANDLE - uninitialized
> handle SA_DISPATCH_ALL");
> +     test_case_add(
> +         1,
> saImmOmDispatch_with_finalized_handle_with_SA_DISPATCH_ALL,
> +         "saImmOmDispatch - SA_AIS_ERR_BAD_HANDLE - finalized handle
> SA_DISPATCH_ALL");
> +     test_case_add(
> +         1,
> saImmOmDispatch_with_invalid_handle_with_SA_DISPATCH_BLOCKING,
> +         "saImmOmDispatch - SA_AIS_ERR_BAD_HANDLE - invalid handle
> SA_DISPATCH_BLOCKING");
> +     test_case_add(
> +         1,
> saImmOmDispatch_with_uninitialized_handle_with_SA_DISPATCH_BLOCKIN
> G,
> +         "saImmOmDispatch - SA_AIS_ERR_BAD_HANDLE - uninitialized
> handle SA_DISPATCH_BLOCKING");
> +     test_case_add(
> +         1,
> saImmOmDispatch_with_finalized_handle_with_SA_DISPATCH_BLOCKING,
> +         "saImmOmDispatch - SA_AIS_ERR_BAD_HANDLE - finalized handle
> SA_DISPATCH_BLOCKING");
> 
>       test_case_add(1, saImmOmFinalize_01, "saImmOmFinalize -
> SA_AIS_OK");
>       test_case_add(
>           1, saImmOmFinalize_02,
>           "saImmOmFinalize - SA_AIS_ERR_BAD_HANDLE - invalid handle");
> +     test_case_add(
> +         1, saImmOmFinalize_with_finalized_handle,
> +         "saImmOmFinalize - SA_AIS_ERR_BAD_HANDLE - finalized handle");
> +     test_case_add(
> +         1, saImmOmFinalize_with_uninitialized_handle,
> +         "saImmOmFinalize - SA_AIS_ERR_BAD_HANDLE - uninitialized
> handle");
> 
>       test_case_add(
>           1, saImmOmThreadInterference_01,
> diff --git
> a/src/imm/apitest/management/test_saImmOmSelectionObjectGet.c
> b/src/imm/apitest/management/test_saImmOmSelectionObjectGet.c
> index 017fd70..3a56fd3 100644
> --- a/src/imm/apitest/management/test_saImmOmSelectionObjectGet.c
> +++ b/src/imm/apitest/management/test_saImmOmSelectionObjectGet.c
> @@ -35,3 +35,29 @@ void saImmOmSelectionObjectGet_02(void)
>       test_validate(rc, SA_AIS_ERR_BAD_HANDLE);
>       safassert(immutil_saImmOmFinalize(immOmHandle), SA_AIS_OK);
>  }
> +
> +/* Object to test: saImmOmSelectionObjectGet() API:
> + * Test: Getting the selectionObject with uninitialized handle
> + * Result: Shall fail with return code SA_AIS_ERR_BAD_HANDLE
> + */
> +void saImmOmSelectionObjectGet_with_uninitialized_handle(void)
> +{
> +     rc = immutil_saImmOmSelectionObjectGet(immOmHandle,
> &selectionObject);
> +     test_validate(rc, SA_AIS_ERR_BAD_HANDLE);
> +}
> +
> +/* Object to test: saImmOmSelectionObjectGet() API:
> + * Test: Getting the SelectionObject with finalized handle
> + * step1:Call saImmOmInitialize() API and it returns SA_AIS_OK
> + * step2:call saImmOmFinalize()
> + * step3:Now call the saImmOmSelectionObjectGet() with immOmHandle
> + * Result: Shall fail with return code SA_AIS_ERR_BAD_HANDLE
> + */
> +void saImmOmSelectionObjectGet_with_finalized_handle(void)
> +{
> +     safassert(immutil_saImmOmInitialize(&immOmHandle,
> &immOmCallbacks, &immVersion),
> +               SA_AIS_OK);
> +     immutil_saImmOmFinalize(immOmHandle);
> +     rc = immutil_saImmOmSelectionObjectGet(immOmHandle,
> &selectionObject);
> +     test_validate(rc, SA_AIS_ERR_BAD_HANDLE);
> +}
> --
> 2.7.4




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

Reply via email to