From 07cd679b6526fcc9f2d3295f10751906e91872c9 Mon Sep 17 00:00:00 2001 From: Tom Clegg Date: Thu, 20 Jul 2017 08:29:34 -0400 Subject: [PATCH] 10805: Skip llfuse.close() to avoid llfuse deadlocks in test suite. See https://bitbucket.org/nikratio/python-llfuse/issues/108 Arvados-DCO-1.1-Signed-off-by: Tom Clegg --- services/fuse/tests/integration_test.py | 5 +++++ services/fuse/tests/mount_test_base.py | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/services/fuse/tests/integration_test.py b/services/fuse/tests/integration_test.py index 6a0c5de899..ba9cd88eb7 100644 --- a/services/fuse/tests/integration_test.py +++ b/services/fuse/tests/integration_test.py @@ -8,6 +8,7 @@ import arvados_fuse.command import atexit import functools import inspect +import llfuse import logging import multiprocessing import os @@ -76,6 +77,10 @@ class IntegrationTest(unittest.TestCase): def decorator(func): @functools.wraps(func) def wrapper(self, *args, **kwargs): + # Workaround for llfuse deadlock bug. See #10805, #8345, + # https://bitbucket.org/nikratio/python-llfuse/issues/108 + llfuse.close = lambda *args: None + self.mount = None try: with arvados_fuse.command.Mount( diff --git a/services/fuse/tests/mount_test_base.py b/services/fuse/tests/mount_test_base.py index 8518d8bbea..96ff889fcf 100644 --- a/services/fuse/tests/mount_test_base.py +++ b/services/fuse/tests/mount_test_base.py @@ -43,6 +43,10 @@ class MountTestBase(unittest.TestCase): self.api = api if api else arvados.safeapi.ThreadSafeApiCache(arvados.config.settings()) self.llfuse_thread = None + # Workaround for llfuse deadlock bug. See #10805, #8345, + # https://bitbucket.org/nikratio/python-llfuse/issues/108 + llfuse.close = lambda *args: None + # This is a copy of Mount's method. TODO: Refactor MountTestBase # to use a Mount instead of copying its code. def _llfuse_main(self): -- 2.30.2