tests/immsv/implementer/Makefile.am | 2 +
tests/immsv/implementer/test_cleanup.c | 37 +++++++++++++++++++++------------
tests/immsv/management/Makefile.am | 2 +
tests/immsv/management/test_cleanup.c | 37 +++++++++++++++++++++------------
4 files changed, 50 insertions(+), 28 deletions(-)
Add handling of SA_AIS_ERR_TRY_AGAIN in cleanup and startup functions and avoid
exiting in these two functions on SA_AIS_ERR_TRY_AGAIN.
diff --git a/tests/immsv/implementer/Makefile.am
b/tests/immsv/implementer/Makefile.am
--- a/tests/immsv/implementer/Makefile.am
+++ b/tests/immsv/implementer/Makefile.am
@@ -23,6 +23,7 @@ bin_PROGRAMS = immoitest immapplier
immoitest_CPPFLAGS = \
$(AM_CPPFLAGS) \
+ -I$(top_srcdir)/osaf/libs/common/immsv/include \
-I$(top_srcdir)/tests/immsv/common \
-I$(top_srcdir)/tests/unit_test_fw/inc
@@ -53,6 +54,7 @@ immoitest_LDADD = \
$(top_builddir)/osaf/libs/saf/libSaImm/libSaImmOm.la \
$(top_builddir)/osaf/libs/core/libopensaf_core.la \
$(top_builddir)/tests/unit_test_fw/src/libutest.la \
+ $(top_builddir)/osaf/tools/safimm/src/libimmutil.la \
$(top_builddir)/tests/immsv/common/libimmtest.la
diff --git a/tests/immsv/implementer/test_cleanup.c
b/tests/immsv/implementer/test_cleanup.c
--- a/tests/immsv/implementer/test_cleanup.c
+++ b/tests/immsv/implementer/test_cleanup.c
@@ -17,6 +17,7 @@
#include "immtest.h"
#include "osaf_extended_name.h"
+#include "immutil.h"
static char *objects[] = {
@@ -46,6 +47,7 @@ static char *classes[] = {
NULL
};
+extern struct ImmutilWrapperProfile immutilWrapperProfile;
extern void addOiLongDnTestCases();
static void cleanup() {
@@ -60,13 +62,13 @@ static void cleanup() {
TRACE_ENTER();
/* Initialize handles */
- rc = saImmOmInitialize(&immHandle, NULL, &version);
+ rc = immutil_saImmOmInitialize(&immHandle, NULL, &version);
assert(rc == SA_AIS_OK);
- rc = saImmOmAdminOwnerInitialize(immHandle, "immoitest", SA_TRUE,
&ownerHandle);
+ rc = immutil_saImmOmAdminOwnerInitialize(immHandle, "immoitest",
SA_TRUE, &ownerHandle);
assert(rc == SA_AIS_OK);
- rc = saImmOmCcbInitialize(ownerHandle, 0, &ccbHandle);
+ rc = immutil_saImmOmCcbInitialize(ownerHandle, 0, &ccbHandle);
assert(rc == SA_AIS_OK);
/* Delete objects */
@@ -77,14 +79,14 @@ static void cleanup() {
if(osaf_is_extended_names_enabled() || strlen(*obj) <
SA_MAX_NAME_LENGTH) {
osaf_extended_name_lend(*obj, &objectName);
- rc = saImmOmAdminOwnerSet(ownerHandle, (const SaNameT
**)objectNames, SA_IMM_ONE);
+ rc = immutil_saImmOmAdminOwnerSet(ownerHandle, (const
SaNameT **)objectNames, SA_IMM_ONE);
if(rc == SA_AIS_ERR_NOT_EXIST) {
obj++;
continue;
}
assert(rc == SA_AIS_OK);
- rc = saImmOmCcbObjectDelete(ccbHandle, &objectName);
+ rc = immutil_saImmOmCcbObjectDelete(ccbHandle,
&objectName);
if(rc != SA_AIS_OK && rc != SA_AIS_ERR_NOT_EXIST)
fprintf(stderr, "Failed to delete object '%s'
with error code: %d\n", *obj, rc);
assert(rc == SA_AIS_OK || rc == SA_AIS_ERR_NOT_EXIST);
@@ -94,18 +96,18 @@ static void cleanup() {
}
if(*objects) {
- rc = saImmOmCcbApply(ccbHandle);
+ rc = immutil_saImmOmCcbApply(ccbHandle);
assert(rc == SA_AIS_OK);
}
/* Close Ccb handle */
- rc = saImmOmCcbFinalize(ccbHandle);
+ rc = immutil_saImmOmCcbFinalize(ccbHandle);
assert(rc == SA_AIS_OK);
/* Delete classes */
cls = classes;
while(*cls) {
- rc = saImmOmClassDelete(immHandle, *cls);
+ rc = immutil_saImmOmClassDelete(immHandle, *cls);
if(rc == SA_AIS_ERR_BUSY)
fprintf(stderr, "Class '%s' contains object
instances\n", *cls);
assert(rc == SA_AIS_OK || rc == SA_AIS_ERR_NOT_EXIST);
@@ -114,16 +116,18 @@ static void cleanup() {
}
/* Close handles */
- rc = saImmOmAdminOwnerFinalize(ownerHandle);
+ rc = immutil_saImmOmAdminOwnerFinalize(ownerHandle);
assert(rc == SA_AIS_OK);
- rc = saImmOmFinalize(immHandle);
+ rc = immutil_saImmOmFinalize(immHandle);
assert(rc == SA_AIS_OK);
TRACE_LEAVE();
}
static void startup() {
+ TRACE_ENTER();
+
/* First, remove all objects */
cleanup();
@@ -131,13 +135,13 @@ static void startup() {
const SaImmAdminOwnerNameT adminOwnerName = (SaImmAdminOwnerNameT)
__FUNCTION__;
SaImmAdminOwnerHandleT ownerHandle;
- safassert(saImmOmInitialize(&immOmHandle, NULL, &immVersion),
SA_AIS_OK);
- safassert(saImmOmAdminOwnerInitialize(immOmHandle, adminOwnerName,
SA_TRUE, &ownerHandle), SA_AIS_OK);
+ safassert(immutil_saImmOmInitialize(&immOmHandle, NULL, &immVersion),
SA_AIS_OK);
+ safassert(immutil_saImmOmAdminOwnerInitialize(immOmHandle,
adminOwnerName, SA_TRUE, &ownerHandle), SA_AIS_OK);
safassert(config_class_create(immOmHandle), SA_AIS_OK);
safassert(runtime_class_create(immOmHandle), SA_AIS_OK);
safassert(object_create(immOmHandle, ownerHandle, configClassName,
&rootObj, NULL, NULL), SA_AIS_OK);
- safassert(saImmOmAdminOwnerFinalize(ownerHandle), SA_AIS_OK);
- safassert(saImmOmFinalize(immOmHandle), SA_AIS_OK);
+ safassert(immutil_saImmOmAdminOwnerFinalize(ownerHandle), SA_AIS_OK);
+ safassert(immutil_saImmOmFinalize(immOmHandle), SA_AIS_OK);
/* Add long DN test cases */
char *env;
@@ -146,10 +150,15 @@ static void startup() {
addOiLongDnTestCases();
}
}
+
+ TRACE_LEAVE();
}
__attribute__ ((constructor)) static void cleanup_constructor(void)
{
+ /* Disable exit on error*/
+ immutilWrapperProfile.errorsAreFatal = 0;
+
/* If an earlier test is aborted, then remained test objects and
test classes in IMM need to be cleaned up */
test_setup = startup;
diff --git a/tests/immsv/management/Makefile.am
b/tests/immsv/management/Makefile.am
--- a/tests/immsv/management/Makefile.am
+++ b/tests/immsv/management/Makefile.am
@@ -22,6 +22,7 @@ bin_PROGRAMS = immomtest immpopulate
immomtest_CPPFLAGS = \
$(AM_CPPFLAGS) \
+ -I$(top_srcdir)/osaf/libs/common/immsv/include \
-I$(top_srcdir)/tests/immsv/common \
-I$(top_srcdir)/tests/unit_test_fw/inc
@@ -62,6 +63,7 @@ immomtest_LDADD = \
$(top_builddir)/osaf/libs/saf/libSaImm/libSaImmOi.la \
$(top_builddir)/osaf/libs/core/libopensaf_core.la \
$(top_builddir)/tests/unit_test_fw/src/libutest.la \
+ $(top_builddir)/osaf/tools/safimm/src/libimmutil.la \
$(top_builddir)/tests/immsv/common/libimmtest.la
diff --git a/tests/immsv/management/test_cleanup.c
b/tests/immsv/management/test_cleanup.c
--- a/tests/immsv/management/test_cleanup.c
+++ b/tests/immsv/management/test_cleanup.c
@@ -17,6 +17,7 @@
#include "immtest.h"
#include "osaf_extended_name.h"
+#include "immutil.h"
static char *objects[] = {
@@ -55,6 +56,7 @@ static char *classes[] = {
NULL
};
+extern struct ImmutilWrapperProfile immutilWrapperProfile;
extern void addOmLongDnTestCases();
static void cleanup() {
@@ -69,13 +71,13 @@ static void cleanup() {
TRACE_ENTER();
/* Initialize handles */
- rc = saImmOmInitialize(&immHandle, NULL, &version);
+ rc = immutil_saImmOmInitialize(&immHandle, NULL, &version);
assert(rc == SA_AIS_OK);
- rc = saImmOmAdminOwnerInitialize(immHandle, "immoitest", SA_TRUE,
&ownerHandle);
+ rc = immutil_saImmOmAdminOwnerInitialize(immHandle, "immoitest",
SA_TRUE, &ownerHandle);
assert(rc == SA_AIS_OK);
- rc = saImmOmCcbInitialize(ownerHandle, 0, &ccbHandle);
+ rc = immutil_saImmOmCcbInitialize(ownerHandle, 0, &ccbHandle);
assert(rc == SA_AIS_OK);
/* Delete objects */
@@ -86,14 +88,14 @@ static void cleanup() {
if(osaf_is_extended_names_enabled() || strlen(*obj) <
SA_MAX_NAME_LENGTH) {
osaf_extended_name_lend(*obj, &objectName);
- rc = saImmOmAdminOwnerSet(ownerHandle, (const SaNameT
**)objectNames, SA_IMM_SUBTREE);
+ rc = immutil_saImmOmAdminOwnerSet(ownerHandle, (const
SaNameT **)objectNames, SA_IMM_SUBTREE);
if(rc == SA_AIS_ERR_NOT_EXIST) {
obj++;
continue;
}
assert(rc == SA_AIS_OK);
- rc = saImmOmCcbObjectDelete(ccbHandle, &objectName);
+ rc = immutil_saImmOmCcbObjectDelete(ccbHandle,
&objectName);
if(rc != SA_AIS_OK && rc != SA_AIS_ERR_NOT_EXIST)
fprintf(stderr, "Failed to delete object '%s'
with error code: %d\n", *obj, rc);
assert(rc == SA_AIS_OK || rc == SA_AIS_ERR_NOT_EXIST);
@@ -103,18 +105,18 @@ static void cleanup() {
}
if(*objects) {
- rc = saImmOmCcbApply(ccbHandle);
+ rc = immutil_saImmOmCcbApply(ccbHandle);
assert(rc == SA_AIS_OK);
}
/* Close Ccb handle */
- rc = saImmOmCcbFinalize(ccbHandle);
+ rc = immutil_saImmOmCcbFinalize(ccbHandle);
assert(rc == SA_AIS_OK);
/* Delete classes */
cls = classes;
while(*cls) {
- rc = saImmOmClassDelete(immHandle, *cls);
+ rc = immutil_saImmOmClassDelete(immHandle, *cls);
if(rc == SA_AIS_ERR_BUSY)
fprintf(stderr, "Class '%s' contains object
instances\n", *cls);
assert(rc == SA_AIS_OK || rc == SA_AIS_ERR_NOT_EXIST);
@@ -123,16 +125,18 @@ static void cleanup() {
}
/* Close handles */
- rc = saImmOmAdminOwnerFinalize(ownerHandle);
+ rc = immutil_saImmOmAdminOwnerFinalize(ownerHandle);
assert(rc == SA_AIS_OK);
- rc = saImmOmFinalize(immHandle);
+ rc = immutil_saImmOmFinalize(immHandle);
assert(rc == SA_AIS_OK);
TRACE_LEAVE();
}
static void startup() {
+ TRACE_ENTER();
+
/* First, remove all objects */
cleanup();
@@ -140,13 +144,13 @@ static void startup() {
const SaImmAdminOwnerNameT adminOwnerName = (SaImmAdminOwnerNameT)
__FUNCTION__;
SaImmAdminOwnerHandleT ownerHandle;
- safassert(saImmOmInitialize(&immOmHandle, NULL, &immVersion),
SA_AIS_OK);
- safassert(saImmOmAdminOwnerInitialize(immOmHandle, adminOwnerName,
SA_TRUE, &ownerHandle), SA_AIS_OK);
+ safassert(immutil_saImmOmInitialize(&immOmHandle, NULL, &immVersion),
SA_AIS_OK);
+ safassert(immutil_saImmOmAdminOwnerInitialize(immOmHandle,
adminOwnerName, SA_TRUE, &ownerHandle), SA_AIS_OK);
safassert(config_class_create(immOmHandle), SA_AIS_OK);
safassert(runtime_class_create(immOmHandle), SA_AIS_OK);
safassert(object_create(immOmHandle, ownerHandle, configClassName,
&rootObj, NULL, NULL), SA_AIS_OK);
- safassert(saImmOmAdminOwnerFinalize(ownerHandle), SA_AIS_OK);
- safassert(saImmOmFinalize(immOmHandle), SA_AIS_OK);
+ safassert(immutil_saImmOmAdminOwnerFinalize(ownerHandle), SA_AIS_OK);
+ safassert(immutil_saImmOmFinalize(immOmHandle), SA_AIS_OK);
/* Add long DN test cases */
char *env;
@@ -155,10 +159,15 @@ static void startup() {
addOmLongDnTestCases();
}
}
+
+ TRACE_LEAVE();
}
__attribute__ ((constructor)) static void cleanup_constructor(void)
{
+ /* Disable exit on error*/
+ immutilWrapperProfile.errorsAreFatal = 0;
+
/* If an earlier test is aborted, then remained test objects and
test classes in IMM need to be cleaned up */
test_setup = startup;
------------------------------------------------------------------------------
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel