From aee3baee2371d6b2a8b9efc68bcb936708c3e267 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bern=C3=A1t=20G=C3=A1bor?= Date: Sun, 18 Feb 2024 15:48:29 -0800 Subject: [PATCH] Support Windows and enable verbose mode in uv with more than two verbose flag MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Bernát Gábor --- .github/workflows/check.yml | 6 +++++- src/tox_uv/_installer.py | 5 ++++- src/tox_uv/_venv.py | 6 ++++-- tox.ini | 2 ++ 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index b4cdffb..8710829 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -27,7 +27,7 @@ jobs: - "3.8" os: - ubuntu-latest -# - windows-latest # not yet supported + - windows-latest - macos-latest steps: - name: setup python for tox @@ -49,6 +49,10 @@ jobs: with codecs.open(os.environ["GITHUB_ENV"], "a", "utf-8") as file_handler: file_handler.write(env) shell: python + - name: debug + run: uv --version + - name: debug + run: which uv - name: setup test suite run: tox -vv --notest - name: run test suite diff --git a/src/tox_uv/_installer.py b/src/tox_uv/_installer.py index 5fa463a..dcf457f 100644 --- a/src/tox_uv/_installer.py +++ b/src/tox_uv/_installer.py @@ -36,7 +36,10 @@ def uv(self) -> str: return str(Path(sys.executable).parent / "uv") def default_install_command(self, conf: Config, env_name: str | None) -> Command: # noqa: ARG002 - return Command([self.uv, "pip", "install", "{opts}", "{packages}"]) + cmd = [self.uv, "pip", "install", "{opts}", "{packages}"] + if self._env.options.verbosity > 2: # noqa: PLR2004 + cmd.append("-v") + return Command(cmd) def post_process_install_command(self, cmd: Command) -> Command: install_command = cmd.args diff --git a/src/tox_uv/_venv.py b/src/tox_uv/_venv.py index c739a27..78b088a 100644 --- a/src/tox_uv/_venv.py +++ b/src/tox_uv/_venv.py @@ -90,7 +90,7 @@ def _get_python(self, base_python: list[str]) -> PythonInfo | None: # noqa: PLR @property def uv(self) -> str: - return str(Path(sys.executable).parent / "uv") + return str(Path(sys.executable).parent / f"uv{'.exe' if sys.platform == 'win32' else ''}") @property def venv_dir(self) -> Path: @@ -105,10 +105,12 @@ def environment_variables(self) -> dict[str, str]: def create_python_env(self) -> None: base = self.base_python cmd = [self.uv, "venv", "-p", base.version_dot] + if self.options.verbosity > 2: # noqa: PLR2004 + cmd.append("-v") if self.conf["uv_seed"]: cmd.append("--seed") cmd.append(str(self.venv_dir)) - outcome = self.execute(cmd, stdin=StdinSource.OFF, run_id="venv", show=False) + outcome = self.execute(cmd, stdin=StdinSource.OFF, run_id="venv", show=None) outcome.assert_success() @property diff --git a/tox.ini b/tox.ini index 77ca003..fba7074 100644 --- a/tox.ini +++ b/tox.ini @@ -18,6 +18,8 @@ package = wheel wheel_build_env = .pkg extras = test +pass_env = + PATH set_env = COVERAGE_FILE = {toxworkdir}{/}.coverage.{envname} commands =