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:32:01 +0200 [thread overview]
Message-ID: <25565ba3-9709-0879-59b3-5eabdbef9a39@redhat.com> (raw)
In-Reply-To: <a41365b5-91fd-02e1-e960-c083d370e3ed@redhat.com>
[-- Attachment #1.1: Type: text/plain, Size: 3016 bytes --]
On 17.09.19 10:29, Max Reitz wrote:
> 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.
Oh, and they were introduced only in 3.5. Maybe that’s a tad too new.
> Well, better than a comment anyway.
So maybe not.
Max
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
next prev parent reply other threads:[~2019-09-17 8:33 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
2019-09-17 8:32 ` Max Reitz [this message]
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=25565ba3-9709-0879-59b3-5eabdbef9a39@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).