All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrey Shinkevich <andrey.shinkevich@virtuozzo.com>
To: Thomas Huth <thuth@redhat.com>,
	"qemu-block@nongnu.org" <qemu-block@nongnu.org>
Cc: Kevin Wolf <kwolf@redhat.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	Max Reitz <mreitz@redhat.com>
Subject: Re: [Qemu-devel] [PATCH] iotests: Add more "skip_if_unsupported" statements to the python tests
Date: Wed, 21 Aug 2019 17:19:15 +0000	[thread overview]
Message-ID: <c8dff55a-3bd6-71a7-12bb-5a2ce981031c@virtuozzo.com> (raw)
In-Reply-To: <20190819092118.18920-1-thuth@redhat.com>



On 19/08/2019 12: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 <thuth@redhat.com>
> ---
>   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/030 b/tests/qemu-iotests/030
> index 1b69f318c6..18ad24ccdf 100755
> --- a/tests/qemu-iotests/030
> +++ b/tests/qemu-iotests/030
> @@ -530,6 +530,7 @@ class TestQuorum(iotests.QMPTestCase):
>       children = []
>       backing = []
>   
> +    @iotests.skip_if_unsupported(['quorum'])
>       def setUp(self):

Based on the Max's series "iotests: Selfish patches",
this '+' suffice for the whole methods of the class.
So, I can confirm after testing it.

>           opts = ['driver=quorum', 'vote-threshold=2']
>   
> @@ -552,6 +553,7 @@ class TestQuorum(iotests.QMPTestCase):
>           self.vm.add_drive(path = None, opts = ','.join(opts))
>           self.vm.launch()
>   
> +    @iotests.skip_if_unsupported(['quorum'])
>       def tearDown(self):
>           self.vm.shutdown()
>           for img in self.children:
> @@ -559,6 +561,7 @@ class TestQuorum(iotests.QMPTestCase):
>           for img in self.backing:
>               os.remove(img)
>   
> +    @iotests.skip_if_unsupported(['quorum'])
>       def test_stream_quorum(self):
>           if not iotests.supports_quorum():
>               return
> diff --git a/tests/qemu-iotests/040 b/tests/qemu-iotests/040
> index aa0b1847e3..0ec4fb71a9 100755
> --- a/tests/qemu-iotests/040
> +++ b/tests/qemu-iotests/040
> @@ -110,6 +110,7 @@ class TestSingleDrive(ImageCommitTestCase):
>           self.assertEqual(-1, qemu_io('-f', 'raw', '-c', 'read -P 0xab 0 524288', backing_img).find("verification failed"))
>           self.assertEqual(-1, qemu_io('-f', 'raw', '-c', 'read -P 0xef 524288 524288', backing_img).find("verification failed"))
>   
> +    @iotests.skip_if_unsupported(['throttle'])
>       def test_commit_with_filter_and_quit(self):
>           result = self.vm.qmp('object-add', qom_type='throttle-group', id='tg')
>           self.assert_qmp(result, 'return', {})
> @@ -129,6 +130,7 @@ class TestSingleDrive(ImageCommitTestCase):
>           self.has_quit = True
>   
>       # Same as above, but this time we add the filter after starting the job
> +    @iotests.skip_if_unsupported(['throttle'])
>       def test_commit_plus_filter_and_quit(self):
>           result = self.vm.qmp('object-add', qom_type='throttle-group', id='tg')
>           self.assert_qmp(result, 'return', {})
> 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):

Also here, as Max wrote. So, this series can be simplified and go after 
the "iotests: Selfish patches".

Andrey

>           self.vm = iotests.VM()
>   
> @@ -841,7 +842,7 @@ class TestRepairQuorum(iotests.QMPTestCase):
>               result = self.vm.qmp("blockdev-add", **args)
>               self.assert_qmp(result, 'return', {})
>   
> -
> +    @iotests.skip_if_unsupported(['quorum'])
>       def tearDown(self):
>           self.vm.shutdown()
>           for i in self.IMAGES + [ quorum_repair_img, quorum_snapshot_file ]:
> @@ -851,6 +852,7 @@ class TestRepairQuorum(iotests.QMPTestCase):
>               except OSError:
>                   pass
>   
> +    @iotests.skip_if_unsupported(['quorum'])
>       def test_complete(self):
>           if not iotests.supports_quorum():
>               return
> @@ -870,6 +872,7 @@ class TestRepairQuorum(iotests.QMPTestCase):
>           self.assertTrue(iotests.compare_images(quorum_img2, quorum_repair_img),
>                           'target image does not match source after mirroring')
>   
> +    @iotests.skip_if_unsupported(['quorum'])
>       def test_cancel(self):
>           if not iotests.supports_quorum():
>               return
> @@ -887,6 +890,7 @@ class TestRepairQuorum(iotests.QMPTestCase):
>           self.assert_has_block_node(None, quorum_img3)
>           self.vm.shutdown()
>   
> +    @iotests.skip_if_unsupported(['quorum'])
>       def test_cancel_after_ready(self):
>           if not iotests.supports_quorum():
>               return
> @@ -906,6 +910,7 @@ class TestRepairQuorum(iotests.QMPTestCase):
>           self.assertTrue(iotests.compare_images(quorum_img2, quorum_repair_img),
>                           'target image does not match source after mirroring')
>   
> +    @iotests.skip_if_unsupported(['quorum'])
>       def test_pause(self):
>           if not iotests.supports_quorum():
>               return
> @@ -934,6 +939,7 @@ class TestRepairQuorum(iotests.QMPTestCase):
>           self.assertTrue(iotests.compare_images(quorum_img2, quorum_repair_img),
>                           'target image does not match source after mirroring')
>   
> +    @iotests.skip_if_unsupported(['quorum'])
>       def test_medium_not_found(self):
>           if not iotests.supports_quorum():
>               return
> @@ -948,6 +954,7 @@ class TestRepairQuorum(iotests.QMPTestCase):
>                                target=quorum_repair_img, format=iotests.imgfmt)
>           self.assert_qmp(result, 'error/class', 'GenericError')
>   
> +    @iotests.skip_if_unsupported(['quorum'])
>       def test_image_not_found(self):
>           if not iotests.supports_quorum():
>               return
> @@ -958,6 +965,7 @@ class TestRepairQuorum(iotests.QMPTestCase):
>                                format=iotests.imgfmt)
>           self.assert_qmp(result, 'error/class', 'GenericError')
>   
> +    @iotests.skip_if_unsupported(['quorum'])
>       def test_device_not_found(self):
>           if not iotests.supports_quorum():
>               return
> @@ -969,6 +977,7 @@ class TestRepairQuorum(iotests.QMPTestCase):
>                                target=quorum_repair_img, format=iotests.imgfmt)
>           self.assert_qmp(result, 'error/class', 'GenericError')
>   
> +    @iotests.skip_if_unsupported(['quorum'])
>       def test_wrong_sync_mode(self):
>           if not iotests.supports_quorum():
>               return
> @@ -979,6 +988,7 @@ class TestRepairQuorum(iotests.QMPTestCase):
>                                target=quorum_repair_img, format=iotests.imgfmt)
>           self.assert_qmp(result, 'error/class', 'GenericError')
>   
> +    @iotests.skip_if_unsupported(['quorum'])
>       def test_no_node_name(self):
>           if not iotests.supports_quorum():
>               return
> @@ -988,6 +998,7 @@ class TestRepairQuorum(iotests.QMPTestCase):
>                                target=quorum_repair_img, format=iotests.imgfmt)
>           self.assert_qmp(result, 'error/class', 'GenericError')
>   
> +    @iotests.skip_if_unsupported(['quorum'])
>       def test_nonexistent_replaces(self):
>           if not iotests.supports_quorum():
>               return
> @@ -997,6 +1008,7 @@ class TestRepairQuorum(iotests.QMPTestCase):
>                                target=quorum_repair_img, format=iotests.imgfmt)
>           self.assert_qmp(result, 'error/class', 'GenericError')
>   
> +    @iotests.skip_if_unsupported(['quorum'])
>       def test_after_a_quorum_snapshot(self):
>           if not iotests.supports_quorum():
>               return
> diff --git a/tests/qemu-iotests/245 b/tests/qemu-iotests/245
> index bc1ceb9792..1bdc659ecd 100644
> --- a/tests/qemu-iotests/245
> +++ b/tests/qemu-iotests/245
> @@ -478,6 +478,7 @@ class TestBlockdevReopen(iotests.QMPTestCase):
>       # This test verifies that we can't change the children of a block
>       # device during a reopen operation in a way that would create
>       # cycles in the node graph
> +    @iotests.skip_if_unsupported(['blkverify'])
>       def test_graph_cycles(self):
>           opts = []
>   
> @@ -534,6 +535,7 @@ class TestBlockdevReopen(iotests.QMPTestCase):
>           self.assert_qmp(result, 'return', {})
>   
>       # Misc reopen tests with different block drivers
> +    @iotests.skip_if_unsupported(['quorum'])
>       def test_misc_drivers(self):
>           ####################
>           ###### quorum ######
> 

-- 
With the best regards,
Andrey Shinkevich

      parent reply	other threads:[~2019-08-21 17:20 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-19  9:21 [Qemu-devel] [PATCH] iotests: Add more "skip_if_unsupported" statements to the python tests Thomas Huth
2019-08-19 19:13 ` Max Reitz
2019-08-19 20:22   ` Max Reitz
2019-08-20  7:14   ` Thomas Huth
2019-08-20 12:24     ` Max Reitz
2019-08-21 17:19 ` Andrey Shinkevich [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=c8dff55a-3bd6-71a7-12bb-5a2ce981031c@virtuozzo.com \
    --to=andrey.shinkevich@virtuozzo.com \
    --cc=kwolf@redhat.com \
    --cc=mreitz@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=thuth@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.