about summary refs log tree commit diff
path: root/release.nix
diff options
context:
space:
mode:
Diffstat (limited to 'release.nix')
-rw-r--r--release.nix16
1 files changed, 5 insertions, 11 deletions
diff --git a/release.nix b/release.nix
index 2d5d9641..fc72ee2b 100644
--- a/release.nix
+++ b/release.nix
@@ -62,21 +62,15 @@ in with pkgsUpstream.lib; with builtins; {
   in mapAttrsRecursiveCond (m: !(m ? iso)) (const buildIso) allMachines;
 
   tests = let
+    machineList = collect (m: m ? build) allMachines;
     allTests = import ./lib/get-tests.nix {
       inherit system nixpkgs;
     };
-    machineList = collect (m: m ? build) allMachines;
-    activatedTests = concatMap (machine:
+    activatedTests = unique (concatMap (machine:
       machine.build.config.vuizvui.requiresTests
-    ) [ (head machineList) ];
-    cmpTest = a: b:
-      if a ? driver
-      then a.driver.testScript == b.driver.testScript && a.name == b.name
-      else a.drvPath == b.drvPath;
-    hasTest = test: any (cmpTest test) activatedTests;
-    includeTest = test: optionalAttrs (hasTest test) test;
-    cond = t: !((t.type or null) == "derivation" || t ? test);
-  in mapAttrsRecursiveCond cond (const includeTest) allTests;
+    ) machineList);
+    mkTest = path: setAttrByPath path (getAttrFromPath path allTests);
+  in fold recursiveUpdate {} (map mkTest activatedTests);
 
   pkgs = let
     releaseLib = import "${nixpkgs}/pkgs/top-level/release-lib.nix" {