test: conftest: adjust pmaports fixture (MR 2477) (MR 2483)

make sure that calls to get_upstream_remote() will succeed by setting
pmb.config.git_repos() for the entire run. This might pollute some other
tests...

TODO: make less things depend on pmaports being cloned...

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
This commit is contained in:
Caleb Connolly 2024-11-04 10:21:28 +01:00 committed by Oliver Smith
parent 1131db214a
commit 39a696ceed
No known key found for this signature in database
GPG key ID: 5AE7F5513E0885CB

View file

@ -159,16 +159,20 @@ def pmaports(pmb_args, monkeypatch):
from pmb.core import Config
from pmb.core.context import get_context
config = get_context().config
cfg = get_context().config
with monkeypatch.context() as m:
# Speed things up by cloning from the local checkout if it exists.
if Config.aports[0].exists():
m.setitem(pmb.config.git_repos, "pmaports", Config.aports)
# As an optimisation, we check the default workdir for pmaports
# and clone it from there if it exists. This saves a bunch of bandwidth
# and time.
if Config.aports[-1].exists():
# Override the URL to the local path so we can later look up the
# remote by URL
pmb.config.git_repos["pmaports"] = [str(Config.aports[-1])]
if not cfg.aports[-1].exists():
pmb.helpers.git.clone("pmaports")
assert pmb.helpers.run.user(["git", "checkout", "master"], working_dir=config.aports[0]) == 0
# Now operate on the cloned repo
assert pmb.helpers.run.user(["git", "checkout", "master"], working_dir=cfg.aports[-1]) == 0
@pytest.fixture