X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/503c686bc80825d00980a970af69ec60f9e6ce9b..1e3f8ceebd90058e902494fae84b1fd57ac6693b:/services/fuse/tests/mount_test_base.py diff --git a/services/fuse/tests/mount_test_base.py b/services/fuse/tests/mount_test_base.py index 20192f9d84..d476fc771b 100644 --- a/services/fuse/tests/mount_test_base.py +++ b/services/fuse/tests/mount_test_base.py @@ -1,3 +1,7 @@ +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: AGPL-3.0 + import arvados import arvados_fuse as fuse import arvados.safeapi @@ -17,6 +21,8 @@ import unittest logger = logging.getLogger('arvados.arv-mount') +from .integration_test import workerPool + class MountTestBase(unittest.TestCase): def setUp(self, api=None, local_store=True): # The underlying C implementation of open() makes a fstat() syscall @@ -26,8 +32,8 @@ class MountTestBase(unittest.TestCase): # deadlocks. The workaround is to run some of our test code in a # separate process. Forturnately the multiprocessing module makes this # relatively easy. - self.pool = multiprocessing.Pool(1) + self.pool = workerPool() if local_store: self.keeptmp = tempfile.mkdtemp() os.environ['KEEP_LOCAL_STORE'] = self.keeptmp @@ -66,6 +72,8 @@ class MountTestBase(unittest.TestCase): def tearDown(self): if self.llfuse_thread: + if self.operations.events: + self.operations.events.close(timeout=10) subprocess.call(["fusermount", "-u", "-z", self.mounttmp]) t0 = time.time() self.llfuse_thread.join(timeout=10) @@ -83,8 +91,6 @@ class MountTestBase(unittest.TestCase): shutil.rmtree(self.keeptmp) os.environ.pop('KEEP_LOCAL_STORE') run_test_server.reset() - self.pool.close() - self.pool.join() def assertDirContents(self, subdir, expect_content): path = self.mounttmp