qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
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 --]

  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).