Signed-off-by: Fabiano Rosas <farosas@suse.de>
---
tests/qtest/libqtest.c | 24 ++++++++++++++++++++++++
tests/qtest/libqtest.h | 10 ++++++++++
2 files changed, 34 insertions(+)
diff --git a/tests/qtest/libqtest.c b/tests/qtest/libqtest.c
index f33a210861..7cee68a834 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 *who, int *major, int *minor, int *micro)
+{
+ QDict *rsp, *version;
+
+ rsp = qtest_qmp_assert_success_ref(who, "{ '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;
diff --git a/tests/qtest/libqtest.h b/tests/qtest/libqtest.h
index 6e3d3525bf..db7a780d26 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:
+ * @who: 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 *who, int *major, int *minor, int *micro);
+
#endif
--
2.35.3