Testing is very important in software development, it allows developers to find bugs and evaluate software quality. For instance, regression testing helps programmers to control the stability of the software when new features or changes are made. QEMU currently features hard-coded tests for every machine configuration, since each has only a limited set of drivers available to test, making it not very flexible to changes and future additions.
The purpose of this project is to implement a framework that uses libqos to automatically start QEMU with the right options to provide the driver requested by the unit test. The framework will essentially produce a graph of “consumes-produces” relationships between the various drivers, interfaces and unit tests, in order to understand what options to give to QEMU.