Fixed multiple memory leaks & make test suite check for leaks with valgrind

This commit is contained in:
Daniel P. Berrange committed 2006-10-06 15:32:48 +00:00
1 parent 18351e0ffc
commit 8c5ce29411
6 files changed
+87 -42

No files matched your search

+1 -1
View File
@@ -25,7 +25,7 @@ noinst_PROGRAMS = xmlrpctest xml2sexprtest sexpr2xmltest virshtest conftest \
TESTS = xml2sexprtest sexpr2xmltest virshtest test_conf.sh reconnect
valgrind:
$(MAKE) check TESTS_ENVIRONMENT="valgrind --quiet"
$(MAKE) check TESTS_ENVIRONMENT="valgrind --quiet --leak-check=full"
# Note: xmlrpc.[c|h] is not in libvirt yet
xmlrpctest_SOURCES = \
+11 -5
View File
@@ -17,24 +17,30 @@ static int testCompareFiles(const char *xml, const char *sexpr, int xendConfigVe
char *gotxml = NULL;
char *xmlPtr = &(xmlData[0]);
char *sexprPtr = &(sexprData[0]);
int ret = -1;
if (virtTestLoadFile(xml, &xmlPtr, MAX_FILE) < 0)
return -1;
goto fail;
if (virtTestLoadFile(sexpr, &sexprPtr, MAX_FILE) < 0)
return -1;
goto fail;
if (!(gotxml = xend_parse_domain_sexp(NULL, sexprData, xendConfigVersion)))
return -1;
goto fail;
if (getenv("DEBUG_TESTS")) {
printf("Expect %d '%s'\n", (int)strlen(xmlData), xmlData);
printf("Actual %d '%s'\n", (int)strlen(gotxml), gotxml);
}
if (strcmp(xmlData, gotxml))
return -1;
goto fail;
return 0;
ret = 0;
fail:
free(gotxml);
return ret;
}
static int testComparePVversion1(void *data ATTRIBUTE_UNUSED) {
+15 -7
View File
@@ -17,27 +17,35 @@ static int testCompareFiles(const char *xml, const char *sexpr, const char *name
char *gotsexpr = NULL;
char *xmlPtr = &(xmlData[0]);
char *sexprPtr = &(sexprData[0]);
int ret = -1;
if (virtTestLoadFile(xml, &xmlPtr, MAX_FILE) < 0)
return -1;
goto fail;
if (virtTestLoadFile(sexpr, &sexprPtr, MAX_FILE) < 0)
return -1;
goto fail;
if (!(gotsexpr = virDomainParseXMLDesc(xmlData, &gotname, xendConfigVersion)))
return -1;
if (!(gotsexpr = virDomainParseXMLDesc(xmlData, &gotname, xendConfigVersion)))
goto fail;
if (getenv("DEBUG_TESTS")) {
printf("Expect %d '%s'\n", (int)strlen(sexprData), sexprData);
printf("Actual %d '%s'\n", (int)strlen(gotsexpr), gotsexpr);
}
if (strcmp(sexprData, gotsexpr))
return -1;
goto fail;
if (strcmp(name, gotname))
return -1;
goto fail;
return 0;
ret = 0;
fail:
free(gotname);
free(gotsexpr);
return ret;
}
static int testComparePVversion1(void *data ATTRIBUTE_UNUSED) {