summaryrefslogtreecommitdiffstats
path: root/pkgs/test/default.nix
diff options
context:
space:
mode:
authorRahul Butani <rrbutani@users.noreply.github.com>2023-02-14 00:46:15 -0600
committerArtturin <Artturin@artturin.com>2023-09-07 22:36:07 +0300
commit626c8c3224893df4b6eab1ff01df8abaad1c3476 (patch)
treefdea4cc4af91c149634a47e41ebf10cf1117a386 /pkgs/test/default.nix
parent8b4f80741c6b832ad866ea1b5ec79ef7dbba2650 (diff)
tests.cc-wrapper: rework the logic, test newer `gcc` stdenvs too
ignore `llvmPackages_latest`, it's an alias and it'll be a duplicate. ignore `llvmPackages_git`, it's not supposed to be used in nixpkgs and may be broken.
Diffstat (limited to 'pkgs/test/default.nix')
-rw-r--r--pkgs/test/default.nix57
1 files changed, 26 insertions, 31 deletions
diff --git a/pkgs/test/default.nix b/pkgs/test/default.nix
index 979fb6b6db86..77531d4e6a38 100644
--- a/pkgs/test/default.nix
+++ b/pkgs/test/default.nix
@@ -3,37 +3,32 @@
with pkgs;
{
- cc-wrapper = callPackage ./cc-wrapper { };
- cc-wrapper-gcc = callPackage ./cc-wrapper { stdenv = gccStdenv; };
- cc-wrapper-gcc7 = callPackage ./cc-wrapper { stdenv = gcc7Stdenv; };
- cc-wrapper-gcc8 = callPackage ./cc-wrapper { stdenv = gcc8Stdenv; };
- cc-wrapper-gcc9 = callPackage ./cc-wrapper { stdenv = gcc9Stdenv; };
- cc-wrapper-clang = callPackage ./cc-wrapper { stdenv = llvmPackages.stdenv; };
- cc-wrapper-libcxx = callPackage ./cc-wrapper { stdenv = llvmPackages.libcxxStdenv; };
- cc-wrapper-clang-5 = callPackage ./cc-wrapper { stdenv = llvmPackages_5.stdenv; };
- cc-wrapper-libcxx-5 = callPackage ./cc-wrapper { stdenv = llvmPackages_5.libcxxStdenv; };
- cc-wrapper-clang-6 = callPackage ./cc-wrapper { stdenv = llvmPackages_6.stdenv; };
- cc-wrapper-libcxx-6 = callPackage ./cc-wrapper { stdenv = llvmPackages_6.libcxxStdenv; };
- cc-wrapper-clang-7 = callPackage ./cc-wrapper { stdenv = llvmPackages_7.stdenv; };
- cc-wrapper-libcxx-7 = callPackage ./cc-wrapper { stdenv = llvmPackages_7.libcxxStdenv; };
- cc-wrapper-clang-8 = callPackage ./cc-wrapper { stdenv = llvmPackages_8.stdenv; };
- cc-wrapper-libcxx-8 = callPackage ./cc-wrapper { stdenv = llvmPackages_8.libcxxStdenv; };
- cc-wrapper-clang-9 = callPackage ./cc-wrapper { stdenv = llvmPackages_9.stdenv; };
- cc-wrapper-libcxx-9 = callPackage ./cc-wrapper { stdenv = llvmPackages_9.libcxxStdenv; };
- cc-wrapper-clang-10 = callPackage ./cc-wrapper { stdenv = llvmPackages_10.stdenv; };
- cc-wrapper-libcxx-10 = callPackage ./cc-wrapper { stdenv = llvmPackages_10.libcxxStdenv; };
- cc-wrapper-clang-11 = callPackage ./cc-wrapper { stdenv = llvmPackages_11.stdenv; };
- cc-wrapper-libcxx-11 = callPackage ./cc-wrapper { stdenv = llvmPackages_11.libcxxStdenv; };
- cc-wrapper-clang-12 = callPackage ./cc-wrapper { stdenv = llvmPackages_12.stdenv; };
- cc-wrapper-libcxx-12 = callPackage ./cc-wrapper { stdenv = llvmPackages_12.libcxxStdenv; };
- cc-wrapper-clang-13 = callPackage ./cc-wrapper { stdenv = llvmPackages_13.stdenv; };
- cc-wrapper-libcxx-13 = callPackage ./cc-wrapper { stdenv = llvmPackages_13.libcxxStdenv; };
- cc-wrapper-clang-14 = callPackage ./cc-wrapper { stdenv = llvmPackages_14.stdenv; };
- cc-wrapper-libcxx-14 = callPackage ./cc-wrapper { stdenv = llvmPackages_14.libcxxStdenv; };
- cc-wrapper-clang-15 = callPackage ./cc-wrapper { stdenv = llvmPackages_15.stdenv; };
- cc-wrapper-libcxx-15 = callPackage ./cc-wrapper { stdenv = llvmPackages_15.libcxxStdenv; };
- cc-wrapper-clang-git = callPackage ./cc-wrapper { stdenv = llvmPackages_git.stdenv; };
- cc-wrapper-libcxx-git = callPackage ./cc-wrapper { stdenv = llvmPackages_git.libcxxStdenv; };
+ cc-wrapper = with builtins; let
+ pkgNames = (attrNames pkgs);
+ llvmTests = let
+ pkgSets = lib.pipe pkgNames [
+ (filter (lib.hasPrefix "llvmPackages"))
+ (filter (n: n != "llvmPackages_rocm"))
+ (filter (n: n != "llvmPackages_latest"))
+ (filter (n: n != "llvmPackages_git"))
+ ];
+ tests = lib.genAttrs pkgSets (name: recurseIntoAttrs {
+ clang = callPackage ./cc-wrapper { stdenv = pkgs.${name}.stdenv; };
+ libcxx = callPackage ./cc-wrapper { stdenv = pkgs.${name}.libcxxStdenv; };
+ });
+ in
+ recurseIntoAttrs tests;
+ gccTests = let
+ pkgSets = lib.pipe (attrNames pkgs) [
+ (filter (lib.hasPrefix "gcc"))
+ (filter (lib.hasSuffix "Stdenv"))
+ (filter (n: n != "gccCrossLibcStdenv"))
+ ];
+ in lib.genAttrs pkgSets (name: callPackage ./cc-wrapper { stdenv = pkgs.${name}; });
+ in recurseIntoAttrs {
+ default = callPackage ./cc-wrapper { };
+ } // llvmTests // gccTests;
+
stdenv-inputs = callPackage ./stdenv-inputs { };
stdenv = callPackage ./stdenv { };