diff --git a/electrum/tests/__init__.py b/electrum/tests/__init__.py index 899a08c8e..d081731ba 100644 --- a/electrum/tests/__init__.py +++ b/electrum/tests/__init__.py @@ -19,25 +19,14 @@ FAST_TESTS = False electrum.logging._configure_stderr_logging() -# some unit tests are modifying globals... -class SequentialTestCase(unittest.TestCase): - - test_lock = threading.Lock() - - def setUp(self): - super().setUp() - self.test_lock.acquire() - - def tearDown(self): - super().tearDown() - self.test_lock.release() - - -class ElectrumTestCase(SequentialTestCase): +class ElectrumTestCase(unittest.TestCase): """Base class for our unit tests.""" TESTNET = False - # maxDiff = None + # maxDiff = None # for debugging + + # some unit tests are modifying globals... so we run sequentially: + _test_lock = threading.Lock() @classmethod def setUpClass(cls): @@ -52,6 +41,7 @@ class ElectrumTestCase(SequentialTestCase): constants.set_mainnet() def setUp(self): + self._test_lock.acquire() super().setUp() self.asyncio_loop, self._stop_loop, self._loop_thread = util.create_and_start_event_loop() self.electrum_path = tempfile.mkdtemp() @@ -59,8 +49,9 @@ class ElectrumTestCase(SequentialTestCase): def tearDown(self): self.asyncio_loop.call_soon_threadsafe(self._stop_loop.set_result, 1) self._loop_thread.join(timeout=1) - super().tearDown() shutil.rmtree(self.electrum_path) + super().tearDown() + self._test_lock.release() def as_testnet(func):