ToDo/QMPTesting: Difference between revisions
(Created page with '= QMP Testing TODO = This page describes the work to be done on improving QMP test coverage and quality. We have the following tools/framework available: * QEMU's unit-tests * …') |
|||
Line 26: | Line 26: | ||
== kvm-autotest == | == kvm-autotest == | ||
kvm-autotest is going to be used to do all client-side QMP testing. | |||
This work can be split in three parts: | |||
# Testing that the basic protocol works as specified. That is, ensuring that the greeting message, success responses and error messages contain the basic information the spec says they do. More importantly, several errors conditions at the protocol level should be tested | |||
# Test that each available command behaves as specified by its *own* specification. This is a big effort, as each command should have its own test suite | |||
# Asynchronous messages testing. Like command testing, each asynchronous message should be tested separately | |||
== libvirt-TCK == | == libvirt-TCK == |
Revision as of 21:49, 11 October 2010
QMP Testing TODO
This page describes the work to be done on improving QMP test coverage and quality. We have the following tools/framework available:
- QEMU's unit-tests
- kvm-autotest
- libvirt-TCK
unit-tests
C level testing, used to check QEMU's internal APIs.
Currently we have a good coverage of QObjects types (QInt, QString, etc) and the JSON parser. We need to test as much Monitor code as possible, however there are two difficulties associated with this:
- Monitor code is not modular and has not been designed with unit-tests in mind
- It's unlikely that it will be possible to test handlers code this way, as most of them depends on other subsystems
Item 1 will be solved when the current monitor redesign work is finished.
TODO:
- Fix problems in current unit-tests (try compiling and running them to see what happens)
- Introduce a unit-test tree structure in QEMU
- Add a 'make test' target, which runs *all* QEMU's unit-tests
- Add unit-tests for new monitor code
kvm-autotest
kvm-autotest is going to be used to do all client-side QMP testing.
This work can be split in three parts:
- Testing that the basic protocol works as specified. That is, ensuring that the greeting message, success responses and error messages contain the basic information the spec says they do. More importantly, several errors conditions at the protocol level should be tested
- Test that each available command behaves as specified by its *own* specification. This is a big effort, as each command should have its own test suite
- Asynchronous messages testing. Like command testing, each asynchronous message should be tested separately