null-aio may not be whitelisted. Skip all test cases that require it.
(And skip the whole test if null-co is not whitelisted.)
Signed-off-by: Max Reitz <mreitz@redhat.com>
---
tests/qemu-iotests/093 | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/tests/qemu-iotests/093 b/tests/qemu-iotests/093
index 50c1e7f2ec..f03fa24a07 100755
--- a/tests/qemu-iotests/093
+++ b/tests/qemu-iotests/093
@@ -24,7 +24,7 @@ import iotests
nsec_per_sec = 1000000000
class ThrottleTestCase(iotests.QMPTestCase):
- test_img = "null-aio://"
+ test_driver = "null-aio"
max_drives = 3
def blockstats(self, device):
@@ -35,10 +35,14 @@ class ThrottleTestCase(iotests.QMPTestCase):
return stat['rd_bytes'], stat['rd_operations'], stat['wr_bytes'], stat['wr_operations']
raise Exception("Device not found for blockstats: %s" % device)
+ def required_drivers(self):
+ return [self.test_driver]
+
+ @iotests.skip_if_unsupported(required_drivers)
def setUp(self):
self.vm = iotests.VM()
for i in range(0, self.max_drives):
- self.vm.add_drive(self.test_img, "file.read-zeroes=on")
+ self.vm.add_drive(self.test_driver + "://", "file.read-zeroes=on")
self.vm.launch()
def tearDown(self):
@@ -264,7 +268,7 @@ class ThrottleTestCase(iotests.QMPTestCase):
self.assertEqual(self.blockstats('drive1')[0], 4096)
class ThrottleTestCoroutine(ThrottleTestCase):
- test_img = "null-co://"
+ test_driver = "null-co"
class ThrottleTestGroupNames(iotests.QMPTestCase):
max_drives = 3
@@ -425,4 +429,6 @@ class ThrottleTestRemovableMedia(iotests.QMPTestCase):
if __name__ == '__main__':
+ if 'null-co' not in iotests.supported_formats():
+ iotests.notrun('null-co driver support missing')
iotests.main(supported_fmts=["raw"])
--
2.21.0
On 9/17/19 5:20 AM, Max Reitz wrote:
> null-aio may not be whitelisted. Skip all test cases that require it.
>
> (And skip the whole test if null-co is not whitelisted.)
>
> Signed-off-by: Max Reitz <mreitz@redhat.com>
Sorry for the goose chase on v(n-1).
I feel like maybe there's a nicer way to do this, but I can't figure out
what it is, so ... my mistake.
Reviewed-by: John Snow <jsnow@redhat.com>
> ---
> tests/qemu-iotests/093 | 12 +++++++++---
> 1 file changed, 9 insertions(+), 3 deletions(-)
>
> diff --git a/tests/qemu-iotests/093 b/tests/qemu-iotests/093
> index 50c1e7f2ec..f03fa24a07 100755
> --- a/tests/qemu-iotests/093
> +++ b/tests/qemu-iotests/093
> @@ -24,7 +24,7 @@ import iotests
> nsec_per_sec = 1000000000
>
> class ThrottleTestCase(iotests.QMPTestCase):
> - test_img = "null-aio://"
> + test_driver = "null-aio"
> max_drives = 3
>
> def blockstats(self, device):
> @@ -35,10 +35,14 @@ class ThrottleTestCase(iotests.QMPTestCase):
> return stat['rd_bytes'], stat['rd_operations'], stat['wr_bytes'], stat['wr_operations']
> raise Exception("Device not found for blockstats: %s" % device)
>
> + def required_drivers(self):
> + return [self.test_driver]
> +
> + @iotests.skip_if_unsupported(required_drivers)
> def setUp(self):
> self.vm = iotests.VM()
> for i in range(0, self.max_drives):
> - self.vm.add_drive(self.test_img, "file.read-zeroes=on")
> + self.vm.add_drive(self.test_driver + "://", "file.read-zeroes=on")
> self.vm.launch()
>
> def tearDown(self):
> @@ -264,7 +268,7 @@ class ThrottleTestCase(iotests.QMPTestCase):
> self.assertEqual(self.blockstats('drive1')[0], 4096)
>
> class ThrottleTestCoroutine(ThrottleTestCase):
> - test_img = "null-co://"
> + test_driver = "null-co"
>
> class ThrottleTestGroupNames(iotests.QMPTestCase):
> max_drives = 3
> @@ -425,4 +429,6 @@ class ThrottleTestRemovableMedia(iotests.QMPTestCase):
>
>
> if __name__ == '__main__':
> + if 'null-co' not in iotests.supported_formats():
> + iotests.notrun('null-co driver support missing')
> iotests.main(supported_fmts=["raw"])
>
--
—js
On 17/09/2019 12:20, Max Reitz wrote:
> null-aio may not be whitelisted. Skip all test cases that require it.
>
> (And skip the whole test if null-co is not whitelisted.)
This solution has been persisting since v1. Nevertheless, I am still not
clear why not to run the test if the null-aio is the only whitelisted
driver? Will the null-aio be supported in future?
Andrey
>
> Signed-off-by: Max Reitz <mreitz@redhat.com>
> ---
> tests/qemu-iotests/093 | 12 +++++++++---
> 1 file changed, 9 insertions(+), 3 deletions(-)
>
> diff --git a/tests/qemu-iotests/093 b/tests/qemu-iotests/093
> index 50c1e7f2ec..f03fa24a07 100755
> --- a/tests/qemu-iotests/093
> +++ b/tests/qemu-iotests/093
> @@ -24,7 +24,7 @@ import iotests
> nsec_per_sec = 1000000000
>
> class ThrottleTestCase(iotests.QMPTestCase):
> - test_img = "null-aio://"
> + test_driver = "null-aio"
> max_drives = 3
>
> def blockstats(self, device):
> @@ -35,10 +35,14 @@ class ThrottleTestCase(iotests.QMPTestCase):
> return stat['rd_bytes'], stat['rd_operations'], stat['wr_bytes'], stat['wr_operations']
> raise Exception("Device not found for blockstats: %s" % device)
>
> + def required_drivers(self):
> + return [self.test_driver]
> +
> + @iotests.skip_if_unsupported(required_drivers)
> def setUp(self):
> self.vm = iotests.VM()
> for i in range(0, self.max_drives):
> - self.vm.add_drive(self.test_img, "file.read-zeroes=on")
> + self.vm.add_drive(self.test_driver + "://", "file.read-zeroes=on")
> self.vm.launch()
>
> def tearDown(self):
> @@ -264,7 +268,7 @@ class ThrottleTestCase(iotests.QMPTestCase):
> self.assertEqual(self.blockstats('drive1')[0], 4096)
>
> class ThrottleTestCoroutine(ThrottleTestCase):
> - test_img = "null-co://"
> + test_driver = "null-co"
>
> class ThrottleTestGroupNames(iotests.QMPTestCase):
> max_drives = 3
> @@ -425,4 +429,6 @@ class ThrottleTestRemovableMedia(iotests.QMPTestCase):
>
>
> if __name__ == '__main__':
> + if 'null-co' not in iotests.supported_formats():
> + iotests.notrun('null-co driver support missing')
> iotests.main(supported_fmts=["raw"])
>
Reviewed-by: Andrey Shinkevich <andrey.shinkevich@virtuozzo.com>
--
With the best regards,
Andrey Shinkevich
On 17.09.19 16:25, Andrey Shinkevich wrote: > > > On 17/09/2019 12:20, Max Reitz wrote: >> null-aio may not be whitelisted. Skip all test cases that require it. >> >> (And skip the whole test if null-co is not whitelisted.) > This solution has been persisting since v1. Nevertheless, I am still not > clear why not to run the test if the null-aio is the only whitelisted > driver? Will the null-aio be supported in future? I don’t see a reason why we’d remove it. But chances are, if any of the null* drivers is whitelisted, it’ll be null-co (because we barely use the AIO block driver interface anymore). Max
On 18/09/2019 09:29, Max Reitz wrote: > On 17.09.19 16:25, Andrey Shinkevich wrote: >> >> >> On 17/09/2019 12:20, Max Reitz wrote: >>> null-aio may not be whitelisted. Skip all test cases that require it. >>> >>> (And skip the whole test if null-co is not whitelisted.) >> This solution has been persisting since v1. Nevertheless, I am still not >> clear why not to run the test if the null-aio is the only whitelisted >> driver? Will the null-aio be supported in future? > > I don’t see a reason why we’d remove it. But chances are, if any of the > null* drivers is whitelisted, it’ll be null-co (because we barely use > the AIO block driver interface anymore). > > Max > Thank you Max. Andrey -- With the best regards, Andrey Shinkevich
© 2016 - 2026 Red Hat, Inc.