On 03/05/2023 11.12, Alex Bennée wrote:
We can't assume the machine exists and should gracefully skip the test
if we haven't built the model. This is ostensibly fixed by
db2237c459 (tests/qtest: Restrict bcm2835-dma-test to CONFIG_RASPI)
but I still hit it during my tests.
The problem is likely that you build aarch64-softmmu with the minimal
config, but still keep arm-softmmu around with the full config? Then
CONFIG_RASPI will still be set at the meson.build level since it is taken
from config-all-devices.mak here.
Signed-off-by: Alex Bennée <alex.ben...@linaro.org>
---
tests/qtest/bcm2835-dma-test.c | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/tests/qtest/bcm2835-dma-test.c b/tests/qtest/bcm2835-dma-test.c
index 8293d822b9..2e6245e9e2 100644
--- a/tests/qtest/bcm2835-dma-test.c
+++ b/tests/qtest/bcm2835-dma-test.c
@@ -107,12 +107,11 @@ static void bcm2835_dma_test_interrupts(void)
int main(int argc, char **argv)
{
- int ret;
g_test_init(&argc, &argv, NULL);
- qtest_add_func("/bcm2835/dma/test_interrupts",
+ if (qtest_has_machine("raspi3b")) {
+ qtest_add_func("/bcm2835/dma/test_interrupts",
bcm2835_dma_test_interrupts);
- qtest_start("-machine raspi3b");
- ret = g_test_run();
- qtest_end();
Where did the qtest_end() go?
It's maybe cleaner if you move the qtest_start() and qtest_end() calls into
the bcm2835_dma_test_interrupts() function instead.
Thomas
- return ret;
+ qtest_start("-machine raspi3b");
+ }
+ return g_test_run();
}