This is a rebase of qtest. I split the gtester infrastructure into its own patch, and reorganized the tests by moving everything into tests/.
Also, libqtest now has bindings for the clock management commands, and I am using them in rtc-test. Finally, the accept is moved from qemu to libqtest; tests need not sleep anymore until QEMU connects. This is on top of Luiz's recent pull request. Anthony Liguori (4): qtest: add test framework qtest: add C version of test infrastructure rtc: split out macros into a header file and use in test case qtest: add rtc-test test-case Paolo Bonzini (3): test makefile overhaul qtest: IRQ interception infrastructure qtest: add clock management Makefile.objs | 2 + cpu-exec.c | 1 + cpus.c | 82 ++++- cpus.h | 2 + hw/irq.c | 17 + hw/irq.h | 5 + hw/mc146818rtc.c | 33 -- hw/mc146818rtc.h | 3 +- hw/mc146818rtc_regs.h | 62 +++ hw/pc_piix.c | 5 +- osdep.h | 2 + qemu-common.h | 1 - qemu-options.hx | 8 + qemu-timer.c | 2 +- qemu-timer.h | 1 + qtest.c | 443 ++++++++++++++++++++ qtest.h | 35 ++ rules.mak | 2 +- scripts/gtester-cat | 26 ++ scripts/qtest | 5 + tests/Makefile | 165 ++++++-- check-qdict.c => tests/check-qdict.c | 0 check-qfloat.c => tests/check-qfloat.c | 0 check-qint.c => tests/check-qint.c | 0 check-qjson.c => tests/check-qjson.c | 0 check-qlist.c => tests/check-qlist.c | 0 check-qstring.c => tests/check-qstring.c | 0 tests/libqtest.c | 385 +++++++++++++++++ tests/libqtest.h | 333 +++++++++++++++ tests/rtc-test.c | 263 ++++++++++++ test-coroutine.c => tests/test-coroutine.c | 0 test-qmp-commands.c => tests/test-qmp-commands.c | 0 .../test-qmp-input-strict.c | 0 .../test-qmp-input-visitor.c | 0 .../test-qmp-output-visitor.c | 0 .../test-string-input-visitor.c | 0 .../test-string-output-visitor.c | 0 vl.c | 10 +- 38 files changed, 1806 insertions(+), 87 deletions(-) create mode 100644 hw/mc146818rtc_regs.h create mode 100644 qtest.c create mode 100644 qtest.h create mode 100755 scripts/gtester-cat create mode 100755 scripts/qtest rename check-qdict.c => tests/check-qdict.c (100%) rename check-qfloat.c => tests/check-qfloat.c (100%) rename check-qint.c => tests/check-qint.c (100%) rename check-qjson.c => tests/check-qjson.c (100%) rename check-qlist.c => tests/check-qlist.c (100%) rename check-qstring.c => tests/check-qstring.c (100%) create mode 100644 tests/libqtest.c create mode 100644 tests/libqtest.h create mode 100644 tests/rtc-test.c rename test-coroutine.c => tests/test-coroutine.c (100%) rename test-qmp-commands.c => tests/test-qmp-commands.c (100%) rename test-qmp-input-strict.c => tests/test-qmp-input-strict.c (100%) rename test-qmp-input-visitor.c => tests/test-qmp-input-visitor.c (100%) rename test-qmp-output-visitor.c => tests/test-qmp-output-visitor.c (100%) rename test-string-input-visitor.c => tests/test-string-input-visitor.c (100%) rename test-string-output-visitor.c => tests/test-string-output-visitor.c (100%) -- 1.7.9.1