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