From 4b234955093962b18b8ddec828c660cb810bd314 Mon Sep 17 00:00:00 2001 From: "Daniel P. Berrange" Date: Thu, 29 May 2008 15:31:49 +0000 Subject: [PATCH] Convert test suites over to new test infrastructure --- ChangeLog | 10 ++++++++++ tests/nodeinfotest.c | 28 ++++++++++++++++------------ tests/qemuxml2argvtest.c | 16 ++++++++++------ tests/qemuxml2xmltest.c | 13 ++++++++----- tests/qparamtest.c | 10 +++++++--- tests/sexpr2xmltest.c | 13 ++++++++----- tests/statstest.c | 11 +++++++---- tests/xencapstest.c | 32 ++++++++++++++++++-------------- tests/xmconfigtest.c | 11 +++++++---- tests/xml2sexprtest.c | 10 ++++++---- 10 files changed, 97 insertions(+), 57 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2b93c43461..8a9359b171 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +Thu May 29 11:29:00 EST 2008 Daniel P. Berrange + + * tests/nodeinfotest.c, tests/qemuxml2argvtest.c, + tests/qemuxml2xmltest.c, tests/qparamtest.c, + tests/sexpr2xmltest.c, tests/statstest.c, + tests/xencapstest.c, tests/xmconfigtest.c, + tests/xml2sexprtest.c: Convert over to new test suite + infrastructure to enable OOM testing. Avoid use of + the abs_top_srcdir variable in favour of abs_srcdir + Thu May 29 11:23:00 EST 2008 Daniel P. Berrange Misc memory handling / cleanup fixes diff --git a/tests/nodeinfotest.c b/tests/nodeinfotest.c index d53b21246a..2e0274aa58 100644 --- a/tests/nodeinfotest.c +++ b/tests/nodeinfotest.c @@ -3,13 +3,14 @@ #include #include #include +#include #include "testutils.h" #include "internal.h" #include "nodeinfo.h" static char *progname; -static char *abs_top_srcdir; +static char *abs_srcdir; #define MAX_FILE 4096 @@ -56,17 +57,17 @@ static int linuxTestCompareFiles(const char *cpuinfofile, const char *outputfile static int linuxTestNodeInfo(const void *data) { char cpuinfo[PATH_MAX]; char output[PATH_MAX]; - snprintf(cpuinfo, PATH_MAX, "%s/tests/nodeinfodata/linux-%s.cpuinfo", - abs_top_srcdir, (const char*)data); - snprintf(output, PATH_MAX, "%s/tests/nodeinfodata/linux-%s.txt", - abs_top_srcdir, (const char*)data); + snprintf(cpuinfo, PATH_MAX, "%s/nodeinfodata/linux-%s.cpuinfo", + abs_srcdir, (const char*)data); + snprintf(output, PATH_MAX, "%s/nodeinfodata/linux-%s.txt", + abs_srcdir, (const char*)data); return linuxTestCompareFiles(cpuinfo, output); } #endif -int -main(int argc, char **argv) +static int +mymain(int argc, char **argv) { int ret = 0; #ifdef __linux__ @@ -79,16 +80,17 @@ main(int argc, char **argv) "nodeinfo-5", "nodeinfo-6", }; + char cwd[PATH_MAX]; - abs_top_srcdir = getenv("abs_top_srcdir"); - if (!abs_top_srcdir) - return EXIT_FAILURE; + abs_srcdir = getenv("abs_srcdir"); + if (!abs_srcdir) + abs_srcdir = getcwd(cwd, sizeof(cwd)); progname = argv[0]; if (argc > 1) { fprintf(stderr, "Usage: %s\n", progname); - exit(EXIT_FAILURE); + return(EXIT_FAILURE); } virInitialize(); @@ -98,5 +100,7 @@ main(int argc, char **argv) ret = -1; #endif - exit(ret==0 ? EXIT_SUCCESS : EXIT_FAILURE); + return(ret==0 ? EXIT_SUCCESS : EXIT_FAILURE); } + +VIRT_TEST_MAIN(mymain) diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index e0e9474604..be43bb58fa 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -43,6 +43,7 @@ static int testCompareXMLToArgvFiles(const char *xml, const char *cmd, int extra if (!(vmdef = qemudParseVMDef(NULL, &driver, xmlData, "test"))) goto fail; + memset(&vm, 0, sizeof vm); vm.def = vmdef; vm.pid = -1; vm.id = -1; @@ -115,8 +116,8 @@ static int testCompareXMLToArgvHelper(const void *data) { -int -main(int argc, char **argv) +static int +mymain(int argc, char **argv) { int ret = 0; char cwd[PATH_MAX]; @@ -125,14 +126,15 @@ main(int argc, char **argv) if (argc > 1) { fprintf(stderr, "Usage: %s\n", progname); - exit(EXIT_FAILURE); + return (EXIT_FAILURE); } abs_srcdir = getenv("abs_srcdir"); if (!abs_srcdir) abs_srcdir = getcwd(cwd, sizeof(cwd)); - driver.caps = testQemuCapsInit(); + if ((driver.caps = testQemuCapsInit()) == NULL) + return EXIT_FAILURE; #define DO_TEST(name, extraFlags) \ do { \ @@ -181,11 +183,13 @@ main(int argc, char **argv) virCapabilitiesFree(driver.caps); - exit(ret==0 ? EXIT_SUCCESS : EXIT_FAILURE); + return(ret==0 ? EXIT_SUCCESS : EXIT_FAILURE); } +VIRT_TEST_MAIN(mymain) + #else -int main (void) { exit (77); /* means 'test skipped' for automake */ } +int main (void) { return (77); /* means 'test skipped' for automake */ } #endif /* WITH_QEMU */ diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c index 7b3df0ea8b..53158f2f73 100644 --- a/tests/qemuxml2xmltest.c +++ b/tests/qemuxml2xmltest.c @@ -70,8 +70,8 @@ static int testCompareXMLToXMLHelper(const void *data) { } -int -main(int argc, char **argv) +static int +mymain(int argc, char **argv) { int ret = 0; char cwd[PATH_MAX]; @@ -80,14 +80,15 @@ main(int argc, char **argv) if (argc > 1) { fprintf(stderr, "Usage: %s\n", progname); - exit(EXIT_FAILURE); + return (EXIT_FAILURE); } abs_srcdir = getenv("abs_srcdir"); if (!abs_srcdir) abs_srcdir = getcwd(cwd, sizeof(cwd)); - driver.caps = testQemuCapsInit(); + if ((driver.caps = testQemuCapsInit()) == NULL) + return (EXIT_FAILURE); #define DO_TEST(name) \ if (virtTestRun("QEMU XML-2-XML " name, \ @@ -129,9 +130,11 @@ main(int argc, char **argv) virCapabilitiesFree(driver.caps); - exit(ret==0 ? EXIT_SUCCESS : EXIT_FAILURE); + return (ret==0 ? EXIT_SUCCESS : EXIT_FAILURE); } +VIRT_TEST_MAIN(mymain) + #else int main (void) { exit (77); /* means 'test skipped' to automake */ } diff --git a/tests/qparamtest.c b/tests/qparamtest.c index 0f374961ed..b85a29f691 100644 --- a/tests/qparamtest.c +++ b/tests/qparamtest.c @@ -8,6 +8,7 @@ #include "testutils.h" #include "qparams.h" #include "util.h" +#include "memory.h" struct qparamParseDataEntry { const char *name; @@ -181,8 +182,9 @@ static const struct qparamParseDataEntry const params4[] = { { "foo", "" } }; static const struct qparamParseDataEntry const params5[] = { { "foo", "one two" } }; static const struct qparamParseDataEntry const params6[] = { { "foo", "one" } }; -int -main(void) +static int +mymain(int argc ATTRIBUTE_UNUSED, + char **argv ATTRIBUTE_UNUSED) { int ret = 0; @@ -221,5 +223,7 @@ main(void) if (virtTestRun("Add vargs", 1, qparamTestAddVargs, NULL) < 0) ret = -1; - exit(ret==0 ? EXIT_SUCCESS : EXIT_FAILURE); + return(ret==0 ? EXIT_SUCCESS : EXIT_FAILURE); } + +VIRT_TEST_MAIN(mymain) diff --git a/tests/sexpr2xmltest.c b/tests/sexpr2xmltest.c index 80be0f27a1..fd8f7c71e0 100644 --- a/tests/sexpr2xmltest.c +++ b/tests/sexpr2xmltest.c @@ -69,8 +69,8 @@ static int testCompareHelper(const void *data) { } -int -main(int argc, char **argv) +static int +mymain(int argc, char **argv) { int ret = 0; char cwd[PATH_MAX]; @@ -79,7 +79,7 @@ main(int argc, char **argv) if (argc > 1) { fprintf(stderr, "Usage: %s\n", progname); - exit(EXIT_FAILURE); + return(EXIT_FAILURE); } abs_srcdir = getenv("abs_srcdir"); @@ -88,7 +88,7 @@ main(int argc, char **argv) if (argc > 1) { fprintf(stderr, "Usage: %s\n", progname); - exit(EXIT_FAILURE); + return(EXIT_FAILURE); } #define DO_TEST(in, out, version) \ @@ -139,8 +139,11 @@ main(int argc, char **argv) DO_TEST("fv-sound", "fv-sound", 1); DO_TEST("fv-sound-all", "fv-sound-all", 1); - exit(ret==0 ? EXIT_SUCCESS : EXIT_FAILURE); + return(ret==0 ? EXIT_SUCCESS : EXIT_FAILURE); } + +VIRT_TEST_MAIN(mymain) + #else /* WITHOUT_XEN */ int main(void) diff --git a/tests/statstest.c b/tests/statstest.c index 8b5e677473..c2c3f288b6 100644 --- a/tests/statstest.c +++ b/tests/statstest.c @@ -45,8 +45,9 @@ static int testDeviceHelper(const void *data) #endif -int -main(void) +static int +mymain(int argc ATTRIBUTE_UNUSED, + char **argv ATTRIBUTE_UNUSED) { int ret = 0; #if __linux__ && WITH_XEN @@ -54,7 +55,7 @@ main(void) * register a handler to stop error messages cluttering * up display */ - if (!getenv("DEBUG_TESTS")) + if (!getenv("VIR_TEST_DEBUG")) virSetErrorFunc(NULL, testQuietError); #define DO_TEST(dev, num) \ @@ -177,5 +178,7 @@ main(void) DO_TEST("/dev/xvda15", 51727); #endif - exit(ret==0 ? EXIT_SUCCESS : EXIT_FAILURE); + return(ret==0 ? EXIT_SUCCESS : EXIT_FAILURE); } + +VIRT_TEST_MAIN(mymain) diff --git a/tests/xencapstest.c b/tests/xencapstest.c index 5674a3f8ec..6ce80ea389 100644 --- a/tests/xencapstest.c +++ b/tests/xencapstest.c @@ -3,6 +3,7 @@ #include #include #include +#include #ifdef WITH_XEN @@ -12,7 +13,7 @@ #include "xen_internal.h" static char *progname; -static char *abs_top_srcdir; +static char *abs_srcdir; #define MAX_FILE 4096 @@ -31,12 +32,12 @@ static int testCompareFiles(const char *hostmachine, char cpuinfo[PATH_MAX]; char capabilities[PATH_MAX]; - snprintf(xml, sizeof xml - 1, "%s/tests/%s", - abs_top_srcdir, xml_rel); - snprintf(cpuinfo, sizeof cpuinfo - 1, "%s/tests/%s", - abs_top_srcdir, cpuinfo_rel); - snprintf(capabilities, sizeof capabilities - 1, "%s/tests/%s", - abs_top_srcdir, capabilities_rel); + snprintf(xml, sizeof xml - 1, "%s/%s", + abs_srcdir, xml_rel); + snprintf(cpuinfo, sizeof cpuinfo - 1, "%s/%s", + abs_srcdir, cpuinfo_rel); + snprintf(capabilities, sizeof capabilities - 1, "%s/%s", + abs_srcdir, capabilities_rel); if (virtTestLoadFile(xml, &expectxml, MAX_FILE) < 0) goto fail; @@ -147,21 +148,22 @@ static int testXenppc64(const void *data ATTRIBUTE_UNUSED) { } -int -main(int argc, char **argv) +static int +mymain(int argc, char **argv) { int ret = 0; + char cwd[PATH_MAX]; progname = argv[0]; if (argc > 1) { fprintf(stderr, "Usage: %s\n", progname); - exit(EXIT_FAILURE); + return(EXIT_FAILURE); } - abs_top_srcdir = getenv("abs_top_srcdir"); - if (!abs_top_srcdir) - return 1; + abs_srcdir = getenv("abs_srcdir"); + if (!abs_srcdir) + abs_srcdir = getcwd(cwd, sizeof(cwd)); virInitialize(); @@ -213,9 +215,11 @@ main(int argc, char **argv) ret = -1; - exit(ret==0 ? EXIT_SUCCESS : EXIT_FAILURE); + return(ret==0 ? EXIT_SUCCESS : EXIT_FAILURE); } +VIRT_TEST_MAIN(mymain) + #else /* !WITH_XEN */ int diff --git a/tests/xmconfigtest.c b/tests/xmconfigtest.c index 3725ae5b86..3d2730f041 100644 --- a/tests/xmconfigtest.c +++ b/tests/xmconfigtest.c @@ -170,8 +170,8 @@ static int testCompareHelper(const void *data) { } -int -main(int argc, char **argv) +static int +mymain(int argc, char **argv) { int ret = 0; char cwd[PATH_MAX]; @@ -180,7 +180,7 @@ main(int argc, char **argv) if (argc > 1) { fprintf(stderr, "Usage: %s\n", progname); - exit(EXIT_FAILURE); + return(EXIT_FAILURE); } abs_srcdir = getenv("abs_srcdir"); @@ -223,8 +223,11 @@ main(int argc, char **argv) DO_TEST("fullvirt-sound", 2); - exit(ret==0 ? EXIT_SUCCESS : EXIT_FAILURE); + return(ret==0 ? EXIT_SUCCESS : EXIT_FAILURE); } + +VIRT_TEST_MAIN(mymain) + #else /* WITHOUT_XEN */ int main(void) diff --git a/tests/xml2sexprtest.c b/tests/xml2sexprtest.c index b2bb05d1f4..c6cc930be2 100644 --- a/tests/xml2sexprtest.c +++ b/tests/xml2sexprtest.c @@ -77,8 +77,8 @@ static int testCompareHelper(const void *data) { } -int -main(int argc, char **argv) +static int +mymain(int argc, char **argv) { int ret = 0; char cwd[PATH_MAX]; @@ -91,7 +91,7 @@ main(int argc, char **argv) if (argc > 1) { fprintf(stderr, "Usage: %s\n", progname); - exit(EXIT_FAILURE); + return(EXIT_FAILURE); } #define DO_TEST(in, out, name, version) \ @@ -145,9 +145,11 @@ main(int argc, char **argv) DO_TEST("fv-sound", "fv-sound", "fvtest", 1); - exit(ret==0 ? EXIT_SUCCESS : EXIT_FAILURE); + return(ret==0 ? EXIT_SUCCESS : EXIT_FAILURE); } +VIRT_TEST_MAIN(mymain) + #else /* WITH_XEN */ int main (void) { exit (77); /* means 'test skipped' for automake */ } -- GitLab