Philippe Mathieu-Daudé <phi...@redhat.com> writes: > On 4/29/21 7:43 AM, Markus Armbruster wrote: >> Philippe Mathieu-Daudé <phi...@redhat.com> writes: >> >>> Now than we can probe if the TCG accelerator is available >>> at runtime with a QMP command, do it once at the beginning >>> and only register the tests we can run. >>> We can then replace the #ifdef'ry by a runtime check. >>> >>> Suggested-by: Paolo Bonzini <pbonz...@redhat.com> >>> Signed-off-by: Philippe Mathieu-Daudé <phi...@redhat.com> >> >> Please read the last remark first. The other ones are detail; feel free >> to skip them until we're done with the last one. >> >>> --- >>> tests/qtest/qmp-cmd-test.c | 18 ++++++++++++++---- >>> 1 file changed, 14 insertions(+), 4 deletions(-) > >>> + tcg_accel_available = qtest_has_accel("tcg"); >>> + >> >> When does tcg_accel_available differ from defined(CONFIG_TCG)? > > qtest_has_accel("tcg") is a runtime check, while defined(CONFIG_TCG) > is build-time.
Let me rephrase my question: under what conditions can the values of qtest_has_accel("tcg") and defined(CONFIG_TCG) differ? > Having tests doing runtime checking allow to: > > - have easier reviews, having less #ifdef'ry > - build them once for all targets > - build them once for all ./configure options > (thinking about CI, the a single job could build the tests, then > we run them using the QEMU binaries from other jobs) > - use the same binaries to test the built binary and the distribution > installed one > - remove the dependencies between tests and binaries > >> >>> g_test_init(&argc, &argv, NULL); >>> >>> qmp_schema_init(&schema); >>