On 8/19/19 9:13 PM, Max Reitz wrote: > On 19.08.19 11:21, Thomas Huth wrote: >> The python code already contains a possibility to skip tests if the >> corresponding driver is not available in the qemu binary - use it >> in more spots to avoid that the tests are failing if the driver has >> been disabled. >> >> Signed-off-by: Thomas Huth >> --- >> tests/qemu-iotests/030 | 3 +++ >> tests/qemu-iotests/040 | 2 ++ >> tests/qemu-iotests/041 | 14 +++++++++++++- >> tests/qemu-iotests/245 | 2 ++ >> 4 files changed, 20 insertions(+), 1 deletion(-) > > [...] > >> diff --git a/tests/qemu-iotests/041 b/tests/qemu-iotests/041 >> index 26bf1701eb..f45d20fbe0 100755 >> --- a/tests/qemu-iotests/041 >> +++ b/tests/qemu-iotests/041 >> @@ -817,6 +817,7 @@ class TestRepairQuorum(iotests.QMPTestCase): >> image_len = 1 * 1024 * 1024 # MB >> IMAGES = [ quorum_img1, quorum_img2, quorum_img3 ] >> >> + @iotests.skip_if_unsupported(['quorum']) >> def setUp(self): >> self.vm = iotests.VM() > > It’s clear that none of these tests can run if there is no quorum > support, because setUp() creates a quorum node. I think it would be > nice if it would suffice to just skip everything automatically if > setUp() is skipped and not have to bother about each of the test cases. > > Coincidentally (:-)), I have a patch to do that, namely “iotests: Allow > skipping test cases” in my “iotests: Selfish patches” series: > > https://lists.nongnu.org/archive/html/qemu-block/2019-06/msg01106.html > > Yes, that means you cannot use an annotation because it needs @self to > be able to skip the test. Hm... But I think I can make that work by > simply s/case_notrun/args[0].case_skip/ in skip_if_unsupported()? Sure, feel free to ignore my patch here or to modify it according to your reworks. As long as we finally get the iotests into a shape where they are a little bit more flexible wrt the enabled/disabled drivers, I'm happy. Thomas