web_api_mock = <requests_mock.mocker.Mocker object at 0x7f6ac0b18a20>
@pytest.fixture
def fuse_mntdir(web_api_mock):
tmpdir = TemporaryDirectory(suffix=".swh-fuse-test")
tmpfile = NamedTemporaryFile(suffix=".swh-fuse-test.yml")
config = {
"cache": {"metadata": {"in-memory": True}, "blob": {"in-memory": True}},
"web-api": {"url": API_URL, "auth-token": None},
}
# Run FUSE in foreground mode but in a separate process, so it does not
# block execution and remains easy to kill during teardown
def fuse_process(tmpdir, tmpfile):
with tmpdir as mntdir, tmpfile as config_path:
config_path = Path(config_path.name)
config_path.write_text(yaml.dump(config))
CliRunner().invoke(
cli.mount,
args=[mntdir, ROOT_SWHID, "--foreground", "--config-file", config_path],
)
fuse = Process(target=fuse_process, args=[tmpdir, tmpfile])
fuse.start()
# Wait max 3 seconds for the FUSE to correctly mount
for i in range(30):
try:
root = listdir(tmpdir.name)
if root:
break
except FileNotFoundError:
pass
time.sleep(0.1)
else:
> raise FileNotFoundError(f"Could not mount FUSE in {tmpdir.name}")
E FileNotFoundError: Could not mount FUSE in /tmp/tmpllbnfvgi.swh-fuse-test
.tox/py3/lib/python3.7/site-packages/swh/fuse/tests/conftest.py:62: FileNotFoundError
TEST RESULT
TEST RESULT
- Run At
- Oct 5 2020, 10:12 AM