From: Eduardo Habkost <ehabkost@redhat.com>
To: Max Reitz <mreitz@redhat.com>
Cc: qemu-block@nongnu.org, qemu-devel@nongnu.org,
Kevin Wolf <kwolf@redhat.com>, Cleber Rosa <crosa@redhat.com>
Subject: Re: [Qemu-devel] [PATCH 7/9] iotests: 'new' module replacement in 169
Date: Mon, 15 Oct 2018 18:13:37 -0300 [thread overview]
Message-ID: <20181015211337.GF31060@habkost.net> (raw)
In-Reply-To: <20181015141453.32632-8-mreitz@redhat.com>
On Mon, Oct 15, 2018 at 04:14:51PM +0200, Max Reitz wrote:
> iotest 169 uses the 'new' module to add methods to a class. This module
> no longer exists in Python 3. Instead, we can use a lambda. Best of
> all, this works in 2.7 just as well.
>
> Signed-off-by: Max Reitz <mreitz@redhat.com>
> ---
> tests/qemu-iotests/169 | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/tests/qemu-iotests/169 b/tests/qemu-iotests/169
> index f243db9955..e5614b159d 100755
> --- a/tests/qemu-iotests/169
> +++ b/tests/qemu-iotests/169
> @@ -23,7 +23,6 @@ import iotests
> import time
> import itertools
> import operator
> -import new
> from iotests import qemu_img
>
>
> @@ -144,7 +143,7 @@ class TestDirtyBitmapMigration(iotests.QMPTestCase):
>
> def inject_test_case(klass, name, method, *args, **kwargs):
> mc = operator.methodcaller(method, *args, **kwargs)
> - setattr(klass, 'test_' + name, new.instancemethod(mc, None, klass))
> + setattr(klass, 'test_' + name, lambda self: mc(self))
The "lambda self: mc(self)" expression looks weird and
unnecessary at first look, but I have just confirmed that this
doesn't work:
setattr(klass, 'test_' + name, mc)
Probably because the methodcaller object won't automatically
become a instance method after the TestCase class is
instantiated.
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
>
> for cmb in list(itertools.product((True, False), repeat=4)):
> name = ('_' if cmb[0] else '_not_') + 'persistent_'
> --
> 2.17.1
>
--
Eduardo
next prev parent reply other threads:[~2018-10-15 21:13 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-15 14:14 [Qemu-devel] [PATCH 0/9] iotests: Make them work for both Python 2 and 3 Max Reitz
2018-10-15 14:14 ` [Qemu-devel] [PATCH 1/9] iotests: Make nbd-fault-injector flush Max Reitz
2018-10-15 19:42 ` Eduardo Habkost
2018-10-15 20:24 ` Cleber Rosa
2018-10-16 18:07 ` Eric Blake
2018-10-19 9:48 ` Max Reitz
2018-10-19 14:21 ` Eric Blake
2018-10-15 14:14 ` [Qemu-devel] [PATCH 2/9] iotests: Flush in iotests.py's QemuIoInteractive Max Reitz
2018-10-15 19:43 ` Eduardo Habkost
2018-10-15 20:49 ` Cleber Rosa
2018-10-15 14:14 ` [Qemu-devel] [PATCH 3/9] iotests: Use Python byte strings where appropriate Max Reitz
2018-10-15 19:53 ` Eduardo Habkost
2018-10-19 8:46 ` Max Reitz
2018-10-15 22:08 ` Philippe Mathieu-Daudé
2018-10-15 14:14 ` [Qemu-devel] [PATCH 4/9] iotests: Use // for Python integer division Max Reitz
2018-10-15 19:54 ` Eduardo Habkost
2018-10-15 21:13 ` Cleber Rosa
2018-10-19 9:06 ` Max Reitz
2018-10-15 14:14 ` [Qemu-devel] [PATCH 5/9] iotests: Different iterator behavior in Python 3 Max Reitz
2018-10-15 20:07 ` Eduardo Habkost
2018-10-19 8:52 ` Max Reitz
2018-10-15 22:39 ` Cleber Rosa
2018-10-19 9:42 ` Max Reitz
2018-10-15 14:14 ` [Qemu-devel] [PATCH 6/9] iotests: Explicitly inherit FDs in Python Max Reitz
2018-10-15 20:30 ` Eduardo Habkost
2018-10-19 9:03 ` Max Reitz
2018-10-15 23:18 ` Cleber Rosa
2018-10-19 9:43 ` Max Reitz
2018-10-15 14:14 ` [Qemu-devel] [PATCH 7/9] iotests: 'new' module replacement in 169 Max Reitz
2018-10-15 21:13 ` Eduardo Habkost [this message]
2018-10-15 23:38 ` Cleber Rosa
2018-10-15 23:57 ` Eduardo Habkost
2018-10-16 1:01 ` Cleber Rosa
2018-10-19 9:46 ` Max Reitz
2018-10-19 14:18 ` Eduardo Habkost
2018-10-15 14:14 ` [Qemu-devel] [PATCH 8/9] iotests: Modify imports for Python 3 Max Reitz
2018-10-15 18:59 ` Cleber Rosa
2018-10-15 20:15 ` Eduardo Habkost
2018-10-19 8:44 ` Max Reitz
2018-10-15 21:17 ` Eduardo Habkost
2018-10-16 0:05 ` Cleber Rosa
2018-10-16 0:12 ` Eduardo Habkost
2018-10-19 9:25 ` Max Reitz
2018-10-15 14:14 ` [Qemu-devel] [PATCH 9/9] iotests: Unify log outputs between Python 2 and 3 Max Reitz
2018-10-15 22:26 ` Eduardo Habkost
2018-10-19 9:33 ` Max Reitz
2018-10-15 22:19 ` [Qemu-devel] [PATCH 0/9] iotests: Make them work for both " Philippe Mathieu-Daudé
2018-10-19 9:08 ` Max Reitz
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=20181015211337.GF31060@habkost.net \
--to=ehabkost@redhat.com \
--cc=crosa@redhat.com \
--cc=kwolf@redhat.com \
--cc=mreitz@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
/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.