Merge pull request #564 from tahoe-lafs/2988.mixin-supercalls

Fix some mixin supercalls

Fixes: ticket:2988
This commit is contained in:
Jean-Paul Calderone 2019-03-08 07:47:36 -05:00 committed by GitHub
commit c45b91e63c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 22 additions and 17 deletions

0
newsfragments/2988.minor Normal file
View File

View File

@ -120,7 +120,7 @@ class NonASCIIPathMixin:
return unicode_name
class SignalMixin:
class SignalMixin(object):
# This class is necessary for any code which wants to use Processes
# outside the usual reactor.run() environment. It is copied from
# Twisted's twisted.test.test_process . Note that Twisted-8.2.0 uses
@ -134,10 +134,12 @@ class SignalMixin:
if hasattr(reactor, "_handleSigchld") and hasattr(signal, "SIGCHLD"):
self.sigchldHandler = signal.signal(signal.SIGCHLD,
reactor._handleSigchld)
return super(SignalMixin, self).setUp()
def tearDown(self):
if self.sigchldHandler:
signal.signal(signal.SIGCHLD, self.sigchldHandler)
return super(SignalMixin, self).tearDown()
class StallMixin:
def stall(self, res=None, delay=1):
@ -175,7 +177,6 @@ class TestMixin(SignalMixin):
to without access to real randomness and real time.time from the
code under test
"""
SignalMixin.setUp(self)
self.repeatable = repeatable
if self.repeatable:
import repeatable_random
@ -184,13 +185,14 @@ class TestMixin(SignalMixin):
self.teststarttime = time.realtime()
else:
self.teststarttime = time.time()
return super(TestMixin, self).setUp()
def tearDown(self):
SignalMixin.tearDown(self)
if self.repeatable:
import repeatable_random
repeatable_random.restore_non_repeatability()
self.clean_pending(required_to_quiesce=True)
return super(TestMixin, self).tearDown()
def clean_pending(self, dummy=None, required_to_quiesce=True):
"""

View File

@ -394,13 +394,17 @@ class NoNetworkGrid(service.MultiService):
fileutil.rm_dir(os.path.join(server.sharedir, prefixdir))
class GridTestMixin:
class GridTestMixin(object):
def setUp(self):
self.s = service.MultiService()
self.s.startService()
return super(GridTestMixin, self).setUp()
def tearDown(self):
return self.s.stopService()
return defer.gatherResults([
self.s.stopService(),
defer.maybeDeferred(super(GridTestMixin, self).tearDown),
])
def set_up_grid(self, num_clients=1, num_servers=10,
client_config_hooks={}, oneshare=False):

View File

@ -130,13 +130,15 @@ class Node(testutil.SignalMixin, testutil.ReallyEqualMixin, unittest.TestCase):
self.failUnlessReallyEqual(w.staticdir, expected)
class ServiceMixin:
class ServiceMixin(object):
def setUp(self):
self.parent = LoggingMultiService()
self.parent.startService()
return super(ServiceMixin, self).setUp()
def tearDown(self):
log.msg("TestIntroducer.tearDown")
d = defer.succeed(None)
d = defer.maybeDeferred(super(ServiceMixin, self).tearDown)
d.addCallback(lambda res: self.parent.stopService())
d.addCallback(flushEventualQueue)
return d

View File

@ -67,7 +67,8 @@ class NewConfigUtilTests(TestCase):
def setUp(self):
# some tests look at the umask of created directories or files
# so we set an explicit one
self._old_umask = os.umask(0o022)
old_umask = os.umask(0o022)
self.addCleanup(lambda: os.umask(old_umask))
self.basedir = abspath_expanduser_unicode(unicode(self.mktemp()))
os.mkdir(self.basedir)
self.local_dir = abspath_expanduser_unicode(unicode(self.mktemp()))
@ -96,9 +97,7 @@ class NewConfigUtilTests(TestCase):
)
# ..and the yaml
self.write_magic_folder_config(self.basedir, self.folders)
def tearDown(self):
os.umask(self._old_umask)
return super(NewConfigUtilTests, self).setUp()
def write_tahoe_config(self, basedir, tahoe_config):
with open(join(basedir, u"tahoe.cfg"), "w") as f:
@ -303,6 +302,7 @@ class LegacyConfigUtilTests(TestCase):
f.write("{}\n".format(self.magic_folder_dircap))
with open(join(privdir, "magicfolderdb.sqlite"), "w") as f:
pass
return super(LegacyConfigUtilTests, self).setUp()
def test_load_legacy_no_dir(self):
expected = self.local_dir + 'foo'
@ -418,16 +418,13 @@ class MagicFolderDbTests(TestCase):
def setUp(self):
self.temp = abspath_expanduser_unicode(unicode(self.mktemp()))
os.mkdir(self.temp)
self.addCleanup(lambda: shutil.rmtree(self.temp))
dbfile = abspath_expanduser_unicode(u"testdb.sqlite", base=self.temp)
self.db = magicfolderdb.get_magicfolderdb(dbfile, create_version=(magicfolderdb.SCHEMA_v1, 1))
self.addCleanup(lambda: self.db.close())
self.failUnless(self.db, "unable to create magicfolderdb from %r" % (dbfile,))
self.failUnlessEqual(self.db.VERSION, 1)
def tearDown(self):
if hasattr(self, 'db'):
self.db.close()
shutil.rmtree(self.temp)
return super(MagicFolderDbTests, self).tearDown()
return super(MagicFolderDbTests, self).setUp()
def test_create(self):
self.db.did_upload_version(