mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-09 19:13:26 +03:00
tests: recurse into more attrs
This makes it so that our ci evals more tests and that hydra builds them, making it possible to catch more regressions.
This commit is contained in:
parent
72a87bc217
commit
33964ab8ba
3 changed files with 54 additions and 44 deletions
|
@ -456,7 +456,7 @@ recurseIntoAttrs {
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
data = {
|
data = recurseIntoAttrs {
|
||||||
json = expectDataEqual {
|
json = expectDataEqual {
|
||||||
file = writeJSON "data.json" { hello = "world"; };
|
file = writeJSON "data.json" { hello = "world"; };
|
||||||
expected = ''
|
expected = ''
|
||||||
|
|
|
@ -71,30 +71,32 @@ let
|
||||||
|
|
||||||
mapMultiPlatformTest =
|
mapMultiPlatformTest =
|
||||||
crossSystemFun: test:
|
crossSystemFun: test:
|
||||||
lib.mapAttrs (
|
lib.recurseIntoAttrs (
|
||||||
name: system:
|
lib.mapAttrs (
|
||||||
test rec {
|
name: system:
|
||||||
crossPkgs = import pkgs.path {
|
lib.recurseIntoAttrs (test rec {
|
||||||
localSystem = { inherit (pkgs.stdenv.hostPlatform) config; };
|
crossPkgs = import pkgs.path {
|
||||||
crossSystem = crossSystemFun system;
|
localSystem = { inherit (pkgs.stdenv.hostPlatform) config; };
|
||||||
};
|
crossSystem = crossSystemFun system;
|
||||||
|
};
|
||||||
|
|
||||||
emulator = crossPkgs.stdenv.hostPlatform.emulator pkgs;
|
emulator = crossPkgs.stdenv.hostPlatform.emulator pkgs;
|
||||||
|
|
||||||
# Apply some transformation on windows to get dlls in the right
|
# Apply some transformation on windows to get dlls in the right
|
||||||
# place. Unfortunately mingw doesn’t seem to be able to do linking
|
# place. Unfortunately mingw doesn’t seem to be able to do linking
|
||||||
# properly.
|
# properly.
|
||||||
platformFun =
|
platformFun =
|
||||||
pkg:
|
pkg:
|
||||||
if crossPkgs.stdenv.hostPlatform.isWindows then
|
if crossPkgs.stdenv.hostPlatform.isWindows then
|
||||||
pkgs.buildEnv {
|
pkgs.buildEnv {
|
||||||
name = "${pkg.name}-winlinks";
|
name = "${pkg.name}-winlinks";
|
||||||
paths = [ pkg ] ++ pkg.buildInputs;
|
paths = [ pkg ] ++ pkg.buildInputs;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
pkg;
|
pkg;
|
||||||
}
|
})
|
||||||
) testedSystems;
|
) testedSystems
|
||||||
|
);
|
||||||
|
|
||||||
tests = {
|
tests = {
|
||||||
|
|
||||||
|
@ -214,8 +216,12 @@ let
|
||||||
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
gcc = (lib.mapAttrs (_: mapMultiPlatformTest (system: system // { useLLVM = false; })) tests);
|
gcc = lib.recurseIntoAttrs (
|
||||||
llvm = (lib.mapAttrs (_: mapMultiPlatformTest (system: system // { useLLVM = true; })) tests);
|
lib.mapAttrs (_: mapMultiPlatformTest (system: system // { useLLVM = false; })) tests
|
||||||
|
);
|
||||||
|
llvm = lib.recurseIntoAttrs (
|
||||||
|
lib.mapAttrs (_: mapMultiPlatformTest (system: system // { useLLVM = true; })) tests
|
||||||
|
);
|
||||||
|
|
||||||
inherit mbuffer sanity;
|
inherit mbuffer sanity;
|
||||||
}
|
}
|
||||||
|
|
|
@ -87,13 +87,13 @@ with pkgs;
|
||||||
};
|
};
|
||||||
|
|
||||||
llvmTests = recurseIntoAttrs llvmTests;
|
llvmTests = recurseIntoAttrs llvmTests;
|
||||||
inherit gccTests;
|
gccTests = recurseIntoAttrs gccTests;
|
||||||
};
|
};
|
||||||
|
|
||||||
devShellTools = callPackage ../build-support/dev-shell-tools/tests { };
|
devShellTools = callPackage ../build-support/dev-shell-tools/tests { };
|
||||||
|
|
||||||
stdenv-inputs = callPackage ./stdenv-inputs { };
|
stdenv-inputs = callPackage ./stdenv-inputs { };
|
||||||
stdenv = callPackage ./stdenv { };
|
stdenv = recurseIntoAttrs (callPackage ./stdenv { });
|
||||||
|
|
||||||
hardeningFlags = recurseIntoAttrs (callPackage ./cc-wrapper/hardening.nix { });
|
hardeningFlags = recurseIntoAttrs (callPackage ./cc-wrapper/hardening.nix { });
|
||||||
hardeningFlags-gcc = recurseIntoAttrs (
|
hardeningFlags-gcc = recurseIntoAttrs (
|
||||||
|
@ -113,24 +113,28 @@ with pkgs;
|
||||||
|
|
||||||
haskell = callPackage ./haskell { };
|
haskell = callPackage ./haskell { };
|
||||||
|
|
||||||
hooks = callPackage ./hooks { };
|
hooks = recurseIntoAttrs (callPackage ./hooks { });
|
||||||
|
|
||||||
cc-multilib-gcc = callPackage ./cc-wrapper/multilib.nix { stdenv = gccMultiStdenv; };
|
cc-multilib-gcc = callPackage ./cc-wrapper/multilib.nix { stdenv = gccMultiStdenv; };
|
||||||
cc-multilib-clang = callPackage ./cc-wrapper/multilib.nix { stdenv = clangMultiStdenv; };
|
cc-multilib-clang = callPackage ./cc-wrapper/multilib.nix { stdenv = clangMultiStdenv; };
|
||||||
|
|
||||||
compress-drv = callPackage ../build-support/compress-drv/test.nix { };
|
compress-drv = callPackage ../build-support/compress-drv/test.nix { };
|
||||||
|
|
||||||
fetchurl = callPackages ../build-support/fetchurl/tests.nix { };
|
fetchurl = recurseIntoAttrs (callPackages ../build-support/fetchurl/tests.nix { });
|
||||||
fetchtorrent = callPackages ../build-support/fetchtorrent/tests.nix { };
|
fetchtorrent = recurseIntoAttrs (callPackages ../build-support/fetchtorrent/tests.nix { });
|
||||||
fetchpatch = callPackages ../build-support/fetchpatch/tests.nix { };
|
fetchpatch = recurseIntoAttrs (callPackages ../build-support/fetchpatch/tests.nix { });
|
||||||
fetchpatch2 = callPackages ../build-support/fetchpatch/tests.nix { fetchpatch = fetchpatch2; };
|
fetchpatch2 = recurseIntoAttrs (
|
||||||
fetchDebianPatch = callPackages ../build-support/fetchdebianpatch/tests.nix { };
|
callPackages ../build-support/fetchpatch/tests.nix { fetchpatch = fetchpatch2; }
|
||||||
fetchzip = callPackages ../build-support/fetchzip/tests.nix { };
|
);
|
||||||
fetchgit = callPackages ../build-support/fetchgit/tests.nix { };
|
fetchDebianPatch = recurseIntoAttrs (callPackages ../build-support/fetchdebianpatch/tests.nix { });
|
||||||
fetchFirefoxAddon = callPackages ../build-support/fetchfirefoxaddon/tests.nix { };
|
fetchzip = recurseIntoAttrs (callPackages ../build-support/fetchzip/tests.nix { });
|
||||||
fetchPypiLegacy = callPackages ../build-support/fetchpypilegacy/tests.nix { };
|
fetchgit = recurseIntoAttrs (callPackages ../build-support/fetchgit/tests.nix { });
|
||||||
|
fetchFirefoxAddon = recurseIntoAttrs (
|
||||||
|
callPackages ../build-support/fetchfirefoxaddon/tests.nix { }
|
||||||
|
);
|
||||||
|
fetchPypiLegacy = recurseIntoAttrs (callPackages ../build-support/fetchpypilegacy/tests.nix { });
|
||||||
|
|
||||||
install-shell-files = callPackage ./install-shell-files { };
|
install-shell-files = recurseIntoAttrs (callPackage ./install-shell-files { });
|
||||||
|
|
||||||
checkpointBuildTools = callPackage ./checkpointBuild { };
|
checkpointBuildTools = callPackage ./checkpointBuild { };
|
||||||
|
|
||||||
|
@ -138,7 +142,7 @@ with pkgs;
|
||||||
|
|
||||||
ld-library-path = callPackage ./ld-library-path { };
|
ld-library-path = callPackage ./ld-library-path { };
|
||||||
|
|
||||||
cross = callPackage ./cross { };
|
cross = recurseIntoAttrs (callPackage ./cross { });
|
||||||
|
|
||||||
php = recurseIntoAttrs (callPackages ./php { });
|
php = recurseIntoAttrs (callPackages ./php { });
|
||||||
|
|
||||||
|
@ -146,18 +150,18 @@ with pkgs;
|
||||||
__recurseIntoDerivationForReleaseJobs = true;
|
__recurseIntoDerivationForReleaseJobs = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
buildRustCrate = callPackage ../build-support/rust/build-rust-crate/test { };
|
buildRustCrate = recurseIntoAttrs (callPackage ../build-support/rust/build-rust-crate/test { });
|
||||||
importCargoLock = callPackage ../build-support/rust/test/import-cargo-lock { };
|
importCargoLock = recurseIntoAttrs (callPackage ../build-support/rust/test/import-cargo-lock { });
|
||||||
|
|
||||||
vim = callPackage ./vim { };
|
vim = callPackage ./vim { };
|
||||||
|
|
||||||
nixos-functions = callPackage ./nixos-functions { };
|
nixos-functions = callPackage ./nixos-functions { };
|
||||||
|
|
||||||
nixosOptionsDoc = callPackage ../../nixos/lib/make-options-doc/tests.nix { };
|
nixosOptionsDoc = recurseIntoAttrs (callPackage ../../nixos/lib/make-options-doc/tests.nix { });
|
||||||
|
|
||||||
overriding = callPackage ./overriding.nix { };
|
overriding = callPackage ./overriding.nix { };
|
||||||
|
|
||||||
texlive = callPackage ./texlive { };
|
texlive = recurseIntoAttrs (callPackage ./texlive { });
|
||||||
|
|
||||||
cuda = callPackage ./cuda { };
|
cuda = callPackage ./cuda { };
|
||||||
|
|
||||||
|
@ -175,7 +179,7 @@ with pkgs;
|
||||||
|
|
||||||
dotnet = recurseIntoAttrs (callPackages ./dotnet { });
|
dotnet = recurseIntoAttrs (callPackages ./dotnet { });
|
||||||
|
|
||||||
makeHardcodeGsettingsPatch = callPackage ./make-hardcode-gsettings-patch { };
|
makeHardcodeGsettingsPatch = recurseIntoAttrs (callPackage ./make-hardcode-gsettings-patch { });
|
||||||
|
|
||||||
makeWrapper = callPackage ./make-wrapper { };
|
makeWrapper = callPackage ./make-wrapper { };
|
||||||
makeBinaryWrapper = callPackage ./make-binary-wrapper {
|
makeBinaryWrapper = callPackage ./make-binary-wrapper {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue