From d593eadfc66875e41778d753b8970818512854be Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 16 Jun 2025 12:09:43 +0200 Subject: [PATCH] nixVersions: give unit tests access to a $HOME directory Also, don't try to access cache.nixos.org in the libstore unit tests. We have to disable the test in versions prior to 2.31; that's OK, since it was being skipped when run under Nix anyway before that. (cherry picked from commit 01388b3e78582553cc30ee772db5b5aba8d89edd) Co-authored-by: Philip Taron --- .../modular/src/libflake-tests/package.nix | 20 +++++++--------- .../modular/src/libstore-tests/package.nix | 23 ++++++++++--------- 2 files changed, 20 insertions(+), 23 deletions(-) diff --git a/pkgs/tools/package-management/nix/modular/src/libflake-tests/package.nix b/pkgs/tools/package-management/nix/modular/src/libflake-tests/package.nix index 93429e53812b..f84692827536 100644 --- a/pkgs/tools/package-management/nix/modular/src/libflake-tests/package.nix +++ b/pkgs/tools/package-management/nix/modular/src/libflake-tests/package.nix @@ -42,18 +42,14 @@ mkMesonExecutable (finalAttrs: { { meta.broken = !stdenv.hostPlatform.emulatorAvailable buildPackages; } - ( - lib.optionalString stdenv.hostPlatform.isWindows '' - export HOME="$PWD/home-dir" - mkdir -p "$HOME" - '' - + '' - export _NIX_TEST_UNIT_DATA=${resolvePath ./data} - export NIX_CONFIG="extra-experimental-features = flakes" - ${stdenv.hostPlatform.emulator buildPackages} ${lib.getExe finalAttrs.finalPackage} - touch $out - '' - ); + ('' + export _NIX_TEST_UNIT_DATA=${resolvePath ./data} + export NIX_CONFIG="extra-experimental-features = flakes" + export HOME="$TMPDIR/home" + mkdir -p "$HOME" + ${stdenv.hostPlatform.emulator buildPackages} ${lib.getExe finalAttrs.finalPackage} + touch $out + ''); }; }; diff --git a/pkgs/tools/package-management/nix/modular/src/libstore-tests/package.nix b/pkgs/tools/package-management/nix/modular/src/libstore-tests/package.nix index be9a51a784d2..c3dc0343dfd9 100644 --- a/pkgs/tools/package-management/nix/modular/src/libstore-tests/package.nix +++ b/pkgs/tools/package-management/nix/modular/src/libstore-tests/package.nix @@ -41,6 +41,10 @@ mkMesonExecutable (finalAttrs: { mesonFlags = [ ]; + excludedTestPatterns = lib.optionals (lib.versionOlder finalAttrs.version "2.31") [ + "nix_api_util_context.nix_store_real_path_binary_cache" + ]; + passthru = { tests = { run = @@ -59,17 +63,14 @@ mkMesonExecutable (finalAttrs: { { meta.broken = !stdenv.hostPlatform.emulatorAvailable buildPackages; } - ( - lib.optionalString stdenv.hostPlatform.isWindows '' - export HOME="$PWD/home-dir" - mkdir -p "$HOME" - '' - + '' - export _NIX_TEST_UNIT_DATA=${data + "/src/libstore-tests/data"} - ${stdenv.hostPlatform.emulator buildPackages} ${lib.getExe finalAttrs.finalPackage} - touch $out - '' - ); + ('' + export _NIX_TEST_UNIT_DATA=${data + "/src/libstore-tests/data"} + export HOME="$TMPDIR/home" + mkdir -p "$HOME" + ${stdenv.hostPlatform.emulator buildPackages} ${lib.getExe finalAttrs.finalPackage} \ + --gtest_filter=-${lib.concatStringsSep ":" finalAttrs.excludedTestPatterns} + touch $out + ''); }; };