summary refs log tree commit diff stats
path: root/include/qemu
diff options
context:
space:
mode:
authorEmanuele Giuseppe Esposito <e.emanuelegiuseppe@gmail.com>2018-06-13 17:07:21 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2019-03-07 17:28:24 +0100
commitfc281c802022cb3a73a53386d761daa32dce5cf9 (patch)
tree1a3ee082e892ccca06dc2528fe68940d2eadb863 /include/qemu
parenteb5937bad691ed18a401079a0604aa11fea0ecdd (diff)
downloadfocaccia-qemu-fc281c802022cb3a73a53386d761daa32dce5cf9.tar.gz
focaccia-qemu-fc281c802022cb3a73a53386d761daa32dce5cf9.zip
tests: qgraph API for the qtest driver framework
Add qgraph API that allows to add/remove nodes and edges from the graph,
implementation of Depth First Search to discover the paths and basic unit
test to check correctness of the API.
Included also a main executable that takes care of starting the framework,
create the nodes, set the available drivers/machines, discover the path and
run tests.

graph.h provides the public API to manage the graph nodes/edges
graph_extra.h provides a more private API used successively by the gtest integration part
qos-test.c provides the main executable

Signed-off-by: Emanuele Giuseppe Esposito <e.emanuelegiuseppe@gmail.com>
[Paolo's changes compared to the Google Summer of Code submission:
 * added subprocess to test options
 * refactored object creation to support live migration tests
 * removed driver .before callback (unused)
 * removed test .after callbacks (replaced by GTest destruction queue)]
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'include/qemu')
-rw-r--r--include/qemu/module.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/qemu/module.h b/include/qemu/module.h
index 55dd2beea8..db3065381d 100644
--- a/include/qemu/module.h
+++ b/include/qemu/module.h
@@ -45,6 +45,7 @@ typedef enum {
     MODULE_INIT_QOM,
     MODULE_INIT_TRACE,
     MODULE_INIT_XEN_BACKEND,
+    MODULE_INIT_LIBQOS,
     MODULE_INIT_MAX
 } module_init_type;
 
@@ -54,6 +55,7 @@ typedef enum {
 #define trace_init(function) module_init(function, MODULE_INIT_TRACE)
 #define xen_backend_init(function) module_init(function, \
                                                MODULE_INIT_XEN_BACKEND)
+#define libqos_init(function) module_init(function, MODULE_INIT_LIBQOS)
 
 #define block_module_load_one(lib) module_load_one("block-", lib)
 #define ui_module_load_one(lib) module_load_one("ui-", lib)