1{
2 # The pkgs used for dependencies for the testing itself
3 # Don't test properties of pkgs.lib, but rather the lib in the parent directory
4 system ? builtins.currentSystem,
5 pkgs ?
6 import ../.. {
7 inherit system;
8 config = {
9 permittedInsecurePackages = [ "nix-2.3.18" ];
10 };
11 }
12 // {
13 lib = throw "pkgs.lib accessed, but the lib tests should use nixpkgs' lib path directly!";
14 },
15 # For testing someone may edit impure.nix to return cross pkgs, use `pkgsBuildBuild` directly so everything here works.
16 pkgsBB ? pkgs.pkgsBuildBuild,
17 nix ? pkgs-nixVersions.stable,
18 nixVersions ? [
19 pkgs-nixVersions.minimum
20 nix
21 pkgs-nixVersions.latest
22 ],
23 pkgs-nixVersions ? import ./nix-for-tests.nix { pkgs = pkgsBB; },
24}:
25
26let
27 lib = import ../.;
28 testWithNix =
29 nix:
30 import ./test-with-nix.nix {
31 inherit lib nix;
32 pkgs = pkgsBB;
33 };
34
35in
36pkgsBB.symlinkJoin {
37 name = "nixpkgs-lib-tests";
38 paths = map testWithNix nixVersions ++ [
39 (import ./maintainers.nix {
40 inherit pkgs;
41 lib = import ../.;
42 })
43 (import ./teams.nix {
44 inherit pkgs;
45 lib = import ../.;
46 })
47 ];
48}