From ca5095373cbf0e3c716cf281a34e44cd5b4b4621 Mon Sep 17 00:00:00 2001 From: Artturin Date: Thu, 7 Sep 2023 23:21:06 +0300 Subject: [PATCH] tests.cc-wrapper: add supported and move tests to subsets --- pkgs/test/default.nix | 38 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) diff --git a/pkgs/test/default.nix b/pkgs/test/default.nix index 8bc9a7844ff5ed4..7edf61aced37a11 100644 --- a/pkgs/test/default.nix +++ b/pkgs/test/default.nix @@ -17,7 +17,7 @@ with pkgs; libcxx = callPackage ./cc-wrapper { stdenv = pkgs.${name}.libcxxStdenv; }; }); in - recurseIntoAttrs tests; + tests; gccTests = let pkgSets = lib.pipe (attrNames pkgs) ([ (filter (lib.hasPrefix "gcc")) @@ -32,7 +32,41 @@ with pkgs; in lib.genAttrs pkgSets (name: callPackage ./cc-wrapper { stdenv = pkgs.${name}; }); in recurseIntoAttrs { default = callPackage ./cc-wrapper { }; - } // llvmTests // gccTests; + + supported = stdenv.mkDerivation { + name = "cc-wrapper-supported"; + passthru = { + inherit tests; + }; + builtGCC = + let + names = lib.pipe (attrNames gccTests) [ + (filter (n: lib.meta.availableOn stdenv.hostPlatform pkgs.${n}.cc)) + # Broken + (filter (n: n != "gcc49Stdenv")) + (filter (n: n != "gccMultiStdenv")) + ]; + in + toJSON (lib.genAttrs names (name: { name = pkgs.${name}; })); + + builtLLVM = + let + names = lib.pipe (attrNames llvmTests) [ + (filter (n: lib.meta.availableOn stdenv.hostPlatform pkgs.${n}.stdenv.cc)) + (filter (n: lib.meta.availableOn stdenv.hostPlatform pkgs.${n}.libcxxStdenv.cc)) + # libcxxStdenv broken + (filter (n: n != "llvmPackages_15")) + ]; + in + toJSON (lib.genAttrs names (name: { stdenv = pkgs.${name}.stdenv; libcxx = pkgs.${name}.libcxxStdenv; })); + buildCommand = '' + touch $out + ''; + }; + + llvmTests = recurseIntoAttrs llvmTests; + inherit gccTests; + }; stdenv-inputs = callPackage ./stdenv-inputs { }; stdenv = callPackage ./stdenv { };