[PATCH v2 0/3] qemu: don't pause VM when creating internal snapshot
by Nikolay Shirokovskiy
Diff to v1 [1]:
- fix mistake of dropping hunk that starts CPUs if snapshot was
not successful. We still need it if halt upon snapshot is requested.
The is series is mostly about the first patch. The others patch are
minor cleanups.
[1] v1 version
https://listman.redhat.com/archives/libvir-list/2022-March/229437.html
Maxim Nestratov (1):
qemu: don't pause vm when creating internal snapshot
Nikolay Shirokovskiy (2):
qemu: remove excessive check in qemuSnapshotCreateActiveInternal
qemu: remove unnecessary gotos in qemuSnapshotCreateActiveInternal
src/qemu/qemu_snapshot.c | 24 +++++++-----------------
1 file changed, 7 insertions(+), 17 deletions(-)
--
2.35.1
2 years, 8 months
[PATCH 0/3] qemu: don't pause vm when creating internal snapshot
by Nikolay Shirokovskiy
The is series is mostly about the first patch. The others patch are
minor cleanups.
Maxim Nestratov (1):
qemu: don't pause vm when creating internal snapshot
Nikolay Shirokovskiy (2):
qemu: remove excessive check in qemuSnapshotCreateActiveInternal
qemu: remove unnecessary goto in qemuSnapshotCreateActiveInternal
src/qemu/qemu_snapshot.c | 65 +++++++++++-----------------------------
1 file changed, 18 insertions(+), 47 deletions(-)
--
2.35.1
2 years, 8 months
[RFC 0/1] virxml: Accept 'default' for virTristate* properties
by Andrea Bolognani
Sending this as an RFC because it's incomplete.
After virXMLPropTristate*() had been introduced, existing code was
gradually converted to use the new helpers; however, if you look for
example at 593140dabd66 you'll see that the original implementation
considered encountering 'default' to be an error, and the change I'm
proposing would relax such a check.
So we need to go through the callers one by one, adapting them as
necessary (in this case, we would pass VIR_XML_PROP_NONZERO in
addition to existing flags) to ensure that the original semantic is
preserved.
Any better ideas?
Andrea Bolognani (1):
virxml: Accept 'default' for virTristate* properties
src/util/virxml.c | 4 ----
1 file changed, 4 deletions(-)
--
2.35.1
2 years, 8 months
[libvirt PATCH 0/3] Enable copy/paste for vnc displays
by Jonathon Jongsma
This patch series enables support for the qemu-vdagent character device which
enables copy/paste support between guest and client when using vnc graphics.
The guest must be configured with something like the following:
<channel type='qemu-vdagent'>
<source clipboard='on' mouse='on'/>
<target type='virtio' name='com.redhat.spice.0'/>
</channel>
Copy/paste sync requires a vnc client that has support for copy/paste commands.
Currently virt-viewer does not work, but the version of tigervnc provided by
fedora (executable name 'vncviewer') does work.
More details about this device on Gerd's blog:
https://www.kraxel.org/blog/2021/05/qemu-cut-paste/
OPEN QUESTIONS:
- I'm not fully convinced that the `<source>` element is the right place for
the new `clipboard` / `mouse` configuration options, but I'm not sure that
adding a new xml element to the `<channel>` is the right approach either.
Suggestions welcome.
- There may be an expectation that vnc clipboard is enabled using the
<graphics type='vnc'><clipboard copypaste='yes'/></graphics> similar to what
spice offers. In fact, it seems that this is the approach Marc-Andre took
when adding copy/paste support in his dbus display patch series. But even for
spice, this <clipboard> configuration element is not enough to enable the
copy/paste feature. It also requires a 'spicevmc' character device to be
added to the domain.
Jonathon Jongsma (3):
qemu: add capability for qemu-vdagent chardev
conf: add qemu-vdagent channel
qemu: add support for qemu-vdagent channel
docs/formatdomain.rst | 17 ++++++
src/conf/domain_conf.c | 49 ++++++++++++++++-
src/conf/domain_conf.h | 7 +++
src/conf/domain_validate.c | 1 +
src/conf/schemas/domaincommon.rng | 11 ++++
src/qemu/qemu_capabilities.c | 2 +
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_command.c | 13 +++++
src/qemu/qemu_monitor_json.c | 10 ++++
src/qemu/qemu_process.c | 1 +
src/qemu/qemu_validate.c | 1 +
src/security/security_dac.c | 2 +
.../caps_6.1.0.x86_64.xml | 1 +
.../caps_6.2.0.aarch64.xml | 1 +
.../caps_6.2.0.x86_64.xml | 1 +
.../caps_7.0.0.x86_64.xml | 1 +
.../channel-qemu-vdagent.x86_64-latest.args | 41 ++++++++++++++
.../qemuxml2argvdata/channel-qemu-vdagent.xml | 34 ++++++++++++
tests/qemuxml2argvtest.c | 1 +
.../channel-qemu-vdagent.x86_64-latest.xml | 55 +++++++++++++++++++
tests/qemuxml2xmltest.c | 1 +
tests/testutilsqemu.c | 1 +
22 files changed, 250 insertions(+), 2 deletions(-)
create mode 100644 tests/qemuxml2argvdata/channel-qemu-vdagent.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/channel-qemu-vdagent.xml
create mode 100644 tests/qemuxml2xmloutdata/channel-qemu-vdagent.x86_64-latest.xml
--
2.35.1
2 years, 8 months
[libvirt PATCH] ci: integration: Rename all Avocado standard stream log files to *.log
by Erik Skultety
By default, stdout/stderr Avocado test log files do not have any file
extension which confuses GitLab's web UI to mangle the MIME type for
these and so the browser will never offer the option to open such file
from in a text editor rather than dowloading it.
Since GitLab sets a proper MIME for .txt and .log file extensions,
rename all Avocado log files without an extension to *.log . This pairs
nicely with the coredumpctl info file which we already name as
'coredumpctl.txt' because of this.
Signed-off-by: Erik Skultety <eskultet(a)redhat.com>
---
Here are 2 artifact web UI views on a failed job which you can try yourself in
your browser:
Before this patch:
https://gitlab.com/eskultety/libvirt/-/jobs/2232852413/artifacts/browse/l...
After this patch:
https://gitlab.com/eskultety/libvirt/-/jobs/2234111527/artifacts/browse/l...
ci/integration.yml | 3 +++
1 file changed, 3 insertions(+)
diff --git a/ci/integration.yml b/ci/integration.yml
index 519494cfd5..2808e829ef 100644
--- a/ci/integration.yml
+++ b/ci/integration.yml
@@ -36,6 +36,9 @@
- sudo coredumpctl info --no-pager > logs/coredumpctl.txt
- sudo mv /var/log/libvirt logs/libvirt
- sudo chown -R $(whoami):$(whoami) logs
+ # rename all Avocado stderr/stdout logs to *.log so that GitLab's web UI doesn't mangle the MIME type
+ - find logs/avocado/ -type f ! -name "*.log" -exec
+ sh -c 'DIR=$(dirname {}); NAME=$(basename {}); mv $DIR/$NAME{,.log}' \;
variables:
SCRATCH_DIR: "/tmp/scratch"
artifacts:
--
2.34.1
2 years, 8 months
[libvirt PATCH] keycodemapdb: Update git submodule
by Andrea Bolognani
This brings in all the fixes made since April 2020.
Signed-off-by: Andrea Bolognani <abologna(a)redhat.com>
---
src/keycodemapdb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/keycodemapdb b/src/keycodemapdb
index 27acf0ef82..57ba70da53 160000
--- a/src/keycodemapdb
+++ b/src/keycodemapdb
@@ -1 +1 @@
-Subproject commit 27acf0ef828bf719b2053ba398b195829413dbdd
+Subproject commit 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae
--
2.35.1
2 years, 8 months
[libvirt PATCH 0/2] [CI] Fix running integration pipeline in forks + collect daemon stack trace
by Erik Skultety
Even if users set the LIBVIRT_CI_INTEGRATION variable to 1 to enable the
integration test suite with their own private runner, the pipeline will be stuck
because we expect the runner to have the 'redhat-vm-host' tag. We need to define
the job tag dynamically instead, so that the users can set the variable for
their libvirt fork to match one of their runner's tags.
A recent crash in libvirt showed us that we also need to collect stack traces as
well, so this series also takes care of setting up systemd to be able to collect
them on failed jobs.
Both fixes are demoed with pipeline [1]. Note that for the pipeline I reverted
17fe6a090ba389cdd228c3e176788d9b2d45525f just to demonstrate the stack trace
collection on a crash.
[1] https://gitlab.com/eskultety/libvirt/-/pipelines/497404762
Erik Skultety (2):
ci: Define the integration job tag dynamically via a variable
ci: integration: Collect stack traces with coredumpctl
ci/integration.yml | 20 +++++++++++++++-----
1 file changed, 15 insertions(+), 5 deletions(-)
--
2.34.1
2 years, 8 months
[PATCH] gitpublish: Drop "libvirt" from prefix
by Andrea Bolognani
We're now using GitLab MRs for all subprojects, which makes
having "libvirt" in the prefix no longer necessary and a
pointless deviation from git-format-patch's default, which
some people still use.
Signed-off-by: Andrea Bolognani <abologna(a)redhat.com>
---
.gitpublish | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.gitpublish b/.gitpublish
index d37bf4174a..2c9a6e909e 100644
--- a/.gitpublish
+++ b/.gitpublish
@@ -1,4 +1,4 @@
[gitpublishprofile "default"]
base = master
to = libvir-list(a)redhat.com
-prefix = libvirt PATCH
+prefix = PATCH
--
2.35.1
2 years, 8 months
[PATCH] docs: Update obsolete reference to formatdomain.html.in
by Andrea Bolognani
Signed-off-by: Andrea Bolognani <abologna(a)redhat.com>
---
Pushed as trivial.
docs/api_extension.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/api_extension.rst b/docs/api_extension.rst
index d70c244fd4..152e64487e 100644
--- a/docs/api_extension.rst
+++ b/docs/api_extension.rst
@@ -73,7 +73,7 @@ The first task is to define the public API. If the new API involves an
XML extension, you have to enhance the RelaxNG schema and document the
new elements or attributes:
-``src/conf/schemas/domaincommon.rng docs/formatdomain.html.in``
+``src/conf/schemas/domaincommon.rng docs/formatdomain.rst``
If the API extension involves a new function, you have to add a
declaration in the public header, and arrange to export the function
--
2.35.1
2 years, 8 months
[libvirt PATCH v2] schemas: move out of docs, fix no-docs build
by Claudio Fontana
schemas are used for more than just documentation,
virsh edit fails if schemas are not available.
Therefore, fix the no-docs build by moving schemas/
to the parsing code inside src/conf/.
Signed-off-by: Claudio Fontana <cfontana(a)suse.de>
---
changes v1 -> v2:
* move to src/conf/ instead of top_srcdir (Daniel)
* meson, rename docs_schema_files to just schema_files (Daniel)
* tests/virschematest.c: adapt (Andrea)
* src/util/virxml.c: adapt (Andrea)
* src/conf/cpu_conf.c: adapt (Andrea)
* docs/api_extension.rst: adapt one additional reference
docs/api_extension.rst | 2 +-
docs/meson.build | 2 --
src/conf/cpu_conf.c | 2 +-
src/conf/meson.build | 2 ++
{docs => src/conf}/schemas/basictypes.rng | 0
{docs => src/conf}/schemas/capability.rng | 0
{docs => src/conf}/schemas/cpu.rng | 0
{docs => src/conf}/schemas/cputypes.rng | 0
{docs => src/conf}/schemas/domain.rng | 0
{docs => src/conf}/schemas/domainbackup.rng | 0
{docs => src/conf}/schemas/domaincaps.rng | 0
.../conf}/schemas/domaincheckpoint.rng | 0
{docs => src/conf}/schemas/domaincommon.rng | 0
{docs => src/conf}/schemas/domainsnapshot.rng | 0
{docs => src/conf}/schemas/interface.rng | 0
{docs => src/conf}/schemas/meson.build | 4 +--
{docs => src/conf}/schemas/network.rng | 0
{docs => src/conf}/schemas/networkcommon.rng | 0
{docs => src/conf}/schemas/networkport.rng | 0
{docs => src/conf}/schemas/nodedev.rng | 0
{docs => src/conf}/schemas/nwfilter.rng | 0
.../conf}/schemas/nwfilter_params.rng | 0
.../conf}/schemas/nwfilterbinding.rng | 0
{docs => src/conf}/schemas/secret.rng | 0
{docs => src/conf}/schemas/storagecommon.rng | 0
{docs => src/conf}/schemas/storagepool.rng | 0
.../conf}/schemas/storagepoolcaps.rng | 0
{docs => src/conf}/schemas/storagevol.rng | 0
src/util/virxml.c | 2 +-
tests/virschematest.c | 36 ++++++++++---------
30 files changed, 26 insertions(+), 24 deletions(-)
rename {docs => src/conf}/schemas/basictypes.rng (100%)
rename {docs => src/conf}/schemas/capability.rng (100%)
rename {docs => src/conf}/schemas/cpu.rng (100%)
rename {docs => src/conf}/schemas/cputypes.rng (100%)
rename {docs => src/conf}/schemas/domain.rng (100%)
rename {docs => src/conf}/schemas/domainbackup.rng (100%)
rename {docs => src/conf}/schemas/domaincaps.rng (100%)
rename {docs => src/conf}/schemas/domaincheckpoint.rng (100%)
rename {docs => src/conf}/schemas/domaincommon.rng (100%)
rename {docs => src/conf}/schemas/domainsnapshot.rng (100%)
rename {docs => src/conf}/schemas/interface.rng (100%)
rename {docs => src/conf}/schemas/meson.build (83%)
rename {docs => src/conf}/schemas/network.rng (100%)
rename {docs => src/conf}/schemas/networkcommon.rng (100%)
rename {docs => src/conf}/schemas/networkport.rng (100%)
rename {docs => src/conf}/schemas/nodedev.rng (100%)
rename {docs => src/conf}/schemas/nwfilter.rng (100%)
rename {docs => src/conf}/schemas/nwfilter_params.rng (100%)
rename {docs => src/conf}/schemas/nwfilterbinding.rng (100%)
rename {docs => src/conf}/schemas/secret.rng (100%)
rename {docs => src/conf}/schemas/storagecommon.rng (100%)
rename {docs => src/conf}/schemas/storagepool.rng (100%)
rename {docs => src/conf}/schemas/storagepoolcaps.rng (100%)
rename {docs => src/conf}/schemas/storagevol.rng (100%)
diff --git a/docs/api_extension.rst b/docs/api_extension.rst
index 16d4b0a005..d70c244fd4 100644
--- a/docs/api_extension.rst
+++ b/docs/api_extension.rst
@@ -73,7 +73,7 @@ The first task is to define the public API. If the new API involves an
XML extension, you have to enhance the RelaxNG schema and document the
new elements or attributes:
-``docs/schemas/domaincommon.rng docs/formatdomain.html.in``
+``src/conf/schemas/domaincommon.rng docs/formatdomain.html.in``
If the API extension involves a new function, you have to add a
declaration in the public header, and arrange to export the function
diff --git a/docs/meson.build b/docs/meson.build
index 868267b764..7aebe08047 100644
--- a/docs/meson.build
+++ b/docs/meson.build
@@ -334,8 +334,6 @@ subdir('js')
subdir('kbase')
subdir('logos')
subdir('manpages')
-subdir('schemas')
-
foreach file : docs_assets
# This hack enables us to view the web pages
diff --git a/src/conf/cpu_conf.c b/src/conf/cpu_conf.c
index 819efcea8c..2d447da7c3 100644
--- a/src/conf/cpu_conf.c
+++ b/src/conf/cpu_conf.c
@@ -345,7 +345,7 @@ virCPUDefParseXML(xmlXPathContextPtr ctxt,
g_autofree char *schemafile = NULL;
if (!(schemafile = virFileFindResource("cpu.rng",
- abs_top_srcdir "/docs/schemas",
+ abs_top_srcdir "/src/conf/schemas",
PKGDATADIR "/schemas")))
return -1;
diff --git a/src/conf/meson.build b/src/conf/meson.build
index bd35d87e0a..82d265e975 100644
--- a/src/conf/meson.build
+++ b/src/conf/meson.build
@@ -111,3 +111,5 @@ virt_conf_lib = static_library(
libvirt_libs += virt_conf_lib
conf_inc_dir = include_directories('.')
+
+subdir('schemas')
diff --git a/docs/schemas/basictypes.rng b/src/conf/schemas/basictypes.rng
similarity index 100%
rename from docs/schemas/basictypes.rng
rename to src/conf/schemas/basictypes.rng
diff --git a/docs/schemas/capability.rng b/src/conf/schemas/capability.rng
similarity index 100%
rename from docs/schemas/capability.rng
rename to src/conf/schemas/capability.rng
diff --git a/docs/schemas/cpu.rng b/src/conf/schemas/cpu.rng
similarity index 100%
rename from docs/schemas/cpu.rng
rename to src/conf/schemas/cpu.rng
diff --git a/docs/schemas/cputypes.rng b/src/conf/schemas/cputypes.rng
similarity index 100%
rename from docs/schemas/cputypes.rng
rename to src/conf/schemas/cputypes.rng
diff --git a/docs/schemas/domain.rng b/src/conf/schemas/domain.rng
similarity index 100%
rename from docs/schemas/domain.rng
rename to src/conf/schemas/domain.rng
diff --git a/docs/schemas/domainbackup.rng b/src/conf/schemas/domainbackup.rng
similarity index 100%
rename from docs/schemas/domainbackup.rng
rename to src/conf/schemas/domainbackup.rng
diff --git a/docs/schemas/domaincaps.rng b/src/conf/schemas/domaincaps.rng
similarity index 100%
rename from docs/schemas/domaincaps.rng
rename to src/conf/schemas/domaincaps.rng
diff --git a/docs/schemas/domaincheckpoint.rng b/src/conf/schemas/domaincheckpoint.rng
similarity index 100%
rename from docs/schemas/domaincheckpoint.rng
rename to src/conf/schemas/domaincheckpoint.rng
diff --git a/docs/schemas/domaincommon.rng b/src/conf/schemas/domaincommon.rng
similarity index 100%
rename from docs/schemas/domaincommon.rng
rename to src/conf/schemas/domaincommon.rng
diff --git a/docs/schemas/domainsnapshot.rng b/src/conf/schemas/domainsnapshot.rng
similarity index 100%
rename from docs/schemas/domainsnapshot.rng
rename to src/conf/schemas/domainsnapshot.rng
diff --git a/docs/schemas/interface.rng b/src/conf/schemas/interface.rng
similarity index 100%
rename from docs/schemas/interface.rng
rename to src/conf/schemas/interface.rng
diff --git a/docs/schemas/meson.build b/src/conf/schemas/meson.build
similarity index 83%
rename from docs/schemas/meson.build
rename to src/conf/schemas/meson.build
index bb6a48787f..700161bf75 100644
--- a/docs/schemas/meson.build
+++ b/src/conf/schemas/meson.build
@@ -1,4 +1,4 @@
-docs_schema_files = [
+schema_files = [
'basictypes.rng',
'capability.rng',
'cpu.rng',
@@ -24,4 +24,4 @@ docs_schema_files = [
'storagevol.rng',
]
-install_data(docs_schema_files, install_dir: pkgdatadir / 'schemas')
+install_data(schema_files, install_dir: pkgdatadir / 'schemas')
diff --git a/docs/schemas/network.rng b/src/conf/schemas/network.rng
similarity index 100%
rename from docs/schemas/network.rng
rename to src/conf/schemas/network.rng
diff --git a/docs/schemas/networkcommon.rng b/src/conf/schemas/networkcommon.rng
similarity index 100%
rename from docs/schemas/networkcommon.rng
rename to src/conf/schemas/networkcommon.rng
diff --git a/docs/schemas/networkport.rng b/src/conf/schemas/networkport.rng
similarity index 100%
rename from docs/schemas/networkport.rng
rename to src/conf/schemas/networkport.rng
diff --git a/docs/schemas/nodedev.rng b/src/conf/schemas/nodedev.rng
similarity index 100%
rename from docs/schemas/nodedev.rng
rename to src/conf/schemas/nodedev.rng
diff --git a/docs/schemas/nwfilter.rng b/src/conf/schemas/nwfilter.rng
similarity index 100%
rename from docs/schemas/nwfilter.rng
rename to src/conf/schemas/nwfilter.rng
diff --git a/docs/schemas/nwfilter_params.rng b/src/conf/schemas/nwfilter_params.rng
similarity index 100%
rename from docs/schemas/nwfilter_params.rng
rename to src/conf/schemas/nwfilter_params.rng
diff --git a/docs/schemas/nwfilterbinding.rng b/src/conf/schemas/nwfilterbinding.rng
similarity index 100%
rename from docs/schemas/nwfilterbinding.rng
rename to src/conf/schemas/nwfilterbinding.rng
diff --git a/docs/schemas/secret.rng b/src/conf/schemas/secret.rng
similarity index 100%
rename from docs/schemas/secret.rng
rename to src/conf/schemas/secret.rng
diff --git a/docs/schemas/storagecommon.rng b/src/conf/schemas/storagecommon.rng
similarity index 100%
rename from docs/schemas/storagecommon.rng
rename to src/conf/schemas/storagecommon.rng
diff --git a/docs/schemas/storagepool.rng b/src/conf/schemas/storagepool.rng
similarity index 100%
rename from docs/schemas/storagepool.rng
rename to src/conf/schemas/storagepool.rng
diff --git a/docs/schemas/storagepoolcaps.rng b/src/conf/schemas/storagepoolcaps.rng
similarity index 100%
rename from docs/schemas/storagepoolcaps.rng
rename to src/conf/schemas/storagepoolcaps.rng
diff --git a/docs/schemas/storagevol.rng b/src/conf/schemas/storagevol.rng
similarity index 100%
rename from docs/schemas/storagevol.rng
rename to src/conf/schemas/storagevol.rng
diff --git a/src/util/virxml.c b/src/util/virxml.c
index 268aad1d20..8ff59e7cda 100644
--- a/src/util/virxml.c
+++ b/src/util/virxml.c
@@ -1099,7 +1099,7 @@ virXMLParseHelper(int domcode,
if (validate && schemafile != NULL) {
g_autofree char *schema = virFileFindResource(schemafile,
- abs_top_srcdir "/docs/schemas",
+ abs_top_srcdir "/src/conf/schemas",
PKGDATADIR "/schemas");
if (!schema ||
(virXMLValidateAgainstSchema(schema, xml) < 0))
diff --git a/tests/virschematest.c b/tests/virschematest.c
index 4e657159e1..29a5546418 100644
--- a/tests/virschematest.c
+++ b/tests/virschematest.c
@@ -336,27 +336,29 @@ mymain(void)
{
int ret = 0;
+#define SCHEMAS_PATH "src/conf/schemas/"
+
#define DO_TEST(sch, ent) \
if (testSchemaEntries((sch), (ent), G_N_ELEMENTS(ent)) < 0) \
ret = -1;
- DO_TEST("docs/schemas/capability.rng", schemaCapability);
- DO_TEST("docs/schemas/domain.rng", schemaDomain);
- DO_TEST("docs/schemas/domaincaps.rng", schemaDomainCaps);
- DO_TEST("docs/schemas/domainbackup.rng", schemaDomainBackup);
- DO_TEST("docs/schemas/domaincheckpoint.rng", schemaDomainCheckpoint);
- DO_TEST("docs/schemas/domainsnapshot.rng", schemaDomainSnapshot);
- DO_TEST("docs/schemas/interface.rng", schemaInterface);
- DO_TEST("docs/schemas/network.rng", schemaNetwork);
- DO_TEST("docs/schemas/networkport.rng", schemaNetworkport);
- DO_TEST("docs/schemas/nodedev.rng", schemaNodedev);
- DO_TEST("docs/schemas/nwfilter.rng", schemaNwfilter);
- DO_TEST("docs/schemas/nwfilterbinding.rng", schemaNwfilterbinding);
- DO_TEST("docs/schemas/secret.rng", schemaSecret);
- DO_TEST("docs/schemas/storagepoolcaps.rng", schemaStoragepoolcaps);
- DO_TEST("docs/schemas/storagepool.rng", schemaStoragePool);
- DO_TEST("docs/schemas/storagevol.rng", schemaStorageVol);
- DO_TEST("docs/schemas/cpu.rng", schemaCpu);
+ DO_TEST(SCHEMAS_PATH "capability.rng", schemaCapability);
+ DO_TEST(SCHEMAS_PATH "domain.rng", schemaDomain);
+ DO_TEST(SCHEMAS_PATH "domaincaps.rng", schemaDomainCaps);
+ DO_TEST(SCHEMAS_PATH "domainbackup.rng", schemaDomainBackup);
+ DO_TEST(SCHEMAS_PATH "domaincheckpoint.rng", schemaDomainCheckpoint);
+ DO_TEST(SCHEMAS_PATH "domainsnapshot.rng", schemaDomainSnapshot);
+ DO_TEST(SCHEMAS_PATH "interface.rng", schemaInterface);
+ DO_TEST(SCHEMAS_PATH "network.rng", schemaNetwork);
+ DO_TEST(SCHEMAS_PATH "networkport.rng", schemaNetworkport);
+ DO_TEST(SCHEMAS_PATH "nodedev.rng", schemaNodedev);
+ DO_TEST(SCHEMAS_PATH "nwfilter.rng", schemaNwfilter);
+ DO_TEST(SCHEMAS_PATH "nwfilterbinding.rng", schemaNwfilterbinding);
+ DO_TEST(SCHEMAS_PATH "secret.rng", schemaSecret);
+ DO_TEST(SCHEMAS_PATH "storagepoolcaps.rng", schemaStoragepoolcaps);
+ DO_TEST(SCHEMAS_PATH "storagepool.rng", schemaStoragePool);
+ DO_TEST(SCHEMAS_PATH "storagevol.rng", schemaStorageVol);
+ DO_TEST(SCHEMAS_PATH "cpu.rng", schemaCpu);
return ret == 0 ? EXIT_SUCCESS : EXIT_FAILURE;
}
--
2.35.1
2 years, 8 months