tests/immsv/common/immtest.c | 4 ++++
tests/immsv/implementer/test_SaImmOiRtAttrUpdateCallbackT.c | 2 +-
tests/immsv/implementer/test_cleanup.c | 2 +-
tests/immsv/management/test_cleanup.c | 2 +-
tests/immsv/management/test_saImmOmAdminOwnerFinalize.c | 1 +
tests/immsv/management/test_saImmOmInitialize.c | 1 +
tests/immsv/management/test_saImmOmSearchInitialize_2.c | 2 +-
tests/immsv/management/test_saImmOmThreadInterference.c | 10 +++++++---
8 files changed, 17 insertions(+), 7 deletions(-)
diff --git a/tests/immsv/common/immtest.c b/tests/immsv/common/immtest.c
--- a/tests/immsv/common/immtest.c
+++ b/tests/immsv/common/immtest.c
@@ -18,6 +18,7 @@
#include <stdlib.h>
#include <sys/time.h>
#include <unistd.h>
+#include <pthread.h>
#include "immtest.h"
const SaVersionT constImmVersion = {'A', 0x02, 0x0c};
@@ -68,6 +69,9 @@ int main(int argc, char **argv)
if(test_cleanup)
test_cleanup();
+ /* Added pthread_exit() to remove dlopen@@GLIBC leak from valgrind */
+ pthread_exit(NULL);
+
return rc;
}
diff --git a/tests/immsv/implementer/test_SaImmOiRtAttrUpdateCallbackT.c
b/tests/immsv/implementer/test_SaImmOiRtAttrUpdateCallbackT.c
--- a/tests/immsv/implementer/test_SaImmOiRtAttrUpdateCallbackT.c
+++ b/tests/immsv/implementer/test_SaImmOiRtAttrUpdateCallbackT.c
@@ -138,9 +138,9 @@ static void *test_saImmOmAccessorGet_2(v
safassert(saImmOmInitialize(&immOmHandle, &immOmCallbacks, &immVersion),
SA_AIS_OK);
safassert(saImmOmAccessorInitialize(immOmHandle, &accessorHandle),
SA_AIS_OK);
safassert(saImmOmAccessorGet_2(accessorHandle, dn, attributeNames,
&attributes), SA_AIS_OK);
- safassert(saImmOmFinalize(immOmHandle), SA_AIS_OK);
assert(attributes[0]->attrValueType == SA_IMM_ATTR_SAINT32T);
assert(*((SaInt32T*) attributes[0]->attrValues[0]) == int1Value);
+ safassert(saImmOmFinalize(immOmHandle), SA_AIS_OK);
TRACE_LEAVE();
return NULL;
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
@@ -64,7 +64,7 @@ static void cleanup() {
/* Delete objects */
int len;
- SaNameT objectName;
+ SaNameT objectName = {0};
SaNameT *objectNames[2] = { &objectName, NULL };
obj = objects;
while(*obj) {
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
@@ -70,7 +70,7 @@ static void cleanup() {
/* Delete objects */
int len;
- SaNameT objectName;
+ SaNameT objectName = {0};
SaNameT *objectNames[2] = { &objectName, NULL };
obj = objects;
while(*obj) {
diff --git a/tests/immsv/management/test_saImmOmAdminOwnerFinalize.c
b/tests/immsv/management/test_saImmOmAdminOwnerFinalize.c
--- a/tests/immsv/management/test_saImmOmAdminOwnerFinalize.c
+++ b/tests/immsv/management/test_saImmOmAdminOwnerFinalize.c
@@ -74,4 +74,5 @@ void saImmOmAdminOwnerFinalize_03(void)
/* Cleanup */
safassert(saImmOmAdminOwnerFinalize(rudeGuyHandle), SA_AIS_OK);
+ safassert(saImmOmFinalize(immOmHandle), SA_AIS_OK);
}
diff --git a/tests/immsv/management/test_saImmOmInitialize.c
b/tests/immsv/management/test_saImmOmInitialize.c
--- a/tests/immsv/management/test_saImmOmInitialize.c
+++ b/tests/immsv/management/test_saImmOmInitialize.c
@@ -243,6 +243,7 @@ void saImmOmInitialize_10(void)
test_validate(rc, SA_AIS_OK);
+ safassert(saImmOmFinalize(immOmHandle), SA_AIS_OK);
}
void saImmOmInitialize_11(void)
diff --git a/tests/immsv/management/test_saImmOmSearchInitialize_2.c
b/tests/immsv/management/test_saImmOmSearchInitialize_2.c
--- a/tests/immsv/management/test_saImmOmSearchInitialize_2.c
+++ b/tests/immsv/management/test_saImmOmSearchInitialize_2.c
@@ -54,7 +54,7 @@ void saImmOmSearchInitialize_2_03(void)
void saImmOmSearchInitialize_2_04(void)
{
- SaImmSearchHandleT searchHandle;
+ SaImmSearchHandleT searchHandle = 0;
safassert(saImmOmInitialize(&immOmHandle, &immOmCallbacks, &immVersion),
SA_AIS_OK);
rc = saImmOmSearchInitialize_2(immOmHandle, NULL, SA_IMM_ONE,
diff --git a/tests/immsv/management/test_saImmOmThreadInterference.c
b/tests/immsv/management/test_saImmOmThreadInterference.c
--- a/tests/immsv/management/test_saImmOmThreadInterference.c
+++ b/tests/immsv/management/test_saImmOmThreadInterference.c
@@ -88,7 +88,7 @@ void saImmOmThreadInterference_01(void)
SaImmAdminOwnerHandleT ownerHandle;
SaImmSearchHandleT searchHandle;
SaImmCcbHandleT ccbHandle;
- pthread_t threadid;
+ pthread_t threadid1, threadid2;
SaAisErrorT rc;
SaImmAttrDefinitionT_2 attrDef = { "rdn", SA_IMM_ATTR_SASTRINGT,
SA_IMM_ATTR_RDN | SA_IMM_ATTR_CONFIG, NULL };
const SaImmAttrDefinitionT_2 *attrDefs[2] = { &attrDef, NULL };
@@ -123,7 +123,7 @@ void saImmOmThreadInterference_01(void)
safassert(saImmOiInitialize_2(&immOiHandle, &immOiCallbacks,
&immVersion), SA_AIS_OK);
safassert(saImmOiImplementerSet(immOiHandle, implementerName),
SA_AIS_OK);
safassert(saImmOiObjectImplementerSet(immOiHandle, &objectName,
SA_IMM_ONE), SA_AIS_OK);
- assert(!pthread_create(&threadid, NULL, implementer_thread,
&immOiHandle));
+ assert(!pthread_create(&threadid1, NULL, implementer_thread,
&immOiHandle));
while(!isReady)
usleep(100);
@@ -132,7 +132,7 @@ void saImmOmThreadInterference_01(void)
isReady = 0;
isOmDone = 0;
isAdminOperDone = 0;
- assert(!pthread_create(&threadid, NULL, lockomhandle_thread,
&ownerHandle));
+ assert(!pthread_create(&threadid2, NULL, lockomhandle_thread,
&ownerHandle));
while(!isReady)
usleep(100);
@@ -166,6 +166,10 @@ done:
safassert(saImmOiImplementerClear(immOiHandle), SA_AIS_OK);
safassert(saImmOiFinalize(immOiHandle), SA_AIS_OK);
+ /* Use pthread_detach() to remove pthread_create@@GLIBC leak from
valgrind */
+ pthread_detach(threadid1);
+ pthread_detach(threadid2);
+
while(!isOiDone)
usleep(200);
------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. Consolidate legacy IT systems to a single system of record for IT
2. Standardize and globalize service processes across IT
3. Implement zero-touch automation to replace manual, redundant tasks
http://pubads.g.doubleclick.net/gampad/clk?id=51271111&iu=/4140/ostg.clktrk
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel