nixpkgs/pkgs/test/default.nix

183 lines
6.4 KiB
Nix
Raw Normal View History

2018-05-11 01:08:26 +00:00
{ pkgs, callPackage }:
with pkgs;
{
cc-wrapper = with builtins; let
pkgNames = (attrNames pkgs);
llvmTests = let
pkgSets = lib.pipe pkgNames [
(filter (lib.hasPrefix "llvmPackages"))
2023-10-02 00:36:12 +00:00
(filter (n: n != "rocmPackages.llvm"))
# Are throw aliases.
2023-11-03 22:32:06 +00:00
(filter (n: n != "llvmPackages_rocm"))
(filter (n: n != "llvmPackages_latest"))
(filter (n: n != "llvmPackages_6"))
(filter (n: n != "llvmPackages_7"))
2024-01-24 17:31:57 +00:00
(filter (n: n != "llvmPackages_8"))
2024-04-09 04:43:21 +00:00
(filter (n: n != "llvmPackages_9"))
2024-01-26 03:19:55 +00:00
(filter (n: n != "llvmPackages_10"))
2024-01-24 19:52:21 +00:00
(filter (n: n != "llvmPackages_11"))
];
tests = lib.genAttrs pkgSets (name: recurseIntoAttrs {
clang = callPackage ./cc-wrapper { stdenv = pkgs.${name}.stdenv; };
libcxx = callPackage ./cc-wrapper { stdenv = pkgs.${name}.libcxxStdenv; };
});
in
tests;
gccTests = let
pkgSets = lib.pipe (attrNames pkgs) ([
(filter (lib.hasPrefix "gcc"))
(filter (lib.hasSuffix "Stdenv"))
(filter (n: n != "gccCrossLibcStdenv"))
2024-10-18 17:59:08 +00:00
(filter (n: n != "gcc49Stdenv"))
(filter (n: n != "gcc6Stdenv"))
] ++ lib.optionals (!(
(stdenv.buildPlatform.isLinux && stdenv.buildPlatform.isx86_64) &&
(stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isx86_64)
)) [
(filter (n: !lib.hasSuffix "MultiStdenv" n))
]);
in lib.genAttrs pkgSets (name: callPackage ./cc-wrapper { stdenv = pkgs.${name}; });
in recurseIntoAttrs {
default = callPackage ./cc-wrapper { };
supported = stdenv.mkDerivation {
name = "cc-wrapper-supported";
builtGCC =
let
inherit (lib) filterAttrs;
sets = lib.pipe gccTests [
(filterAttrs (_: v: lib.meta.availableOn stdenv.hostPlatform v.stdenv.cc))
# Broken
(filterAttrs (n: _: n != "gccMultiStdenv"))
];
in
toJSON sets;
builtLLVM =
let
inherit (lib) filterAttrs;
sets = lib.pipe llvmTests [
(filterAttrs (_: v: lib.meta.availableOn stdenv.hostPlatform v.clang.stdenv.cc))
(filterAttrs (_: v: lib.meta.availableOn stdenv.hostPlatform v.libcxx.stdenv.cc))
];
in
toJSON sets;
buildCommand = ''
touch $out
'';
};
llvmTests = recurseIntoAttrs llvmTests;
inherit gccTests;
};
2024-06-29 14:25:25 +00:00
devShellTools = callPackage ../build-support/dev-shell-tools/tests { };
2018-05-11 01:08:26 +00:00
stdenv-inputs = callPackage ./stdenv-inputs { };
stdenv = callPackage ./stdenv { };
2018-05-11 01:08:26 +00:00
hardeningFlags = recurseIntoAttrs (callPackage ./cc-wrapper/hardening.nix {});
hardeningFlags-gcc = recurseIntoAttrs (callPackage ./cc-wrapper/hardening.nix {
stdenv = gccStdenv;
});
hardeningFlags-clang = recurseIntoAttrs (callPackage ./cc-wrapper/hardening.nix {
stdenv = llvmPackages.stdenv;
});
config = callPackage ./config.nix { };
top-level = callPackage ./top-level { };
haskell = callPackage ./haskell { };
hooks = callPackage ./hooks { };
2018-05-11 01:08:26 +00:00
cc-multilib-gcc = callPackage ./cc-wrapper/multilib.nix { stdenv = gccMultiStdenv; };
cc-multilib-clang = callPackage ./cc-wrapper/multilib.nix { stdenv = clangMultiStdenv; };
compress-drv = callPackage ../build-support/compress-drv/test.nix { };
2022-06-30 17:49:54 +00:00
fetchurl = callPackages ../build-support/fetchurl/tests.nix { };
fetchtorrent = callPackages ../build-support/fetchtorrent/tests.nix { };
fetchpatch = callPackages ../build-support/fetchpatch/tests.nix { };
fetchpatch2 = callPackages ../build-support/fetchpatch/tests.nix { fetchpatch = fetchpatch2; };
2023-08-30 07:50:44 +00:00
fetchDebianPatch = callPackages ../build-support/fetchdebianpatch/tests.nix { };
fetchzip = callPackages ../build-support/fetchzip/tests.nix { };
fetchgit = callPackages ../build-support/fetchgit/tests.nix { };
fetchFirefoxAddon = callPackages ../build-support/fetchfirefoxaddon/tests.nix { };
2023-11-12 16:40:41 +00:00
fetchPypiLegacy = callPackages ../build-support/fetchpypilegacy/tests.nix { };
install-shell-files = callPackage ./install-shell-files {};
checkpointBuildTools = callPackage ./checkpointBuild {};
2018-10-03 09:54:42 +00:00
kernel-config = callPackage ./kernel.nix {};
ld-library-path = callPackage ./ld-library-path {};
cross = callPackage ./cross {} // { __attrsFailEvaluation = true; };
php = recurseIntoAttrs (callPackages ./php {});
pkg-config = recurseIntoAttrs (callPackage ../top-level/pkg-config/tests.nix { }) // { __recurseIntoDerivationForReleaseJobs = true; };
2022-04-23 21:37:49 +00:00
buildRustCrate = callPackage ../build-support/rust/build-rust-crate/test { };
importCargoLock = callPackage ../build-support/rust/test/import-cargo-lock { };
2020-10-17 07:43:33 +00:00
vim = callPackage ./vim {};
nixos-functions = callPackage ./nixos-functions {};
overriding = callPackage ./overriding.nix { };
2020-04-10 23:47:44 +00:00
texlive = callPackage ./texlive {};
cuda = callPackage ./cuda { };
trivial-builders = callPackage ../build-support/trivial-builders/test/default.nix {};
2021-05-14 15:27:25 +00:00
2018-11-27 02:58:17 +00:00
writers = callPackage ../build-support/writers/test.nix {};
2021-10-25 05:53:15 +00:00
testers = callPackage ../build-support/testers/test/default.nix {};
2021-10-25 05:53:15 +00:00
dhall = callPackage ./dhall { };
2022-12-08 21:19:23 +00:00
cue-validation = callPackage ./cue {};
coq = callPackage ./coq {};
dotnet = recurseIntoAttrs (callPackages ./dotnet { });
makeHardcodeGsettingsPatch = callPackage ./make-hardcode-gsettings-patch { };
makeWrapper = callPackage ./make-wrapper { };
makeBinaryWrapper = callPackage ./make-binary-wrapper {
makeBinaryWrapper = pkgs.makeBinaryWrapper.override {
2022-05-12 13:23:38 +00:00
# Enable sanitizers in the tests only, to avoid the performance cost in regular usage.
# The sanitizers cause errors on aarch64-darwin, see https://github.com/NixOS/nixpkgs/pull/150079#issuecomment-994132734
sanitizers = pkgs.lib.optionals (! (pkgs.stdenv.hostPlatform.isDarwin && pkgs.stdenv.hostPlatform.isAarch64))
[ "undefined" "address" ];
};
};
pkgs-lib = recurseIntoAttrs (import ../pkgs-lib/tests { inherit pkgs; });
buildFHSEnv = recurseIntoAttrs (callPackages ./buildFHSEnv { });
nixpkgs-check-by-name = throw "tests.nixpkgs-check-by-name is now specified in a separate repository: https://github.com/NixOS/nixpkgs-check-by-name";
auto-patchelf-hook = callPackage ./auto-patchelf-hook { };
2024-10-09 17:15:27 +00:00
srcOnly = callPackage ../build-support/src-only/tests.nix { };
systemd = callPackage ./systemd { };
2024-04-03 20:49:21 +00:00
replaceVars = recurseIntoAttrs (callPackage ./replace-vars { });
substitute = recurseIntoAttrs (callPackage ./substitute { });
build-environment-info = callPackage ./build-environment-info { };
2018-05-11 01:08:26 +00:00
}