From c509f333e4fd9e038e6fcd27e72b03dafd38626e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Wed, 2 Jul 2025 16:22:58 +0200 Subject: [PATCH] nixosTestLib: fix various linting issues --- pkgs/testing/nixos_test_lib/nix_setup.py | 15 ++++++++------- pkgs/testing/nixos_test_lib/port.py | 2 +- pkgs/testing/nixos_test_lib/ssh.py | 18 +++++++++--------- pkgs/testing/pyproject.toml | 1 + 4 files changed, 19 insertions(+), 17 deletions(-) diff --git a/pkgs/testing/nixos_test_lib/nix_setup.py b/pkgs/testing/nixos_test_lib/nix_setup.py index 2bd3b0f1f..b42126b44 100644 --- a/pkgs/testing/nixos_test_lib/nix_setup.py +++ b/pkgs/testing/nixos_test_lib/nix_setup.py @@ -1,7 +1,6 @@ """Nix store setup utilities for VM tests""" import os -import shutil import subprocess from pathlib import Path @@ -10,7 +9,8 @@ def setup_nix_in_nix(closure_info: str | None) -> None: """Set up Nix store inside test environment Args: - closure_info: Path to closure info directory containing store-paths file, or None if no closure info + closure_info: Path to closure info directory containing store-paths file, + or None if no closure info """ tmpdir = Path(os.environ.get("TMPDIR", "/tmp")) @@ -22,7 +22,7 @@ def setup_nix_in_nix(closure_info: str | None) -> None: os.environ["NIX_CONFIG"] = "substituters = \ntrusted-public-keys = " # Set up environment variables for test environment - os.environ["HOME"] = tmpdir + os.environ["HOME"] = str(tmpdir) os.environ["NIX_STATE_DIR"] = f"{tmpdir}/nix" os.environ["NIX_CONF_DIR"] = f"{tmpdir}/etc" os.environ["IN_NIX_SANDBOX"] = "1" @@ -41,11 +41,12 @@ def setup_nix_in_nix(closure_info: str | None) -> None: with store_paths_file.open() as f: store_paths = f.read().strip().split("\n") - # Copy store paths to test store using external cp command (handles symlinks better) + # Copy store paths to test store using external cp command + # (handles symlinks better) subprocess.run( - ["cp", "--recursive", "--target", f"{tmpdir}/store"] + - [path.strip() for path in store_paths if path.strip()], - check=True + ["cp", "--recursive", "--target", f"{tmpdir}/store"] + + [path.strip() for path in store_paths if path.strip()], + check=True, ) # Load Nix database diff --git a/pkgs/testing/nixos_test_lib/port.py b/pkgs/testing/nixos_test_lib/port.py index a836785c4..b81353fa8 100644 --- a/pkgs/testing/nixos_test_lib/port.py +++ b/pkgs/testing/nixos_test_lib/port.py @@ -23,7 +23,7 @@ def check_host_port_open(port: int) -> bool: s.settimeout(1) result = s.connect_ex(("localhost", port)) return result == 0 - except Exception as e: + except OSError as e: print(f"Port check failed: {e}") return False diff --git a/pkgs/testing/nixos_test_lib/ssh.py b/pkgs/testing/nixos_test_lib/ssh.py index ae6a84f89..97a52766c 100644 --- a/pkgs/testing/nixos_test_lib/ssh.py +++ b/pkgs/testing/nixos_test_lib/ssh.py @@ -1,6 +1,7 @@ """SSH and test setup utilities""" import subprocess +from pathlib import Path from typing import NamedTuple from .nix_setup import setup_nix_in_nix @@ -34,15 +35,14 @@ def setup_test_environment( setup_port_forwarding(target, host_port) - ssh_key = os.path.join(temp_dir, "id_ed25519") - with open(ssh_key, "w") as f: - with open(assets_ssh_privkey) as src: - f.write(src.read()) - os.chmod(ssh_key, 0o600) + ssh_key = Path(temp_dir) / "id_ed25519" + with ssh_key.open("w") as f, Path(assets_ssh_privkey).open() as src: + f.write(src.read()) + ssh_key.chmod(0o600) # Copy test flake to temp directory - flake_dir = os.path.join(temp_dir, "test-flake") - subprocess.run(["cp", "-r", clan_core_for_checks, flake_dir], check=True) - subprocess.run(["chmod", "-R", "+w", flake_dir], check=True) + flake_dir = Path(temp_dir) / "test-flake" + subprocess.run(["cp", "-r", clan_core_for_checks, flake_dir], check=True) # noqa: S603, S607 + subprocess.run(["chmod", "-R", "+w", flake_dir], check=True) # noqa: S603, S607 - return TestEnvironment(host_port, ssh_key, flake_dir) + return TestEnvironment(host_port, str(ssh_key), str(flake_dir)) diff --git a/pkgs/testing/pyproject.toml b/pkgs/testing/pyproject.toml index b82e1bc08..c29fd67f5 100644 --- a/pkgs/testing/pyproject.toml +++ b/pkgs/testing/pyproject.toml @@ -41,4 +41,5 @@ ignore = [ "ANN", # type annotations "COM812", # trailing comma "ISC001", # string concatenation + "T201", # print statements ] \ No newline at end of file