iotests: 'new' module replacement in 169

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>
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
Reviewed-by: Cleber Rosa <crosa@redhat.com>
Message-Id: <20181022135307.14398-8-mreitz@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
This commit is contained in:
Max Reitz 2018-10-22 14:53:05 +01:00 committed by Eduardo Habkost
parent bf43b29df4
commit c1a65cba9c

View File

@ -23,7 +23,6 @@ import iotests
import time
import itertools
import operator
import new
import re
from iotests import qemu_img
@ -204,7 +203,7 @@ class TestDirtyBitmapMigration(iotests.QMPTestCase):
def inject_test_case(klass, name, method, *args, **kwargs):
mc = operator.methodcaller(method, *args, **kwargs)
setattr(klass, 'test_' + method + name, new.instancemethod(mc, None, klass))
setattr(klass, 'test_' + method + name, lambda self: mc(self))
for cmb in list(itertools.product((True, False), repeat=4)):
name = ('_' if cmb[0] else '_not_') + 'persistent_'