diff --git a/swh/lister/opam/lister.py b/swh/lister/opam/lister.py --- a/swh/lister/opam/lister.py +++ b/swh/lister/opam/lister.py @@ -7,7 +7,6 @@ import logging import os from subprocess import PIPE, Popen, call -import tempfile from typing import Iterator from swh.lister.pattern import StatelessLister @@ -46,12 +45,13 @@ url: str, instance: str, credentials: CredentialsType = None, + opam_root: str = "/tmp/opam/", ): super().__init__( scheduler=scheduler, credentials=credentials, url=url, instance=instance, ) self.env = os.environ.copy() - self.opamroot = tempfile.mkdtemp(prefix="swh_opam_lister") + self.opamroot = opam_root call( [ "opam", diff --git a/swh/lister/opam/tests/test_lister.py b/swh/lister/opam/tests/test_lister.py --- a/swh/lister/opam/tests/test_lister.py +++ b/swh/lister/opam/tests/test_lister.py @@ -4,6 +4,7 @@ # See top-level LICENSE file for more information import io +from tempfile import mkdtemp from unittest.mock import MagicMock from swh.lister.opam.lister import OpamLister @@ -13,7 +14,12 @@ instance_url = "https://opam.ocaml.org" - lister = OpamLister(swh_scheduler, url=instance_url, instance="opam") + lister = OpamLister( + swh_scheduler, + url=instance_url, + instance="opam", + opam_root=mkdtemp(prefix="swh_opam_lister"), + ) mocked_popen = MagicMock() mocked_popen.stdout = io.BytesIO(b"bar\nbaz\nfoo\n") @@ -44,7 +50,12 @@ instance_url = f"file://{datadir}/fake_opam_repo" - lister = OpamLister(swh_scheduler, url=instance_url, instance="fake") + lister = OpamLister( + swh_scheduler, + url=instance_url, + instance="fake", + opam_root=mkdtemp(prefix="swh_opam_lister"), + ) stats = lister.run()