qemu使用glib的test框架对io, cpu等进行单元测试。测试用例放在tests目录下。 测试的项目包括: qobject模型测试用例;qemu的基本函数实现;主机实现的函数等; qapi相关的测试用例; qmp测试用例; 架构有关的测试用例;外设测试用例等等。
以arm为例测试用例的使用方法:
1.编译qemu
./configure --target-list=arm-softmmu && make
2. 运行测试用例:
make check
执行结果(qemu 1.5.0):
alloc@alloc-Rev-1-0:~/qemu$ make check
CHK version_gen.h
GTESTER tests/check-qdict
GTESTER tests/check-qfloat
GTESTER tests/check-qint
GTESTER tests/check-qstring
GTESTER tests/check-qlist
GTESTER tests/check-qjson
GTESTER tests/test-qmp-output-visitor
GTESTER tests/test-qmp-input-visitor
GTESTER tests/test-qmp-input-strict
GTESTER tests/test-qmp-commands
GTESTER tests/test-string-input-visitor
GTESTER tests/test-string-output-visitor
GTESTER tests/test-coroutine
GTESTER tests/test-visitor-serialization
GTESTER tests/test-iov
GTESTER tests/test-aio
GTESTER tests/test-thread-pool
GTESTER tests/test-hbitmap
GTESTER tests/test-x86-cpuid
GTESTER tests/test-xbzrle
GTESTER tests/test-cutils
GTESTER tests/test-mul64GTESTER check-qtest-arm