From a89b7739846caf72c884382c31c7d6dee34370ed Mon Sep 17 00:00:00 2001 From: Silvan Mosberger Date: Sat, 25 Apr 2020 22:07:43 +0200 Subject: [PATCH] lib/tests: Allow overriding pkgs independent of lib being tested --- lib/tests/maintainers.nix | 11 ++++++----- lib/tests/release.nix | 15 ++++++++++++--- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/lib/tests/maintainers.nix b/lib/tests/maintainers.nix index 60d296eecae..d3ed398c80a 100644 --- a/lib/tests/maintainers.nix +++ b/lib/tests/maintainers.nix @@ -1,10 +1,11 @@ -# to run these tests: -# nix-build nixpkgs/lib/tests/maintainers.nix -# If nothing is output, all tests passed -{ pkgs ? import ../.. {} }: +# to run these tests (and the others) +# nix-build nixpkgs/lib/tests/release.nix +{ # The pkgs used for dependencies for the testing itself + pkgs +, lib +}: let - inherit (pkgs) lib; inherit (lib) types; maintainerModule = { config, ... }: { diff --git a/lib/tests/release.nix b/lib/tests/release.nix index ec0f9c32d3f..eebee1b49bc 100644 --- a/lib/tests/release.nix +++ b/lib/tests/release.nix @@ -1,8 +1,17 @@ -{ pkgs ? import ../.. {} }: +{ # The pkgs used for dependencies for the testing itself + # Don't test properties of pkgs.lib, but rather the lib in the parent directory + pkgs ? import ../.. {} // { lib = throw "pkgs.lib accessed, but the lib tests should use nixpkgs' lib path directly!"; } +}: pkgs.runCommandNoCC "nixpkgs-lib-tests" { - buildInputs = [ pkgs.nix (import ./check-eval.nix) (import ./maintainers.nix { inherit pkgs; }) ]; - NIX_PATH = "nixpkgs=${toString pkgs.path}"; + buildInputs = [ + pkgs.nix + (import ./check-eval.nix) + (import ./maintainers.nix { + inherit pkgs; + lib = import ../.; + }) + ]; } '' datadir="${pkgs.nix}/share" export TEST_ROOT=$(pwd)/test-tmp