libvirt/tests/testutilsqemuschema.h
Peter Krempa 63a25dd821 testutilsqemuschema: Add template checker for schema entries
We'll need to match that a certain part of the qemu schema hasn't grown
new properties unexpectedly. Add a helper which matches an 'object' QMP
schema entry against a template and reports errors if expected types
don't match or new entries are added.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
2020-08-24 13:02:35 +02:00

53 lines
1.6 KiB
C

/*
* testutilsqemuschema.h: helper functions for QEMU QAPI schema testing
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "virhash.h"
#include "virjson.h"
#include "virbuffer.h"
int
testQEMUSchemaValidate(virJSONValuePtr obj,
virJSONValuePtr root,
virHashTablePtr schema,
bool allowDeprecated,
virBufferPtr debug);
int
testQEMUSchemaValidateCommand(const char *command,
virJSONValuePtr arguments,
virHashTablePtr schema,
bool allowDeprecated,
bool allowRemoved,
virBufferPtr debug);
int
testQEMUSchemaEntryMatchTemplate(virJSONValuePtr schemaentry,
...);
virJSONValuePtr
testQEMUSchemaGetLatest(const char* arch);
virHashTablePtr
testQEMUSchemaLoadLatest(const char *arch);
virHashTablePtr
testQEMUSchemaLoad(const char *filename);