tests: qgraph API for the qtest driver framework
commitfc281c802022cb3a73a53386d761daa32dce5cf9
authorEmanuele Giuseppe Esposito <e.emanuelegiuseppe@gmail.com>
Wed, 13 Jun 2018 15:07:21 +0000 (13 17:07 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 7 Mar 2019 16:28:24 +0000 (7 17:28 +0100)
tree1a3ee082e892ccca06dc2528fe68940d2eadb863
parenteb5937bad691ed18a401079a0604aa11fea0ecdd
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>
configure
include/qemu/module.h
tests/Makefile.include
tests/libqos/qgraph.c [new file with mode: 0644]
tests/libqos/qgraph.h [new file with mode: 0644]
tests/libqos/qgraph_internal.h [new file with mode: 0644]
tests/libqtest.h
tests/qos-test.c [new file with mode: 0644]
tests/test-qgraph.c [new file with mode: 0644]