diff --git a/mir-ci/mir_ci/conftest.py b/mir-ci/mir_ci/conftest.py index 055b5c27..0fe56d0d 100644 --- a/mir-ci/mir_ci/conftest.py +++ b/mir-ci/mir_ci/conftest.py @@ -3,6 +3,7 @@ import pathlib import shutil import subprocess +import time import warnings from collections.abc import Iterator from typing import Any, Generator, List, Mapping, Optional, Union @@ -104,7 +105,14 @@ def _deps_install(request: pytest.FixtureRequest, spec: Union[str, Mapping[str, subprocess.check_call(("snap", "list", snap), stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) except subprocess.CalledProcessError: _classic = ("--classic",) if classic else () - subprocess.check_call(("sudo", "snap", "install", snap, "--channel", channel, *_classic)) + subprocess.check_call( + ("sudo", "snap", "install", "--no-wait", snap, "--channel", channel, *_classic) + ) + while (output := subprocess.check_output(("snap", "changes"), text=True)) and "Doing" in output: + for line in output.splitlines(): + if "Doing" in line: + print(line) + time.sleep(30) if shutil.which(f"/snap/{snap}/current/bin/setup.sh"): subprocess.check_call(("sudo", f"/snap/{snap}/current/bin/setup.sh")) subprocess.call(