mirror of
https://github.com/tahoe-lafs/tahoe-lafs.git
synced 2025-04-08 11:24:25 +00:00
Merge pull request #564 from tahoe-lafs/2988.mixin-supercalls
Fix some mixin supercalls Fixes: ticket:2988
This commit is contained in:
commit
c45b91e63c
0
newsfragments/2988.minor
Normal file
0
newsfragments/2988.minor
Normal 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):
|
||||
"""
|
||||
|
@ -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):
|
||||
|
@ -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
|
||||
|
@ -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(
|
||||
|
Loading…
x
Reference in New Issue
Block a user