[libvirt] [PATCH] build: avoid test warnings on mingw

* .gnulib: Update to latest, for getaddrinfo fixes. Reported by Matthias Bolte. --- As promised, I've done the gnulib side of the mingw cleanups affecting the issues Matthias found with 0.9.1-rc1. Oh, and now that gnulib getcwd-lgpl exists, we could use it to fix our uses of getcwd(NULL,0), followup coming later. * .gnulib 7d06b32...74175b9 (29):
getaddrinfo: fix gai_strerror signature getsockopt: avoid compiler warning tests: drop unused link dependency hash, mgetgroups: drop xalloc dependency xalloc-oversized: new module utimecmp: drop dependency on xmalloc getcwd: fix mingw bugs Typo in comment. mkstemps: Ensure declaration on MacOS X 10.5. mkstemp: More documentation. mkstemp: Tweak configure message when cross-compiling. clean-temp: Clarify what it does. fchdir: avoid extra chdir and fix test filenamecat-lgpl: fix licence linkat, renameat: add missing dependency tests: reduce dependencies save-cwd: reduce default dependency getcwd: enhance tests getcwd-lgpl: new module getcwd: tweak comments mkstemp: replace if system version uses wrong permissions passfd: avoid compiler warning Change gnulib-tool to support NetBSD's join mkstemp: mention clean-temp module inttypes: also provide default values for 32-bit tests strtoumax: remove dependency on strtoimax inttypes-incomplete: new module inttypes: omit now-redundant strtoimax and strtoumax work strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
.gnulib | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/.gnulib b/.gnulib index 7d06b32..74175b9 160000 --- a/.gnulib +++ b/.gnulib @@ -1 +1 @@ -Subproject commit 7d06b32684363a39fae65c616b84bc7589768106 +Subproject commit 74175b903b1716c1677658e45fa69ef1fbc99015 -- 1.7.4.4

On Thu, Apr 28, 2011 at 05:42:03PM -0600, Eric Blake wrote:
* .gnulib: Update to latest, for getaddrinfo fixes. Reported by Matthias Bolte. ---
As promised, I've done the gnulib side of the mingw cleanups affecting the issues Matthias found with 0.9.1-rc1.
Oh, and now that gnulib getcwd-lgpl exists, we could use it to fix our uses of getcwd(NULL,0), followup coming later.
* .gnulib 7d06b32...74175b9 (29): [...] diff --git a/.gnulib b/.gnulib index 7d06b32..74175b9 160000 --- a/.gnulib +++ b/.gnulib @@ -1 +1 @@ -Subproject commit 7d06b32684363a39fae65c616b84bc7589768106 +Subproject commit 74175b903b1716c1677658e45fa69ef1fbc99015
ACK, and we want this fixed in time for 0.9.1 Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@veillard.com | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/

2011/4/29 Eric Blake <eblake@redhat.com>:
* .gnulib: Update to latest, for getaddrinfo fixes. Reported by Matthias Bolte. ---
As promised, I've done the gnulib side of the mingw cleanups affecting the issues Matthias found with 0.9.1-rc1.
Oh, and now that gnulib getcwd-lgpl exists, we could use it to fix our uses of getcwd(NULL,0), followup coming later.
* .gnulib 7d06b32...74175b9 (29): > getaddrinfo: fix gai_strerror signature > getsockopt: avoid compiler warning > tests: drop unused link dependency > hash, mgetgroups: drop xalloc dependency > xalloc-oversized: new module > utimecmp: drop dependency on xmalloc > getcwd: fix mingw bugs > Typo in comment. > mkstemps: Ensure declaration on MacOS X 10.5. > mkstemp: More documentation. > mkstemp: Tweak configure message when cross-compiling. > clean-temp: Clarify what it does. > fchdir: avoid extra chdir and fix test > filenamecat-lgpl: fix licence > linkat, renameat: add missing dependency > tests: reduce dependencies > save-cwd: reduce default dependency > getcwd: enhance tests > getcwd-lgpl: new module > getcwd: tweak comments > mkstemp: replace if system version uses wrong permissions > passfd: avoid compiler warning > Change gnulib-tool to support NetBSD's join > mkstemp: mention clean-temp module > inttypes: also provide default values for 32-bit tests > strtoumax: remove dependency on strtoimax > inttypes-incomplete: new module > inttypes: omit now-redundant strtoimax and strtoumax work > strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
.gnulib | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/.gnulib b/.gnulib index 7d06b32..74175b9 160000 --- a/.gnulib +++ b/.gnulib @@ -1 +1 @@ -Subproject commit 7d06b32684363a39fae65c616b84bc7589768106 +Subproject commit 74175b903b1716c1677658e45fa69ef1fbc99015
Compiles fine on mingw now, ACK. Matthias

On 04/29/2011 01:27 AM, Matthias Bolte wrote:
2011/4/29 Eric Blake <eblake@redhat.com>:
* .gnulib: Update to latest, for getaddrinfo fixes. Reported by Matthias Bolte. ---
As promised, I've done the gnulib side of the mingw cleanups affecting the issues Matthias found with 0.9.1-rc1.
Compiles fine on mingw now, ACK.
Thanks; pushed. -- Eric Blake eblake@redhat.com +1-801-349-2682 Libvirt virtualization library http://libvirt.org

A few of the tests were missing basic sanity checks, while most of them were doing copy-and-paste initialization (in fact, some of them pasted the argc > 1 check more than once!). It's much nicer to do things in one common place, and minimizes the size of the next patch that fixes getcwd usage. * tests/testutils.h (EXIT_AM_HARDFAIL): New define. (progname, abs_srcdir): Define for all tests. (VIRT_TEST_MAIN): Change callback signature. * tests/testutils.c (virtTestMain): Do more common init. * tests/commandtest.c (mymain): Simplify. * tests/cputest.c (mymain): Likewise. * tests/esxutilstest.c (mymain): Likewise. * tests/eventtest.c (mymain): Likewise. * tests/hashtest.c (mymain): Likewise. * tests/networkxml2xmltest.c (mymain): Likewise. * tests/nodedevxml2xmltest.c (myname): Likewise. * tests/nodeinfotest.c (mymain): Likewise. * tests/nwfilterxml2xmltest.c (mymain): Likewise. * tests/qemuargv2xmltest.c (mymain): Likewise. * tests/qemuhelptest.c (mymain): Likewise. * tests/qemuxml2argvtest.c (mymain): Likewise. * tests/qemuxml2xmltest.c (mymain): Likewise. * tests/qparamtest.c (mymain): Likewise. * tests/sexpr2xmltest.c (mymain): Likewise. * tests/sockettest.c (mymain): Likewise. * tests/statstest.c (mymain): Likewise. * tests/storagepoolxml2xmltest.c (mymain): Likewise. * tests/storagevolxml2xmltest.c (mymain): Likewise. * tests/virbuftest.c (mymain): Likewise. * tests/virshtest.c (mymain): Likewise. * tests/vmx2xmltest.c (mymain): Likewise. * tests/xencapstest.c (mymain): Likewise. * tests/xmconfigtest.c (mymain): Likewise. * tests/xml2sexprtest.c (mymain): Likewise. * tests/xml2vmxtest.c (mymain): Likewise. --- tests/commandtest.c | 18 +----------------- tests/cputest.c | 18 ++---------------- tests/esxutilstest.c | 17 +---------------- tests/eventtest.c | 11 +---------- tests/hashtest.c | 3 +-- tests/interfacexml2xmltest.c | 17 +---------------- tests/networkxml2xmltest.c | 17 +---------------- tests/nodedevxml2xmltest.c | 17 +---------------- tests/nodeinfotest.c | 17 +---------------- tests/nwfilterxml2xmltest.c | 17 +---------------- tests/qemuargv2xmltest.c | 16 +--------------- tests/qemuhelptest.c | 17 +---------------- tests/qemuxml2argvtest.c | 16 +--------------- tests/qemuxml2xmltest.c | 16 +--------------- tests/qparamtest.c | 3 +-- tests/sexpr2xmltest.c | 21 +-------------------- tests/sockettest.c | 5 ++--- tests/statstest.c | 3 +-- tests/storagepoolxml2xmltest.c | 17 +---------------- tests/storagevolxml2xmltest.c | 17 +---------------- tests/testutils.c | 29 +++++++++++++++++++++++------ tests/testutils.h | 15 ++++++++++----- tests/virbuftest.c | 3 +-- tests/virshtest.c | 18 +++--------------- tests/vmx2xmltest.c | 23 +---------------------- tests/xencapstest.c | 17 +---------------- tests/xmconfigtest.c | 18 ++---------------- tests/xml2sexprtest.c | 16 +--------------- tests/xml2vmxtest.c | 23 +---------------------- 29 files changed, 65 insertions(+), 380 deletions(-) diff --git a/tests/commandtest.c b/tests/commandtest.c index c313a2c..509c888 100644 --- a/tests/commandtest.c +++ b/tests/commandtest.c @@ -46,10 +46,6 @@ mymain(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) #else -static char *progname; -static char *abs_srcdir; - - static int checkoutput(const char *testname) { int ret = -1; @@ -754,23 +750,11 @@ cleanup: } static int -mymain(int argc, char **argv) +mymain(void) { int ret = 0; - char cwd[PATH_MAX]; int fd; - 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); - return(EXIT_FAILURE); - } - if (chdir("/tmp") < 0) return(EXIT_FAILURE); diff --git a/tests/cputest.c b/tests/cputest.c index bd06958..a8d28dc 100644 --- a/tests/cputest.c +++ b/tests/cputest.c @@ -1,7 +1,7 @@ /* * cputest.c: Test the libvirtd internal CPU APIs * - * Copyright (C) 2010 Red Hat, Inc. + * Copyright (C) 2010-2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -39,8 +39,6 @@ #include "cpu/cpu.h" #include "cpu/cpu_map.h" -static const char *progname; -static const char *abs_srcdir; static const char *abs_top_srcdir; #define VIR_FROM_THIS VIR_FROM_CPU @@ -494,23 +492,11 @@ static const char *nomodel[] = { "nomodel" }; static const char *models[] = { "qemu64", "core2duo", "Nehalem" }; static int -mymain(int argc, char **argv) +mymain(void) { int ret = 0; - char cwd[PATH_MAX]; char map[PATH_MAX]; - progname = argv[0]; - - if (argc > 1) { - fprintf(stderr, "Usage: %s\n", progname); - return EXIT_FAILURE; - } - - abs_srcdir = getenv("abs_srcdir"); - if (!abs_srcdir) - abs_srcdir = getcwd(cwd, sizeof(cwd)); - abs_top_srcdir = getenv("abs_top_srcdir"); if (!abs_top_srcdir) abs_top_srcdir = ".."; diff --git a/tests/esxutilstest.c b/tests/esxutilstest.c index b6bf87b..830f79c 100644 --- a/tests/esxutilstest.c +++ b/tests/esxutilstest.c @@ -14,9 +14,6 @@ # include "esx/esx_util.h" # include "esx/esx_vi_types.h" -static char *progname; - - static void testQuietError(void *userData ATTRIBUTE_UNUSED, @@ -323,22 +320,10 @@ testConvertWindows1252ToUTF8(const void *data ATTRIBUTE_UNUSED) static int -mymain(int argc, char **argv) +mymain(void) { int result = 0; - progname = argv[0]; - - if (argc > 1) { - fprintf(stderr, "Usage: %s\n", progname); - return EXIT_FAILURE; - } - - if (argc > 1) { - fprintf(stderr, "Usage: %s\n", progname); - return EXIT_FAILURE; - } - virSetErrorFunc(NULL, testQuietError); # define DO_TEST(_name) \ diff --git a/tests/eventtest.c b/tests/eventtest.c index eb4b755..4c45860 100644 --- a/tests/eventtest.c +++ b/tests/eventtest.c @@ -259,20 +259,12 @@ resetAll(void) } static int -mymain(int argc, char **argv) +mymain(void) { - char *progname; int i; pthread_t eventThread; char one = '1'; - progname = argv[0]; - - if (argc > 1) { - fprintf(stderr, "Usage: %s\n", progname); - return EXIT_FAILURE; - } - for (i = 0 ; i < NUM_FDS ; i++) { if (pipe(handles[i].pipeFD) < 0) { fprintf(stderr, "Cannot create pipe: %d", errno); @@ -483,5 +475,4 @@ mymain(int argc, char **argv) return EXIT_SUCCESS; } - VIRT_TEST_MAIN(mymain) diff --git a/tests/hashtest.c b/tests/hashtest.c index bb3a812..525ae06 100644 --- a/tests/hashtest.c +++ b/tests/hashtest.c @@ -476,8 +476,7 @@ cleanup: static int -mymain(int argc ATTRIBUTE_UNUSED, - char **argv ATTRIBUTE_UNUSED) +mymain(void) { int ret = 0; diff --git a/tests/interfacexml2xmltest.c b/tests/interfacexml2xmltest.c index 094ccf5..fb454c1 100644 --- a/tests/interfacexml2xmltest.c +++ b/tests/interfacexml2xmltest.c @@ -13,9 +13,6 @@ #include "interface_conf.h" #include "testutilsqemu.h" -static char *progname; -static char *abs_srcdir; - #define MAX_FILE 4096 @@ -57,21 +54,9 @@ static int testCompareXMLToXMLHelper(const void *data) { static int -mymain(int argc, char **argv) +mymain(void) { int ret = 0; - char cwd[PATH_MAX]; - - progname = argv[0]; - - if (argc > 1) { - fprintf(stderr, "Usage: %s\n", progname); - return (EXIT_FAILURE); - } - - abs_srcdir = getenv("abs_srcdir"); - if (!abs_srcdir) - abs_srcdir = getcwd(cwd, sizeof(cwd)); #define DO_TEST(name) \ if (virtTestRun("Interface XML-2-XML " name, \ diff --git a/tests/networkxml2xmltest.c b/tests/networkxml2xmltest.c index 7805548..f7489f5 100644 --- a/tests/networkxml2xmltest.c +++ b/tests/networkxml2xmltest.c @@ -13,9 +13,6 @@ #include "network_conf.h" #include "testutilsqemu.h" -static char *progname; -static char *abs_srcdir; - #define MAX_FILE 4096 @@ -64,21 +61,9 @@ static int testCompareXMLToXMLHelper(const void *data) { static int -mymain(int argc, char **argv) +mymain(void) { int ret = 0; - char cwd[PATH_MAX]; - - progname = argv[0]; - - if (argc > 1) { - fprintf(stderr, "Usage: %s\n", progname); - return (EXIT_FAILURE); - } - - abs_srcdir = getenv("abs_srcdir"); - if (!abs_srcdir) - abs_srcdir = getcwd(cwd, sizeof(cwd)); #define DO_TEST(name) \ if (virtTestRun("Network XML-2-XML " name, \ diff --git a/tests/nodedevxml2xmltest.c b/tests/nodedevxml2xmltest.c index 2bc6743..f6a1335 100644 --- a/tests/nodedevxml2xmltest.c +++ b/tests/nodedevxml2xmltest.c @@ -13,9 +13,6 @@ #include "node_device_conf.h" #include "testutilsqemu.h" -static char *progname; -static char *abs_srcdir; - #define MAX_FILE 4096 @@ -57,21 +54,9 @@ static int testCompareXMLToXMLHelper(const void *data) { static int -mymain(int argc, char **argv) +mymain(void) { int ret = 0; - char cwd[PATH_MAX]; - - progname = argv[0]; - - if (argc > 1) { - fprintf(stderr, "Usage: %s\n", progname); - return (EXIT_FAILURE); - } - - abs_srcdir = getenv("abs_srcdir"); - if (!abs_srcdir) - abs_srcdir = getcwd(cwd, sizeof(cwd)); #define DO_TEST(name) \ if (virtTestRun("Node device XML-2-XML " name, \ diff --git a/tests/nodeinfotest.c b/tests/nodeinfotest.c index c690403..9a87dc0 100644 --- a/tests/nodeinfotest.c +++ b/tests/nodeinfotest.c @@ -21,9 +21,6 @@ mymain(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) #else -static char *progname; -static char *abs_srcdir; - # define MAX_FILE 4096 extern int linuxNodeInfoCPUPopulate(FILE *cpuinfo, virNodeInfoPtr nodeinfo, @@ -89,7 +86,7 @@ static int linuxTestNodeInfo(const void *data) { static int -mymain(int argc, char **argv) +mymain(void) { int ret = 0; int i; @@ -101,18 +98,6 @@ mymain(int argc, char **argv) "nodeinfo-5", "nodeinfo-6", }; - char cwd[PATH_MAX]; - - 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); - return(EXIT_FAILURE); - } if (virInitialize() < 0) return EXIT_FAILURE; diff --git a/tests/nwfilterxml2xmltest.c b/tests/nwfilterxml2xmltest.c index 575177a..a1f57fa 100644 --- a/tests/nwfilterxml2xmltest.c +++ b/tests/nwfilterxml2xmltest.c @@ -16,9 +16,6 @@ #include "nwfilter_conf.h" #include "testutilsqemu.h" -static char *progname; -static char *abs_srcdir; - #define MAX_FILE 4096 @@ -85,21 +82,9 @@ static int testCompareXMLToXMLHelper(const void *data) { static int -mymain(int argc, char **argv) +mymain(void) { int ret = 0; - char cwd[PATH_MAX]; - - progname = argv[0]; - - if (argc > 1) { - fprintf(stderr, "Usage: %s\n", progname); - return (EXIT_FAILURE); - } - - abs_srcdir = getenv("abs_srcdir"); - if (!abs_srcdir) - abs_srcdir = getcwd(cwd, sizeof(cwd)); #define DO_TEST(NAME, EXPECT_WARN) \ do { \ diff --git a/tests/qemuargv2xmltest.c b/tests/qemuargv2xmltest.c index 0214db0..60dce46 100644 --- a/tests/qemuargv2xmltest.c +++ b/tests/qemuargv2xmltest.c @@ -16,8 +16,6 @@ # include "testutilsqemu.h" -static char *progname; -static char *abs_srcdir; static struct qemud_driver driver; # define MAX_FILE 4096 @@ -103,21 +101,9 @@ static int testCompareXMLToArgvHelper(const void *data) { static int -mymain(int argc, char **argv) +mymain(void) { int ret = 0; - char cwd[PATH_MAX]; - - progname = argv[0]; - - if (argc > 1) { - fprintf(stderr, "Usage: %s\n", progname); - return (EXIT_FAILURE); - } - - abs_srcdir = getenv("abs_srcdir"); - if (!abs_srcdir) - abs_srcdir = getcwd(cwd, sizeof(cwd)); if ((driver.caps = testQemuCapsInit()) == NULL) return EXIT_FAILURE; diff --git a/tests/qemuhelptest.c b/tests/qemuhelptest.c index c86c578..792b5ab 100644 --- a/tests/qemuhelptest.c +++ b/tests/qemuhelptest.c @@ -19,9 +19,6 @@ struct testInfo { unsigned int kvm_version; }; -static char *progname; -static char *abs_srcdir; - static void printMismatchedFlags(virBitmapPtr got, virBitmapPtr expect) { @@ -121,21 +118,9 @@ cleanup: } static int -mymain(int argc, char **argv) +mymain(void) { int ret = 0; - char cwd[PATH_MAX]; - - progname = argv[0]; - - if (argc > 1) { - fprintf(stderr, "Usage: %s\n", progname); - return (EXIT_FAILURE); - } - - abs_srcdir = getenv("abs_srcdir"); - if (!abs_srcdir) - abs_srcdir = getcwd(cwd, sizeof(cwd)); # define DO_TEST(name, version, is_kvm, kvm_version, ...) \ do { \ diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index c06bdf6..ebde3a1 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -19,8 +19,6 @@ # include "testutilsqemu.h" -static char *progname; -static char *abs_srcdir; static const char *abs_top_srcdir; static struct qemud_driver driver; @@ -190,23 +188,11 @@ static int testCompareXMLToArgvHelper(const void *data) { static int -mymain(int argc, char **argv) +mymain(void) { int ret = 0; - char cwd[PATH_MAX]; char map[PATH_MAX]; - progname = argv[0]; - - if (argc > 1) { - fprintf(stderr, "Usage: %s\n", progname); - return (EXIT_FAILURE); - } - - abs_srcdir = getenv("abs_srcdir"); - if (!abs_srcdir) - abs_srcdir = getcwd(cwd, sizeof(cwd)); - abs_top_srcdir = getenv("abs_top_srcdir"); if (!abs_top_srcdir) abs_top_srcdir = ".."; diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c index 27330a9..6f51d1e 100644 --- a/tests/qemuxml2xmltest.c +++ b/tests/qemuxml2xmltest.c @@ -15,8 +15,6 @@ # include "qemu/qemu_conf.h" # include "testutilsqemu.h" -static char *progname; -static char *abs_srcdir; static struct qemud_driver driver; # define MAX_FILE 4096 @@ -83,21 +81,9 @@ static int testCompareXMLToXMLHelper(const void *data) { static int -mymain(int argc, char **argv) +mymain(void) { int ret = 0; - char cwd[PATH_MAX]; - - progname = argv[0]; - - if (argc > 1) { - fprintf(stderr, "Usage: %s\n", progname); - return (EXIT_FAILURE); - } - - abs_srcdir = getenv("abs_srcdir"); - if (!abs_srcdir) - abs_srcdir = getcwd(cwd, sizeof(cwd)); if ((driver.caps = testQemuCapsInit()) == NULL) return (EXIT_FAILURE); diff --git a/tests/qparamtest.c b/tests/qparamtest.c index a4ed1fb..6dfac43 100644 --- a/tests/qparamtest.c +++ b/tests/qparamtest.c @@ -183,8 +183,7 @@ static const struct qparamParseDataEntry params5[] = { { "foo", "one two" } }; static const struct qparamParseDataEntry params6[] = { { "foo", "one" } }; static int -mymain(int argc ATTRIBUTE_UNUSED, - char **argv ATTRIBUTE_UNUSED) +mymain(void) { int ret = 0; diff --git a/tests/sexpr2xmltest.c b/tests/sexpr2xmltest.c index 9f74ece..0919435 100644 --- a/tests/sexpr2xmltest.c +++ b/tests/sexpr2xmltest.c @@ -13,8 +13,6 @@ #include "testutils.h" #include "testutilsxen.h" -static char *progname; -static char *abs_srcdir; static virCapsPtr caps; #define MAX_FILE 4096 @@ -99,26 +97,9 @@ static int testCompareHelper(const void *data) { static int -mymain(int argc, char **argv) +mymain(void) { int ret = 0; - char cwd[PATH_MAX]; - - progname = argv[0]; - - if (argc > 1) { - fprintf(stderr, "Usage: %s\n", progname); - return(EXIT_FAILURE); - } - - abs_srcdir = getenv("abs_srcdir"); - if (!abs_srcdir) - abs_srcdir = getcwd(cwd, sizeof(cwd)); - - if (argc > 1) { - fprintf(stderr, "Usage: %s\n", progname); - return(EXIT_FAILURE); - } if (!(caps = testXenCapsInit())) return(EXIT_FAILURE); diff --git a/tests/sockettest.c b/tests/sockettest.c index 2c9ff03..b9e37ab 100644 --- a/tests/sockettest.c +++ b/tests/sockettest.c @@ -1,7 +1,7 @@ /* * sockettest.c: Testing for src/util/network.c APIs * - * Copyright (C) 2010 Red Hat, Inc. + * Copyright (C) 2010-2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -159,8 +159,7 @@ static int testNetmaskHelper(const void *opaque) static int -mymain(int argc ATTRIBUTE_UNUSED, - char **argv ATTRIBUTE_UNUSED) +mymain(void) { int ret = 0; /* Some of our tests deliberately test failure cases, so diff --git a/tests/statstest.c b/tests/statstest.c index 36cbea4..d18bb0c 100644 --- a/tests/statstest.c +++ b/tests/statstest.c @@ -41,8 +41,7 @@ static int testDeviceHelper(const void *data) } static int -mymain(int argc ATTRIBUTE_UNUSED, - char **argv ATTRIBUTE_UNUSED) +mymain(void) { int ret = 0; /* Some of our tests delibrately test failure cases, so diff --git a/tests/storagepoolxml2xmltest.c b/tests/storagepoolxml2xmltest.c index 2ec29e3..6641153 100644 --- a/tests/storagepoolxml2xmltest.c +++ b/tests/storagepoolxml2xmltest.c @@ -13,9 +13,6 @@ #include "storage_conf.h" #include "testutilsqemu.h" -static char *progname; -static char *abs_srcdir; - #define MAX_FILE 4096 @@ -64,21 +61,9 @@ static int testCompareXMLToXMLHelper(const void *data) { static int -mymain(int argc, char **argv) +mymain(void) { int ret = 0; - char cwd[PATH_MAX]; - - progname = argv[0]; - - if (argc > 1) { - fprintf(stderr, "Usage: %s\n", progname); - return (EXIT_FAILURE); - } - - abs_srcdir = getenv("abs_srcdir"); - if (!abs_srcdir) - abs_srcdir = getcwd(cwd, sizeof(cwd)); #define DO_TEST(name) \ if (virtTestRun("Storage Pool XML-2-XML " name, \ diff --git a/tests/storagevolxml2xmltest.c b/tests/storagevolxml2xmltest.c index ffa5dfe..0cd57af 100644 --- a/tests/storagevolxml2xmltest.c +++ b/tests/storagevolxml2xmltest.c @@ -13,9 +13,6 @@ #include "storage_conf.h" #include "testutilsqemu.h" -static char *progname; -static char *abs_srcdir; - #define MAX_FILE 4096 @@ -85,21 +82,9 @@ static int testCompareXMLToXMLHelper(const void *data) { static int -mymain(int argc, char **argv) +mymain(void) { int ret = 0; - char cwd[PATH_MAX]; - - progname = argv[0]; - - if (argc > 1) { - fprintf(stderr, "Usage: %s\n", progname); - return (EXIT_FAILURE); - } - - abs_srcdir = getenv("abs_srcdir"); - if (!abs_srcdir) - abs_srcdir = getcwd(cwd, sizeof(cwd)); #define DO_TEST(pool, name) \ do { \ diff --git a/tests/testutils.c b/tests/testutils.c index 1f3b569..456a735 100644 --- a/tests/testutils.c +++ b/tests/testutils.c @@ -55,6 +55,9 @@ static unsigned int testVerbose = -1; static unsigned int testOOM = 0; static unsigned int testCounter = 0; +char *progname; +char *abs_srcdir; + double virtTestCountAverage(double *items, int nitems) { @@ -472,9 +475,10 @@ virTestGetVerbose(void) { int virtTestMain(int argc, char **argv, - int (*func)(int, char **)) + int (*func)(void)) { int ret; + char cwd[PATH_MAX]; #if TEST_OOM int approxAlloc = 0; int n; @@ -485,7 +489,20 @@ int virtTestMain(int argc, int worker = 0; #endif - fprintf(stderr, "TEST: %s\n", STRPREFIX(argv[0], "./") ? argv[0] + 2 : argv[0]); + abs_srcdir = getenv("abs_srcdir"); + if (!abs_srcdir) + abs_srcdir = getcwd(cwd, sizeof(cwd)); + if (!abs_srcdir) + exit(EXIT_AM_HARDFAIL); + + progname = argv[0]; + if (STRPREFIX(progname, "./")) + progname += 2; + if (argc > 1) { + fprintf(stderr, "Usage: %s\n", argv[0]); + return EXIT_FAILURE; + } + fprintf(stderr, "TEST: %s\n", progname); if (!virTestGetVerbose()) fprintf(stderr, " "); @@ -520,7 +537,7 @@ int virtTestMain(int argc, } /* Run once to prime any static allocations & ensure it passes */ - ret = (func)(argc, argv); + ret = (func)(); if (ret != EXIT_SUCCESS) goto cleanup; @@ -537,7 +554,7 @@ int virtTestMain(int argc, virAllocTestInit(); /* Run again to count allocs, and ensure it passes :-) */ - ret = (func)(argc, argv); + ret = (func)(); if (ret != EXIT_SUCCESS) goto cleanup; @@ -574,7 +591,7 @@ int virtTestMain(int argc, } virAllocTestOOM(n+1, oomCount); - if (((func)(argc, argv)) != EXIT_FAILURE) { + if (((func)()) != EXIT_FAILURE) { ret = EXIT_FAILURE; break; } @@ -604,7 +621,7 @@ int virtTestMain(int argc, } cleanup: #else - ret = (func)(argc, argv); + ret = (func)(); #endif virResetLastError(); diff --git a/tests/testutils.h b/tests/testutils.h index 88603a1..0ea70ee 100644 --- a/tests/testutils.h +++ b/tests/testutils.h @@ -1,7 +1,7 @@ /* * utils.c: test utils * - * Copyright (C) 2005, 2008-2010 Red Hat, Inc. + * Copyright (C) 2005, 2008-2011 Red Hat, Inc. * * See COPYING.LIB for the License of this software * @@ -14,6 +14,10 @@ # include <stdio.h> # define EXIT_AM_SKIP 77 /* tell Automake we're skipping a test */ +# define EXIT_AM_HARDFAIL 99 /* tell Automake that the framework is broken */ + +extern char *progname; +extern char *abs_srcdir; double virtTestCountAverage(double *items, int nitems); @@ -44,11 +48,12 @@ char *virtTestLogContentAndReset(void); int virtTestMain(int argc, char **argv, - int (*func)(int, char **)); + int (*func)(void)); -# define VIRT_TEST_MAIN(func) \ - int main(int argc, char **argv) { \ - return virtTestMain(argc,argv, func); \ +/* Setup, then call func() */ +# define VIRT_TEST_MAIN(func) \ + int main(int argc, char **argv) { \ + return virtTestMain(argc, argv, func); \ } #endif /* __VIT_TEST_UTILS_H__ */ diff --git a/tests/virbuftest.c b/tests/virbuftest.c index db08fc4..0094a16 100644 --- a/tests/virbuftest.c +++ b/tests/virbuftest.c @@ -64,8 +64,7 @@ out: } static int -mymain(int argc ATTRIBUTE_UNUSED, - char **argv ATTRIBUTE_UNUSED) +mymain(void) { int ret = 0; diff --git a/tests/virshtest.c b/tests/virshtest.c index 8ec97a8..465d5ea 100644 --- a/tests/virshtest.c +++ b/tests/virshtest.c @@ -8,8 +8,6 @@ #include "xml.h" #include "testutils.h" -static char *progname; -static char *abs_srcdir; #define MAX_FILE 4096 #define DOM_UUID "ef861801-45b9-11cb-88e3-afbfe5370493" @@ -232,30 +230,20 @@ static int testCompareEcho(const void *data) { static int -mymain(int argc, char **argv) +mymain(void) { int ret = 0; char buffer[PATH_MAX]; - char cwd[PATH_MAX]; - - abs_srcdir = getenv("abs_srcdir"); - if (!abs_srcdir) - abs_srcdir = getcwd(cwd, sizeof(cwd)); #ifdef WIN32 exit (EXIT_AM_SKIP); #endif - snprintf(buffer, PATH_MAX-1, "test://%s/../examples/xml/test/testnode.xml", abs_srcdir); + snprintf(buffer, PATH_MAX-1, + "test://%s/../examples/xml/test/testnode.xml", abs_srcdir); buffer[PATH_MAX-1] = '\0'; - progname = argv[0]; custom_uri = buffer; - if (argc > 1) { - fprintf(stderr, "Usage: %s\n", progname); - return(EXIT_FAILURE); - } - if (virtTestRun("virsh list (default)", 1, testCompareListDefault, NULL) != 0) ret = -1; diff --git a/tests/vmx2xmltest.c b/tests/vmx2xmltest.c index 5fed1c4..3b7e9be 100644 --- a/tests/vmx2xmltest.c +++ b/tests/vmx2xmltest.c @@ -11,8 +11,6 @@ # include "testutils.h" # include "vmx/vmx.h" -static char *progname = NULL; -static char *abs_srcdir = NULL; static virCapsPtr caps = NULL; static virVMXContext ctx; @@ -181,28 +179,9 @@ testParseVMXFileName(const char *fileName, void *opaque ATTRIBUTE_UNUSED) } static int -mymain(int argc, char **argv) +mymain(void) { int result = 0; - char cwd[PATH_MAX]; - - progname = argv[0]; - - if (argc > 1) { - fprintf(stderr, "Usage: %s\n", progname); - return EXIT_FAILURE; - } - - abs_srcdir = getenv("abs_srcdir"); - - if (abs_srcdir == NULL) { - abs_srcdir = getcwd(cwd, sizeof(cwd)); - } - - if (argc > 1) { - fprintf(stderr, "Usage: %s\n", progname); - return EXIT_FAILURE; - } # define DO_TEST(_in, _out) \ do { \ diff --git a/tests/xencapstest.c b/tests/xencapstest.c index 7b48812..36946cf 100644 --- a/tests/xencapstest.c +++ b/tests/xencapstest.c @@ -11,9 +11,6 @@ #include "xen/xen_hypervisor.h" #include "files.h" -static char *progname; -static char *abs_srcdir; - #define MAX_FILE 4096 static int testCompareFiles(const char *hostmachine, @@ -151,21 +148,9 @@ static int testXenppc64(const void *data ATTRIBUTE_UNUSED) { static int -mymain(int argc, char **argv) +mymain(void) { int ret = 0; - char cwd[PATH_MAX]; - - progname = argv[0]; - - if (argc > 1) { - fprintf(stderr, "Usage: %s\n", progname); - return(EXIT_FAILURE); - } - - abs_srcdir = getenv("abs_srcdir"); - if (!abs_srcdir) - abs_srcdir = getcwd(cwd, sizeof(cwd)); virInitialize(); diff --git a/tests/xmconfigtest.c b/tests/xmconfigtest.c index 7d418a5..62d3488 100644 --- a/tests/xmconfigtest.c +++ b/tests/xmconfigtest.c @@ -1,7 +1,7 @@ /* * xmconfigtest.c: Test backend for xm_internal config file handling * - * Copyright (C) 2007, 2010 Red Hat, Inc. + * Copyright (C) 2007, 2010-2011 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -36,8 +36,6 @@ #include "testutilsxen.h" #include "memory.h" -static char *progname; -static char *abs_srcdir; static virCapsPtr caps; #define MAX_FILE 4096 @@ -174,21 +172,9 @@ static int testCompareHelper(const void *data) { static int -mymain(int argc, char **argv) +mymain(void) { int ret = 0; - char cwd[PATH_MAX]; - - progname = argv[0]; - - if (argc > 1) { - fprintf(stderr, "Usage: %s\n", progname); - return(EXIT_FAILURE); - } - - abs_srcdir = getenv("abs_srcdir"); - if (!abs_srcdir) - abs_srcdir = getcwd(cwd, sizeof(cwd)); if (!(caps = testXenCapsInit())) return(EXIT_FAILURE); diff --git a/tests/xml2sexprtest.c b/tests/xml2sexprtest.c index cf530b6..b258c3d 100644 --- a/tests/xml2sexprtest.c +++ b/tests/xml2sexprtest.c @@ -14,8 +14,6 @@ #include "testutils.h" #include "testutilsxen.h" -static char *progname; -static char *abs_srcdir; static virCapsPtr caps; #define MAX_FILE 4096 @@ -77,21 +75,9 @@ static int testCompareHelper(const void *data) { static int -mymain(int argc, char **argv) +mymain(void) { int ret = 0; - char cwd[PATH_MAX]; - - progname = argv[0]; - - abs_srcdir = getenv("abs_srcdir"); - if (!abs_srcdir) - abs_srcdir = getcwd(cwd, sizeof(cwd)); - - if (argc > 1) { - fprintf(stderr, "Usage: %s\n", progname); - return(EXIT_FAILURE); - } #define DO_TEST(in, out, name, version) \ do { \ diff --git a/tests/xml2vmxtest.c b/tests/xml2vmxtest.c index a5fb4f7..6a4b795 100644 --- a/tests/xml2vmxtest.c +++ b/tests/xml2vmxtest.c @@ -11,8 +11,6 @@ # include "testutils.h" # include "vmx/vmx.h" -static char *progname = NULL; -static char *abs_srcdir = NULL; static virCapsPtr caps = NULL; static virVMXContext ctx; @@ -198,28 +196,9 @@ testFormatVMXFileName(const char *src, void *opaque ATTRIBUTE_UNUSED) } static int -mymain(int argc, char **argv) +mymain(void) { int result = 0; - char cwd[PATH_MAX]; - - progname = argv[0]; - - if (argc > 1) { - fprintf(stderr, "Usage: %s\n", progname); - return EXIT_FAILURE; - } - - abs_srcdir = getenv("abs_srcdir"); - - if (abs_srcdir == NULL) { - abs_srcdir = getcwd(cwd, sizeof(cwd)); - } - - if (argc > 1) { - fprintf(stderr, "Usage: %s\n", progname); - return EXIT_FAILURE; - } # define DO_TEST(_in, _out, _version) \ do { \ -- 1.7.4.4

* bootstrap.conf (gnulib_modules): Add getcwd-lgpl. * tests/commandtest.c (checkoutput): Drop unused cwd. * tests/commandhelper.c (main): Let getcwd malloc. * tests/testutils.c (virTestMain): Likewise. * tools/virsh.c (cmdPwd): Likewise. (virshCmds): Expose cmdPwd and cmdCd on mingw. ---
Oh, and now that gnulib getcwd-lgpl exists, we could use it to fix our uses of getcwd(NULL,0), followup coming later.
bootstrap.conf | 1 + tests/commandhelper.c | 7 ++++--- tests/commandtest.c | 4 ---- tests/testutils.c | 3 +-- tools/virsh.c | 34 ++++++++-------------------------- 5 files changed, 14 insertions(+), 35 deletions(-) diff --git a/bootstrap.conf b/bootstrap.conf index 3b3a90f..fde00da 100644 --- a/bootstrap.conf +++ b/bootstrap.conf @@ -36,6 +36,7 @@ dirname-lgpl fcntl-h func getaddrinfo +getcwd-lgpl gethostname getpass gettext-h diff --git a/tests/commandhelper.c b/tests/commandhelper.c index 46c00f4..d60d505 100644 --- a/tests/commandhelper.c +++ b/tests/commandhelper.c @@ -51,6 +51,7 @@ int main(int argc, char **argv) { int i, n; char **origenv; char **newenv; + char *cwd; FILE *log = fopen(abs_builddir "/commandhelper.log", "w"); if (!log) @@ -99,13 +100,13 @@ int main(int argc, char **argv) { } fprintf(log, "DAEMON:%s\n", getpgrp() == getsid(0) ? "yes" : "no"); - char cwd[1024]; - if (!getcwd(cwd, sizeof(cwd))) + if (!(cwd = getcwd(NULL, 0))) return EXIT_FAILURE; - if (strlen(cwd) > strlen("/commanddata") && + if (strlen(cwd) > strlen(".../commanddata") && STREQ(cwd + strlen(cwd) - strlen("/commanddata"), "/commanddata")) strcpy(cwd, ".../commanddata"); fprintf(log, "CWD:%s\n", cwd); + VIR_FREE(cwd); VIR_FORCE_FCLOSE(log); diff --git a/tests/commandtest.c b/tests/commandtest.c index 509c888..fa0061c 100644 --- a/tests/commandtest.c +++ b/tests/commandtest.c @@ -49,15 +49,11 @@ mymain(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) static int checkoutput(const char *testname) { int ret = -1; - char cwd[1024]; char *expectname = NULL; char *expectlog = NULL; char *actualname = NULL; char *actuallog = NULL; - if (!getcwd(cwd, sizeof(cwd))) - return -1; - if (virAsprintf(&expectname, "%s/commanddata/%s.log", abs_srcdir, testname) < 0) goto cleanup; diff --git a/tests/testutils.c b/tests/testutils.c index 456a735..91035a2 100644 --- a/tests/testutils.c +++ b/tests/testutils.c @@ -478,7 +478,6 @@ int virtTestMain(int argc, int (*func)(void)) { int ret; - char cwd[PATH_MAX]; #if TEST_OOM int approxAlloc = 0; int n; @@ -491,7 +490,7 @@ int virtTestMain(int argc, abs_srcdir = getenv("abs_srcdir"); if (!abs_srcdir) - abs_srcdir = getcwd(cwd, sizeof(cwd)); + abs_srcdir = getcwd(NULL, 0); if (!abs_srcdir) exit(EXIT_AM_HARDFAIL); diff --git a/tools/virsh.c b/tools/virsh.c index 0212b99..506572b 100644 --- a/tools/virsh.c +++ b/tools/virsh.c @@ -9893,7 +9893,6 @@ editReadBackFile (vshControl *ctl, const char *filename) } -#ifndef WIN32 /* * "cd" command */ @@ -9936,9 +9935,6 @@ cmdCd(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) return ret; } -#endif - -#ifndef WIN32 /* * "pwd" command */ @@ -9952,30 +9948,20 @@ static bool cmdPwd(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) { char *cwd; - size_t path_max; - bool err = true; - - path_max = (size_t) PATH_MAX + 2; - cwd = vshMalloc (ctl, path_max); - while (cwd) { - err = getcwd (cwd, path_max) == NULL; - if (!err || errno != ERANGE) - break; - - path_max *= 2; - cwd = vshRealloc (ctl, cwd, path_max); - } + bool ret = true; - if (err) + cwd = getcwd(NULL, 0); + if (!cwd) { vshError(ctl, _("pwd: cannot get current directory: %s"), strerror(errno)); - else + ret = false; + } else { vshPrint (ctl, _("%s\n"), cwd); + VIR_FREE(cwd); + } - VIR_FREE(cwd); - return !err; + return ret; } -#endif /* * "echo" command @@ -10862,15 +10848,11 @@ static const vshCmdDef secretCmds[] = { }; static const vshCmdDef virshCmds[] = { -#ifndef WIN32 {"cd", cmdCd, opts_cd, info_cd}, -#endif {"echo", cmdEcho, opts_echo, info_echo}, {"exit", cmdQuit, NULL, info_quit}, {"help", cmdHelp, opts_help, info_help}, -#ifndef WIN32 {"pwd", cmdPwd, NULL, info_pwd}, -#endif {"quit", cmdQuit, NULL, info_quit}, {NULL, NULL, NULL, NULL} }; -- 1.7.4.4

2011/4/29 Eric Blake <eblake@redhat.com>:
* bootstrap.conf (gnulib_modules): Add getcwd-lgpl. * tests/commandtest.c (checkoutput): Drop unused cwd. * tests/commandhelper.c (main): Let getcwd malloc. * tests/testutils.c (virTestMain): Likewise. * tools/virsh.c (cmdPwd): Likewise. (virshCmds): Expose cmdPwd and cmdCd on mingw. ---
Oh, and now that gnulib getcwd-lgpl exists, we could use it to fix our uses of getcwd(NULL,0), followup coming later.
bootstrap.conf | 1 + tests/commandhelper.c | 7 ++++--- tests/commandtest.c | 4 ---- tests/testutils.c | 3 +-- tools/virsh.c | 34 ++++++++-------------------------- 5 files changed, 14 insertions(+), 35 deletions(-)
diff --git a/tests/testutils.c b/tests/testutils.c index 456a735..91035a2 100644 --- a/tests/testutils.c +++ b/tests/testutils.c @@ -478,7 +478,6 @@ int virtTestMain(int argc, int (*func)(void)) { int ret; - char cwd[PATH_MAX]; #if TEST_OOM int approxAlloc = 0; int n; @@ -491,7 +490,7 @@ int virtTestMain(int argc,
abs_srcdir = getenv("abs_srcdir"); if (!abs_srcdir) - abs_srcdir = getcwd(cwd, sizeof(cwd)); + abs_srcdir = getcwd(NULL, 0); if (!abs_srcdir) exit(EXIT_AM_HARDFAIL);
Now you have created a memory leak (not a critical one, that's true), because abs_srcdir can be malloc'ed and you missed to free it. ACK, with that memory leak fixed. Matthias

On 04/29/2011 11:48 AM, Matthias Bolte wrote:
+++ b/tests/testutils.c @@ -478,7 +478,6 @@ int virtTestMain(int argc, int (*func)(void)) { int ret; - char cwd[PATH_MAX]; #if TEST_OOM int approxAlloc = 0; int n; @@ -491,7 +490,7 @@ int virtTestMain(int argc,
abs_srcdir = getenv("abs_srcdir"); if (!abs_srcdir) - abs_srcdir = getcwd(cwd, sizeof(cwd)); + abs_srcdir = getcwd(NULL, 0); if (!abs_srcdir) exit(EXIT_AM_HARDFAIL);
Now you have created a memory leak (not a critical one, that's true), because abs_srcdir can be malloc'ed and you missed to free it.
It's technically only a leak if someone overwrites abs_srcdir with different contents without freeing it first, since there is a global variable that still tracks the pointer through the point of program exit(). Valgrind reports this type of open-ended allocation as "still reachable", rather than "definitely lost". But, to make valgrind even quieter, yes, I can fix things up to free the memory if it was not read from getenv and before returning from virtTestMain.
ACK, with that memory leak fixed.
Pushed with this addition: diff --git i/tests/testutils.c w/tests/testutils.c index 91035a2..ae73530 100644 --- i/tests/testutils.c +++ w/tests/testutils.c @@ -478,6 +478,7 @@ int virtTestMain(int argc, int (*func)(void)) { int ret; + bool abs_srcdir_cleanup = falseb; #if TEST_OOM int approxAlloc = 0; int n; @@ -489,8 +490,10 @@ int virtTestMain(int argc, #endif abs_srcdir = getenv("abs_srcdir"); - if (!abs_srcdir) + if (!abs_srcdir) { abs_srcdir = getcwd(NULL, 0); + abs_srcdir_cleanup = true; + } if (!abs_srcdir) exit(EXIT_AM_HARDFAIL); @@ -623,6 +626,8 @@ cleanup: ret = (func)(); #endif + if (abs_srcdir_cleanup) + VIR_FREE(abs_srcdir); virResetLastError(); if (!virTestGetVerbose()) { int i; -- Eric Blake eblake@redhat.com +1-801-349-2682 Libvirt virtualization library http://libvirt.org

2011/4/29 Eric Blake <eblake@redhat.com>:
On 04/29/2011 11:48 AM, Matthias Bolte wrote:
+++ b/tests/testutils.c @@ -478,7 +478,6 @@ int virtTestMain(int argc, int (*func)(void)) { int ret; - char cwd[PATH_MAX]; #if TEST_OOM int approxAlloc = 0; int n; @@ -491,7 +490,7 @@ int virtTestMain(int argc,
abs_srcdir = getenv("abs_srcdir"); if (!abs_srcdir) - abs_srcdir = getcwd(cwd, sizeof(cwd)); + abs_srcdir = getcwd(NULL, 0); if (!abs_srcdir) exit(EXIT_AM_HARDFAIL);
Now you have created a memory leak (not a critical one, that's true), because abs_srcdir can be malloc'ed and you missed to free it.
It's technically only a leak if someone overwrites abs_srcdir with different contents without freeing it first, since there is a global variable that still tracks the pointer through the point of program exit(). Valgrind reports this type of open-ended allocation as "still reachable", rather than "definitely lost".
I know, but I like valgrind clean software :)
But, to make valgrind even quieter, yes, I can fix things up to free the memory if it was not read from getenv and before returning from virtTestMain.
Thanks.
ACK, with that memory leak fixed.
Pushed with this addition:
diff --git i/tests/testutils.c w/tests/testutils.c index 91035a2..ae73530 100644 --- i/tests/testutils.c +++ w/tests/testutils.c @@ -478,6 +478,7 @@ int virtTestMain(int argc, int (*func)(void)) { int ret; + bool abs_srcdir_cleanup = falseb;
As I saw this line, I hoped you didn't push it with that typo... and you didn't :) Now I'll go and rebase my stack usage cleanup patch. Matthias

2011/4/29 Eric Blake <eblake@redhat.com>:
A few of the tests were missing basic sanity checks, while most of them were doing copy-and-paste initialization (in fact, some of them pasted the argc > 1 check more than once!). It's much nicer to do things in one common place, and minimizes the size of the next patch that fixes getcwd usage.
* tests/testutils.h (EXIT_AM_HARDFAIL): New define. (progname, abs_srcdir): Define for all tests. (VIRT_TEST_MAIN): Change callback signature. * tests/testutils.c (virtTestMain): Do more common init. * tests/commandtest.c (mymain): Simplify. * tests/cputest.c (mymain): Likewise. * tests/esxutilstest.c (mymain): Likewise. * tests/eventtest.c (mymain): Likewise. * tests/hashtest.c (mymain): Likewise. * tests/networkxml2xmltest.c (mymain): Likewise. * tests/nodedevxml2xmltest.c (myname): Likewise. * tests/nodeinfotest.c (mymain): Likewise. * tests/nwfilterxml2xmltest.c (mymain): Likewise. * tests/qemuargv2xmltest.c (mymain): Likewise. * tests/qemuhelptest.c (mymain): Likewise. * tests/qemuxml2argvtest.c (mymain): Likewise. * tests/qemuxml2xmltest.c (mymain): Likewise. * tests/qparamtest.c (mymain): Likewise. * tests/sexpr2xmltest.c (mymain): Likewise. * tests/sockettest.c (mymain): Likewise. * tests/statstest.c (mymain): Likewise. * tests/storagepoolxml2xmltest.c (mymain): Likewise. * tests/storagevolxml2xmltest.c (mymain): Likewise. * tests/virbuftest.c (mymain): Likewise. * tests/virshtest.c (mymain): Likewise. * tests/vmx2xmltest.c (mymain): Likewise. * tests/xencapstest.c (mymain): Likewise. * tests/xmconfigtest.c (mymain): Likewise. * tests/xml2sexprtest.c (mymain): Likewise. * tests/xml2vmxtest.c (mymain): Likewise. --- tests/commandtest.c | 18 +----------------- tests/cputest.c | 18 ++---------------- tests/esxutilstest.c | 17 +---------------- tests/eventtest.c | 11 +---------- tests/hashtest.c | 3 +-- tests/interfacexml2xmltest.c | 17 +---------------- tests/networkxml2xmltest.c | 17 +---------------- tests/nodedevxml2xmltest.c | 17 +---------------- tests/nodeinfotest.c | 17 +---------------- tests/nwfilterxml2xmltest.c | 17 +---------------- tests/qemuargv2xmltest.c | 16 +--------------- tests/qemuhelptest.c | 17 +---------------- tests/qemuxml2argvtest.c | 16 +--------------- tests/qemuxml2xmltest.c | 16 +--------------- tests/qparamtest.c | 3 +-- tests/sexpr2xmltest.c | 21 +-------------------- tests/sockettest.c | 5 ++--- tests/statstest.c | 3 +-- tests/storagepoolxml2xmltest.c | 17 +---------------- tests/storagevolxml2xmltest.c | 17 +---------------- tests/testutils.c | 29 +++++++++++++++++++++++------ tests/testutils.h | 15 ++++++++++----- tests/virbuftest.c | 3 +-- tests/virshtest.c | 18 +++--------------- tests/vmx2xmltest.c | 23 +---------------------- tests/xencapstest.c | 17 +---------------- tests/xmconfigtest.c | 18 ++---------------- tests/xml2sexprtest.c | 16 +--------------- tests/xml2vmxtest.c | 23 +---------------------- 29 files changed, 65 insertions(+), 380 deletions(-)
Nice cleanup, ACK. Matthias

On 04/29/2011 11:41 AM, Matthias Bolte wrote:
2011/4/29 Eric Blake <eblake@redhat.com>:
A few of the tests were missing basic sanity checks, while most of them were doing copy-and-paste initialization (in fact, some of them pasted the argc > 1 check more than once!). It's much nicer to do things in one common place, and minimizes the size of the next patch that fixes getcwd usage.
29 files changed, 65 insertions(+), 380 deletions(-)
Nice cleanup, ACK.
Thanks; pushed. -- Eric Blake eblake@redhat.com +1-801-349-2682 Libvirt virtualization library http://libvirt.org
participants (3)
-
Daniel Veillard
-
Eric Blake
-
Matthias Bolte