From: Max Reitz <mreitz@redhat.com>
To: John Snow <jsnow@redhat.com>, qemu-block@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>, Thomas Huth <thuth@redhat.com>,
qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v3 6/8] iotests: Test driver whitelisting in 093
Date: Tue, 17 Sep 2019 10:29:00 +0200 [thread overview]
Message-ID: <a41365b5-91fd-02e1-e960-c083d370e3ed@redhat.com> (raw)
In-Reply-To: <c38acedf-d3db-384f-4aea-967ef3f87fdd@redhat.com>
[-- Attachment #1.1: Type: text/plain, Size: 2800 bytes --]
On 17.09.19 10:18, Max Reitz wrote:
> On 13.09.19 20:30, John Snow wrote:
>>
>>
>> On 9/13/19 8:47 AM, Max Reitz wrote:
>>> On 20.08.19 23:32, John Snow wrote:
>>>>
>>>>
>>>> On 8/19/19 4:18 PM, Max Reitz wrote:
>>>>> null-aio may not be whitelisted. Skip all test cases that require it.
>>>>>
>>>>> 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)
>>>>
>>>> Oh, I see why you're passing args[0] back to the callback now. Why not
>>>> just pass self.required_drivers and call it with no arguments instead?
>>>>
>>>> You can get a bound version that way that doesn't need additional
>>>> arguments, and then the callback is free to take generic callables of
>>>> any kind.
>>>
>>> Am I doing something wrong?
>>>
>>> I just get
>>>
>>> +Traceback (most recent call last):
>>> + File "093", line 26, in <module>
>>> + class ThrottleTestCase(iotests.QMPTestCase):
>>> + File "093", line 41, in ThrottleTestCase
>>> + @iotests.skip_if_unsupported(self.required_drivers)
>>> +NameError: name 'self' is not defined
>>>
>>> this way.
>>>
>>> Max
>>>
>> What was I even talking about? :\ Well.
>>
>> I'd still like to define func_wrapper with a nod to the type constraint
>> it has:
>>
>> def func_wrapper(instance: iotests.QMPTestCase, *args, **kwargs):
>> [...]
>>
>>
>> Then, you'd write:
>>
>> if callable(required_formats):
>> fmts = required_formats(instance)
>> else:
>> fmts = required_formats
>
> Yep, that anyway. (Although I didn’t know about the “param: type”
> syntax and put that constraint in a comment instead. Thanks again :-))
Ah, but it isn’t a constraint, but just a “type hint” and the
interpreter doesn’t enforce it. How quaint.
Well, better than a comment anyway.
Max
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
next prev parent reply other threads:[~2019-09-17 8:29 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-19 20:18 [Qemu-devel] [PATCH v3 0/8] iotests: Selfish patches Max Reitz
2019-08-19 20:18 ` [Qemu-devel] [PATCH v3 1/8] iotests: Add -display none to the qemu options Max Reitz
2019-08-20 6:36 ` Thomas Huth
2019-08-19 20:18 ` [Qemu-devel] [PATCH v3 2/8] iotests: Prefer null-co over null-aio Max Reitz
2019-08-19 20:22 ` Max Reitz
2019-08-20 21:05 ` John Snow
2019-08-20 6:38 ` Thomas Huth
2019-08-19 20:18 ` [Qemu-devel] [PATCH v3 3/8] iotests: Allow skipping test cases Max Reitz
2019-08-20 21:17 ` John Snow
2019-08-21 17:39 ` Andrey Shinkevich
2019-08-19 20:18 ` [Qemu-devel] [PATCH v3 4/8] iotests: Use case_skip() in skip_if_unsupported() Max Reitz
2019-08-20 21:27 ` John Snow
2019-08-21 10:50 ` Max Reitz
2019-08-19 20:18 ` [Qemu-devel] [PATCH v3 5/8] iotests: Let skip_if_unsupported() accept a method Max Reitz
2019-08-20 21:31 ` John Snow
2019-08-21 10:54 ` Max Reitz
2019-08-19 20:18 ` [Qemu-devel] [PATCH v3 6/8] iotests: Test driver whitelisting in 093 Max Reitz
2019-08-20 6:40 ` Thomas Huth
2019-08-20 12:23 ` Max Reitz
2019-08-20 21:32 ` John Snow
2019-08-21 10:55 ` Max Reitz
2019-09-13 12:47 ` Max Reitz
2019-09-13 18:30 ` John Snow
2019-09-17 8:18 ` Max Reitz
2019-09-17 8:29 ` Max Reitz [this message]
2019-09-17 8:32 ` Max Reitz
2019-09-17 8:40 ` Kevin Wolf
2019-09-17 11:07 ` Max Reitz
2019-09-17 11:22 ` Kevin Wolf
2019-09-17 13:09 ` John Snow
2019-09-17 13:42 ` Kevin Wolf
2019-09-17 13:44 ` John Snow
2019-09-17 14:05 ` Kevin Wolf
2019-09-17 14:12 ` Max Reitz
2019-08-19 20:18 ` [Qemu-devel] [PATCH v3 7/8] iotests: Test driver whitelisting in 136 Max Reitz
2019-08-19 20:18 ` [Qemu-devel] [PATCH v3 8/8] iotests: Cache supported_formats() Max Reitz
2019-08-20 21:10 ` John Snow
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=a41365b5-91fd-02e1-e960-c083d370e3ed@redhat.com \
--to=mreitz@redhat.com \
--cc=jsnow@redhat.com \
--cc=kwolf@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).