diff --git a/pkgs/clan-cli/clan_cli/flash/list_test.py b/pkgs/clan-cli/clan_cli/flash/list_test.py index e41a88c01..a21a14709 100644 --- a/pkgs/clan-cli/clan_cli/flash/list_test.py +++ b/pkgs/clan-cli/clan_cli/flash/list_test.py @@ -1,11 +1,15 @@ +from pathlib import Path + import pytest from clan_cli.tests.helpers import cli from clan_cli.tests.stdout import CaptureOutput -@pytest.mark.impure -def test_flash_list_languages(capture_output: CaptureOutput) -> None: +@pytest.mark.with_core +def test_flash_list_languages( + temporary_home: Path, capture_output: CaptureOutput +) -> None: with capture_output as output: cli.run(["flash", "list", "languages"]) assert "en_US.UTF-8" in output.out @@ -14,8 +18,10 @@ def test_flash_list_languages(capture_output: CaptureOutput) -> None: assert len(languages) > 1 -@pytest.mark.impure -def test_flash_list_keymaps(capture_output: CaptureOutput) -> None: +@pytest.mark.with_core +def test_flash_list_keymaps( + temporary_home: Path, capture_output: CaptureOutput +) -> None: with capture_output as output: cli.run(["flash", "list", "keymaps"]) assert "us" in output.out diff --git a/pkgs/clan-cli/clan_lib/flash/list.py b/pkgs/clan-cli/clan_lib/flash/list.py index 4a23c8476..5d2fdaf86 100644 --- a/pkgs/clan-cli/clan_lib/flash/list.py +++ b/pkgs/clan-cli/clan_lib/flash/list.py @@ -5,6 +5,7 @@ from typing import TypedDict from clan_lib.api import API from clan_lib.cmd import Log, RunOpts, run +from clan_lib.dirs import nixpkgs_source from clan_lib.errors import ClanError from clan_lib.nix import nix_build @@ -28,7 +29,7 @@ def get_machine_flash_options() -> FlashOptions: def list_languages() -> list[str]: - cmd = nix_build(["nixpkgs#glibcLocales"]) + cmd = nix_build([f"{nixpkgs_source()}#legacyPackages.x86_64-linux.glibcLocales"]) result = run(cmd, RunOpts(log=Log.STDERR, error_msg="Failed to find glibc locales")) locale_file = Path(result.stdout.strip()) / "share" / "i18n" / "SUPPORTED" @@ -53,7 +54,7 @@ def list_languages() -> list[str]: def list_keymaps() -> list[str]: - cmd = nix_build(["nixpkgs#kbd"]) + cmd = nix_build([f"{nixpkgs_source()}#legacyPackages.x86_64-linux.kbd"]) result = run(cmd, RunOpts(log=Log.STDERR, error_msg="Failed to find kbdinfo")) keymaps_dir = Path(result.stdout.strip()) / "share" / "keymaps" diff --git a/pkgs/clan-cli/default.nix b/pkgs/clan-cli/default.nix index f98dded0f..1ca80d6df 100644 --- a/pkgs/clan-cli/default.nix +++ b/pkgs/clan-cli/default.nix @@ -216,6 +216,10 @@ pythonRuntime.pkgs.buildPythonApplication { pkgs.xkcdpass pkgs.pass nix-select + + # needed by flash list tests + nixpkgs.legacyPackages.x86_64-linux.kbd + nixpkgs.legacyPackages.x86_64-linux.glibcLocales ]; }; }