Reviewed-by: Thomas Huth <th...@redhat.com> Signed-off-by: Fabiano Rosas <faro...@suse.de> --- tests/qtest/libqtest.h | 10 ++++++++++ tests/qtest/libqtest.c | 24 ++++++++++++++++++++++++ 2 files changed, 34 insertions(+)
diff --git a/tests/qtest/libqtest.h b/tests/qtest/libqtest.h index 6e3d3525bf..5ec758242b 100644 --- a/tests/qtest/libqtest.h +++ b/tests/qtest/libqtest.h @@ -1085,4 +1085,14 @@ bool have_qemu_img(void); */ bool mkimg(const char *file, const char *fmt, unsigned size_mb); +/** + * qtest_query_version: + * @qts: QTestState instance to operate on + * @major: Pointer to where to store the major version number + * @minor: Pointer to where to store the minor version number + * @micro: Pointer to where to store the micro version number + * + */ +void qtest_query_version(QTestState *qts, int *major, int *minor, int *micro); + #endif diff --git a/tests/qtest/libqtest.c b/tests/qtest/libqtest.c index f33a210861..af779a3248 100644 --- a/tests/qtest/libqtest.c +++ b/tests/qtest/libqtest.c @@ -337,6 +337,30 @@ void qtest_remove_abrt_handler(void *data) } } +void qtest_query_version(QTestState *qts, int *major, int *minor, int *micro) +{ + QDict *rsp, *version; + + rsp = qtest_qmp_assert_success_ref(qts, "{ 'execute': 'query-version' }"); + g_assert(rsp); + + version = qdict_get_qdict(rsp, "qemu"); + + if (major) { + *major = qdict_get_int(version, "major"); + } + + if (minor) { + *minor = qdict_get_int(version, "minor"); + } + + if (micro) { + *micro = qdict_get_int(version, "micro"); + } + + qobject_unref(rsp); +} + static const char *qtest_qemu_binary(const char *var) { const char *qemu_bin; -- 2.35.3