qemu/tests
Stefan Hajnoczi cef60c925c qtest: make QEMU our direct child process
qtest_init() cannot use exec*p() to launch QEMU since the exec*p()
functions take an argument array while qtest_init() takes char
*extra_args.  Therefore we execute /bin/sh -c <command-line> and let the
shell parse the argument string.

This left /bin/sh as our child process and our child's child was QEMU.
We still want QEMU's pid so the -pidfile option was used to let QEMU
report its pid.

The pidfile needs to be unlinked when the test case exits or fails.  In
other words, the pidfile creates a new problem for us!

Simplify all this using the shell 'exec' command.  It allows us to
replace the /bin/sh process with QEMU.  Then we no longer need to use
-pidfile because we already know our fork child's pid.

Note: Yes, it seems silly to exec /bin/sh when we could just exec QEMU
directly.  But remember qtest_init() takes a single char *extra_args
command-line fragment instead of a real argv[] array, so we need
/bin/sh's argument parsing behavior.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
2014-02-19 15:44:34 +01:00
..
acpi-test-data acpi-test: update expected AML since recent changes 2014-01-26 13:11:45 +02:00
libqos libqos: Generalize I/O-mapped fw_cfg 2013-07-18 13:27:47 -05:00
multiboot tests: Multiboot mmap test case 2013-10-28 17:34:42 +01:00
qapi-schema OptsVisitor: introduce unit tests, with test cases for range flattening 2013-08-20 11:52:00 -04:00
qemu-iotests qemu-iotests: Don't run 005 on vmdk split formats 2014-02-14 18:05:39 +01:00
tcg tests: lm32: new rule for single test cases 2014-02-04 19:34:29 +01:00
.gitignore tests/.gitignore: Ignore tests/check-qom-interface 2014-02-01 13:56:31 +04:00
acpi-test.c acpi unit-test: do not fail on asl mismatch 2014-01-26 13:06:49 +02:00
blockdev-test.c blockdev-test: add test case for drive_add duplicate IDs 2013-11-07 13:58:58 +01:00
boot-order-test.c qtest: Use -display none by default 2013-11-19 10:28:14 +01:00
check-block.sh Add 'make check-block' 2012-03-12 15:14:07 +01:00
check-qdict.c tests: Add test for qdict_flatten() 2014-01-22 12:07:18 +01:00
check-qfloat.c qapi: move include files to include/qobject/ 2012-12-19 08:31:31 +01:00
check-qint.c qapi: move include files to include/qobject/ 2012-12-19 08:31:31 +01:00
check-qjson.c qjson: to_json() case QTYPE_QSTRING is buggy, rewrite 2013-04-13 19:40:25 +00:00
check-qlist.c qapi: move include files to include/qobject/ 2012-12-19 08:31:31 +01:00
check-qom-interface.c tests: Test QOM interface casting 2013-12-24 17:27:17 +01:00
check-qstring.c qapi: move include files to include/qobject/ 2012-12-19 08:31:31 +01:00
endianness-test.c qtest: Use -display none by default 2013-11-19 10:28:14 +01:00
fdc-test.c qtest: Fix the bug about disable vnc causes "make check" fail 2014-01-22 12:07:16 +01:00
fw_cfg-test.c qtest: Use -display none by default 2013-11-19 10:28:14 +01:00
hd-geo-test.c qtest: Use -display none by default 2013-11-19 10:28:14 +01:00
i440fx-test.c misc: Fix case Qemu -> QEMU 2014-02-15 16:10:25 +04:00
ide-test.c qtest: Fix the bug about disable vnc causes "make check" fail 2014-01-22 12:07:16 +01:00
libqtest.c qtest: make QEMU our direct child process 2014-02-19 15:44:34 +01:00
libqtest.h libqtest: add qmp(fmt, ...) -> QDict* function 2013-11-07 13:58:53 +01:00
m48t59-test.c qtest: Use -display none by default 2013-11-19 10:28:14 +01:00
Makefile hw/pci: switch to a generic hotplug handling for PCIDevice 2014-02-10 10:27:00 +02:00
qdev-monitor-test.c virtio-blk: Convert to QOM realize 2013-12-09 21:46:49 +01:00
qemu-iotests-quick.sh make check: Add qemu-iotests subset 2012-03-12 15:14:07 +01:00
qom-test.c hw/arm: add cubieboard support 2013-12-17 20:12:51 +00:00
rtc-test.c qtest: Use -display none by default 2013-11-19 10:28:14 +01:00
test-aio.c aio: make aio_poll(ctx, true) block with no fds 2013-12-06 16:53:51 +01:00
test-bitops.c tests: fix 64-bit int literals for 32-bit hosts 2013-11-05 19:59:43 -08:00
test-coroutine.c Test coroutine execution order 2013-11-28 10:30:52 +01:00
test-cutils.c cutils: unsigned int parsing functions 2013-02-04 14:38:33 -06:00
test-hbitmap.c hbitmap: add assertion on hbitmap_iter_init 2013-01-25 18:18:35 +01:00
test-int128.c int128: optimize and add test cases 2013-07-02 08:17:01 +02:00
test-iov.c test-iov: add iov_discard_front/back() testcases 2013-01-02 15:58:09 +01:00
test-mul64.c tests: Add unit tests for mulu64 and muls64 2013-02-17 14:28:58 +00:00
test-opts-visitor.c tests: fix 64-bit int literals for 32-bit hosts 2013-11-05 19:59:43 -08:00
test-qdev-global-props.c qdev: Set globals in instance_post_init function 2013-08-16 18:44:33 +02:00
test-qmp-commands.c misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
test-qmp-input-strict.c qapi: move include files to include/qobject/ 2012-12-19 08:31:31 +01:00
test-qmp-input-visitor.c tests: fix memleak in error path test for input visitor 2013-11-05 19:58:38 -08:00
test-qmp-output-visitor.c misc: Use g_assert_not_reached for code which is expected to be unreachable 2013-07-27 11:22:54 +04:00
test-string-input-visitor.c tests/test-string-input-visitor: Handle errors provoked by fuzz test 2013-02-07 13:22:50 -02:00
test-string-output-visitor.c qapi: move include files to include/qobject/ 2012-12-19 08:31:31 +01:00
test-thread-pool.c aio / timers: Add QEMUTimerListGroup to AioContext 2013-08-22 19:10:27 +02:00
test-throttle.c misc: New spelling fixes in comments 2013-10-26 13:01:57 +04:00
test-visitor-serialization.c misc: Use g_assert_not_reached for code which is expected to be unreachable 2013-07-27 11:22:54 +04:00
test-vmstate.c tests: Some unit tests for vmstate.c 2014-01-13 14:04:53 +01:00
test-x86-cpuid.c target-i386: Topology & APIC ID utility functions 2013-01-27 14:34:27 +01:00
test-xbzrle.c Add XBZRLE testing 2013-02-01 08:32:20 +01:00
tmp105-test.c qtest: Use -display none by default 2013-11-19 10:28:14 +01:00