[libvirt] [PATCH 0/2] Shut metadatatest up

Peter Krempa (2): test: Refactor setting of dummy error handlers tests: metadatatest: Quiesce errors on expected paths tests/esxutilstest.c | 12 +----------- tests/metadatatest.c | 2 ++ tests/reconnect.c | 6 +----- tests/sockettest.c | 9 +-------- tests/statstest.c | 9 +-------- tests/testutils.c | 13 ++++++++++--- tests/testutils.h | 2 ++ tests/utiltest.c | 12 +----------- 8 files changed, 19 insertions(+), 46 deletions(-) -- 1.8.3.2

Multiple tests need to register a function to quiesce errors from libvirt when using a connection and doing negative tests. Each of those tests had a static function to do so. This can be replaced by a utility function that enables the errors when debug is enabledd. This patch adds virtTestQuiesceLibvirtErrors() and refactors test that use private handlers. --- tests/esxutilstest.c | 12 +----------- tests/reconnect.c | 6 +----- tests/sockettest.c | 9 +-------- tests/statstest.c | 9 +-------- tests/testutils.c | 13 ++++++++++--- tests/testutils.h | 2 ++ tests/utiltest.c | 12 +----------- 7 files changed, 17 insertions(+), 46 deletions(-) diff --git a/tests/esxutilstest.c b/tests/esxutilstest.c index 221c46a..a60c7ec 100644 --- a/tests/esxutilstest.c +++ b/tests/esxutilstest.c @@ -14,16 +14,6 @@ # include "esx/esx_util.h" # include "esx/esx_vi_types.h" - -static void -testQuietError(void *userData ATTRIBUTE_UNUSED, - virErrorPtr error ATTRIBUTE_UNUSED) -{ - /* nothing */ -} - - - struct testPath { const char *datastorePath; int result; @@ -259,7 +249,7 @@ mymain(void) { int result = 0; - virSetErrorFunc(NULL, testQuietError); + virtTestQuiesceLibvirtErrors(true); # define DO_TEST(_name) \ do { \ diff --git a/tests/reconnect.c b/tests/reconnect.c index b446161..09deb5d 100644 --- a/tests/reconnect.c +++ b/tests/reconnect.c @@ -8,10 +8,6 @@ #include "testutils.h" #include "vircommand.h" -static void errorHandler(void *userData ATTRIBUTE_UNUSED, - virErrorPtr error ATTRIBUTE_UNUSED) { -} - static int mymain(void) { @@ -36,7 +32,7 @@ mymain(void) } virCommandFree(cmd); - virSetErrorFunc(NULL, errorHandler); + virtTestQuiesceLibvirtErrors(true); conn = virConnectOpen(NULL); if (conn == NULL) { diff --git a/tests/sockettest.c b/tests/sockettest.c index 092de88..6842ba4 100644 --- a/tests/sockettest.c +++ b/tests/sockettest.c @@ -30,12 +30,6 @@ #include "virlog.h" #include "viralloc.h" -static void testQuietError(void *userData ATTRIBUTE_UNUSED, - virErrorPtr error ATTRIBUTE_UNUSED) -{ - /* nada */ -} - static int testParse(virSocketAddr *addr, const char *addrstr, int family, bool pass) { int rc; @@ -188,8 +182,7 @@ mymain(void) * register a handler to stop error messages cluttering * up display */ - if (!virTestGetDebug()) - virSetErrorFunc(NULL, testQuietError); + virtTestQuiesceLibvirtErrors(false); #define DO_TEST_PARSE(addrstr, family, pass) \ do { \ diff --git a/tests/statstest.c b/tests/statstest.c index 30f9ab0..94ccd4f 100644 --- a/tests/statstest.c +++ b/tests/statstest.c @@ -11,12 +11,6 @@ #include "testutils.h" #include "vircommand.h" -static void testQuietError(void *userData ATTRIBUTE_UNUSED, - virErrorPtr error ATTRIBUTE_UNUSED) -{ - /* nada */ -} - static int testDevice(const char *path, int expect) { int actual = xenLinuxDomainDeviceID(1, path); @@ -67,8 +61,7 @@ mymain(void) * register a handler to stop error messages cluttering * up display */ - if (!virTestGetDebug()) - virSetErrorFunc(NULL, testQuietError); + virtTestQuiesceLibvirtErrors(false); #define DO_TEST(dev, num) \ do { \ diff --git a/tests/testutils.c b/tests/testutils.c index c521552..a215f3f 100644 --- a/tests/testutils.c +++ b/tests/testutils.c @@ -478,12 +478,19 @@ int virtTestDifferenceBin(FILE *stream, return 0; } -#if TEST_OOM static void virtTestErrorFuncQuiet(void *data ATTRIBUTE_UNUSED, virErrorPtr err ATTRIBUTE_UNUSED) { } -#endif + + +/* register an error handler in tests when using connections */ +void +virtTestQuiesceLibvirtErrors(bool always) +{ + if (always || !virTestGetVerbose()) + virSetErrorFunc(NULL, virtTestErrorFuncQuiet); +} struct virtTestLogData { virBuffer buf; @@ -698,7 +705,7 @@ int virtTestMain(int argc, if (testOOM) { /* Makes next test runs quiet... */ testOOM++; - virSetErrorFunc(NULL, virtTestErrorFuncQuiet); + virtTestQuiesceLibvirtErrors(true); virAllocTestInit(); diff --git a/tests/testutils.h b/tests/testutils.h index ef0ca3c..2da6424 100644 --- a/tests/testutils.h +++ b/tests/testutils.h @@ -69,6 +69,8 @@ unsigned int virTestGetExpensive(void); char *virtTestLogContentAndReset(void); +void virtTestQuiesceLibvirtErrors(bool always); + int virtTestMain(int argc, char **argv, int (*func)(void)); diff --git a/tests/utiltest.c b/tests/utiltest.c index 0cbf3f3..422f4e8 100644 --- a/tests/utiltest.c +++ b/tests/utiltest.c @@ -10,16 +10,6 @@ #include "testutils.h" #include "virutil.h" - -static void -testQuietError(void *userData ATTRIBUTE_UNUSED, - virErrorPtr error ATTRIBUTE_UNUSED) -{ - /* nothing */ -} - - - static const char* diskNames[] = { "sda", "sdb", "sdc", "sdd", "sde", "sdf", "sdg", "sdh", "sdi", "sdj", "sdk", "sdl", "sdm", "sdn", "sdo", "sdp", "sdq", "sdr", "sds", "sdt", "sdu", "sdv", "sdw", "sdx", "sdy", "sdz", "sdaa", "sdab", "sdac", "sdad", "sdae", "sdaf", "sdag", "sdah", "sdai", "sdaj", "sdak", "sdal", "sdam", "sdan", "sdao", "sdap", "sdaq", "sdar", "sdas", "sdat", "sdau", "sdav", "sdaw", "sdax", "sday", "sdaz", @@ -160,7 +150,7 @@ mymain(void) { int result = 0; - virSetErrorFunc(NULL, testQuietError); + virtTestQuiesceLibvirtErrors(true); #define DO_TEST(_name) \ do { \ -- 1.8.3.2

On 09/17/2013 07:40 AM, Peter Krempa wrote:
Multiple tests need to register a function to quiesce errors from libvirt when using a connection and doing negative tests. Each of those tests had a static function to do so. This can be replaced by a utility function that enables the errors when debug is enabledd.
s/enabledd/enabled/
This patch adds virtTestQuiesceLibvirtErrors() and refactors test that use private handlers. --- tests/esxutilstest.c | 12 +----------- tests/reconnect.c | 6 +----- tests/sockettest.c | 9 +-------- tests/statstest.c | 9 +-------- tests/testutils.c | 13 ++++++++++--- tests/testutils.h | 2 ++ tests/utiltest.c | 12 +----------- 7 files changed, 17 insertions(+), 46 deletions(-)
ACK. The 1:3 +/- ratio is a sign of a good refactoring :) -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org

Use the helper added in previous patch to quiesce errors from this test that was spamming logs on normal test runs. --- tests/metadatatest.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/metadatatest.c b/tests/metadatatest.c index 6bcf335..30c43ba 100644 --- a/tests/metadatatest.c +++ b/tests/metadatatest.c @@ -229,6 +229,8 @@ mymain(void) return EXIT_FAILURE; } + virtTestQuiesceLibvirtErrors(false); + if (virtTestRun("Assign metadata ", 1, testAssignMetadata, &test) < 0) ret = EXIT_FAILURE; if (virtTestRun("Rewrite Metadata ", 1, testRewriteMetadata, &test) < 0) -- 1.8.3.2

On 09/17/2013 07:40 AM, Peter Krempa wrote:
Use the helper added in previous patch to quiesce errors from this test that was spamming logs on normal test runs. --- tests/metadatatest.c | 2 ++ 1 file changed, 2 insertions(+)
ACK
diff --git a/tests/metadatatest.c b/tests/metadatatest.c index 6bcf335..30c43ba 100644 --- a/tests/metadatatest.c +++ b/tests/metadatatest.c @@ -229,6 +229,8 @@ mymain(void) return EXIT_FAILURE; }
+ virtTestQuiesceLibvirtErrors(false); + if (virtTestRun("Assign metadata ", 1, testAssignMetadata, &test) < 0) ret = EXIT_FAILURE; if (virtTestRun("Rewrite Metadata ", 1, testRewriteMetadata, &test) < 0)
-- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org

On 09/17/13 16:42, Eric Blake wrote:
On 09/17/2013 07:40 AM, Peter Krempa wrote:
Use the helper added in previous patch to quiesce errors from this test that was spamming logs on normal test runs. --- tests/metadatatest.c | 2 ++ 1 file changed, 2 insertions(+)
ACK
Series pushed. Thanks. Peter
participants (2)
-
Eric Blake
-
Peter Krempa