[libvirt] [PATCH 2/3] Use mockup cache
Ján Tomko
jtomko at redhat.com
Wed Sep 9 12:38:22 UTC 2015
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 at 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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20150909/69d6f434/attachment-0001.sig>
More information about the libvir-list
mailing list