testCompareXMLToArgvValidateSchemaCommand: Add validation for '-device'

Now that we use JSON with -device we can validate it at least partially
(since the schema for 'device_add' is for now incomplete) against the
QMP schema.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
Peter Krempa 2021-10-15 12:21:06 +02:00
parent c9b13e0557
commit 6f34a991c7

View File

@ -490,13 +490,15 @@ testCompareXMLToArgvCreateArgs(virQEMUDriver *drv,
struct testValidateSchemaCommandData {
const char *name;
const char *schema;
bool allowIncomplete; /* relax validator for commands with incomplete schema */
};
static const struct testValidateSchemaCommandData commands[] = {
{ "-blockdev", "blockdev-add" },
{ "-netdev", "netdev_add" },
{ "-object", "object-add" },
{ "-blockdev", "blockdev-add", false },
{ "-netdev", "netdev_add", false },
{ "-object", "object-add", false },
{ "-device", "device_add", true },
};
static int
@ -535,7 +537,9 @@ testCompareXMLToArgvValidateSchemaCommand(GStrv args,
return -1;
if (testQEMUSchemaValidateCommand(command->schema, jsonargs,
schema, false, false, false, &debug) < 0) {
schema, false, false,
command->allowIncomplete,
&debug) < 0) {
VIR_TEST_VERBOSE("failed to validate '%s %s' against QAPI schema: %s",
command->name, curargs, virBufferCurrentContent(&debug));
return -1;