On Thu, Sep 03, 2015 at 03:49:47PM +0300, Pavel Fedin wrote:
Use the new API in order to correctly add capability sets to the
cache
before parsing XML files
Signed-off-by: Pavel Fedin <p.fedin(a)samsung.com>
---
tests/qemuagenttest.c | 18 +++++++++++++-----
tests/qemuargv2xmltest.c | 19 +++++++++----------
tests/qemuhotplugtest.c | 32 +++++++++++++++++---------------
tests/qemuxml2argvtest.c | 17 ++++++++---------
tests/qemuxml2xmltest.c | 16 +++++++++++-----
tests/qemuxmlnstest.c | 17 +++++++++--------
6 files changed, 67 insertions(+), 52 deletions(-)
mode change 100644 => 100755 tests/qemuagenttest.c
mode change 100644 => 100755 tests/qemuargv2xmltest.c
mode change 100644 => 100755 tests/qemuhotplugtest.c
mode change 100644 => 100755 tests/qemuxml2argvtest.c
mode change 100644 => 100755 tests/qemuxml2xmltest.c
mode change 100644 => 100755 tests/qemuxmlnstest.c
Looks good to me, but domainsnapshotxml2xmltest crashes with this series
applied.
diff --git a/tests/qemuargv2xmltest.c b/tests/qemuargv2xmltest.c
old mode 100644
new mode 100755
index ea85913..bc20431
--- a/tests/qemuargv2xmltest.c
+++ b/tests/qemuargv2xmltest.c
@@ -145,15 +145,15 @@ mymain(void)
{
int ret = 0;
- driver.config = virQEMUDriverConfigNew(false);
- if (driver.config == NULL)
+ if (qemuTestDriverInit(&driver) < 0)
return EXIT_FAILURE;
- if ((driver.caps = testQemuCapsInit()) == NULL)
- return EXIT_FAILURE;
-
- if (!(driver.xmlopt = virQEMUDriverCreateXMLConf(&driver)))
- return EXIT_FAILURE;
qemuTestDriverInit could be introduced in a separate patch before
qemuTestCapsCacheInsert, only moving the existing initializations from
all the separate tests. This patch would then focus only on adding the
cache-related code.
+ /* We use a single empty capability set for all tests here */
+ qemuTestCapsName = "empty";
+ ret = qemuTestCapsCacheInsert(driver.qemuCapsCache, "empty",
+ NULL);
Can this be done in qemuTestDriverInit instead? It seems most of the
test need the cache to be initialized, but only a few need to create
their custom capabilities.
+ if (ret < 0)
+ goto cleanup;
# define DO_TEST_FULL(name, flags) \
do { \
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
old mode 100644
new mode 100755
index d4432df..1fc767e
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -423,6 +423,12 @@ testCompareXMLToArgvHelper(const void *data)
if (virQEMUCapsGet(info->extraFlags, QEMU_CAPS_ENABLE_FIPS))
flags |= FLAG_FIPS;
+ qemuTestCapsName = info->name;
+ result = qemuTestCapsCacheInsert(driver.qemuCapsCache, info->name,
+ info->extraFlags);
+ if (result < 0)
+ goto cleanup;
+
This cache is tied to the test name, so it will only be used once.
We should probably remove it afterwards, there's no need to keep >500
entries in a hash table of size 10.
result = testCompareXMLToArgvFiles(xml, args,
info->extraFlags,
info->migrateFrom, info->migrateFd,
flags);
Jan