at 23.05-pre 1.6 kB view raw
1{ system ? builtins.currentSystem 2, config ? { } 3, pkgs ? import ../../.. { inherit system config; } 4, lib ? pkgs.lib 5, kernelVersionsToTest ? [ "4.19" "5.4" "5.10" "5.15" "latest" ] 6}: 7 8# For quickly running a test, the nixosTests.lvm2.lvm-thinpool-linux-latest attribute is recommended 9let 10 tests = let callTest = p: lib.flip (import p) { inherit system pkgs; }; in { 11 thinpool = { test = callTest ./thinpool.nix; kernelFilter = lib.id; }; 12 # we would like to test all versions, but the kernel module currently does not compile against the other versions 13 vdo = { test = callTest ./vdo.nix; kernelFilter = lib.filter (v: v == "5.15"); }; 14 15 16 # systemd in stage 1 17 raid-sd-stage-1 = { 18 test = callTest ./systemd-stage-1.nix; 19 kernelFilter = lib.id; 20 flavour = "raid"; 21 }; 22 thinpool-sd-stage-1 = { 23 test = callTest ./systemd-stage-1.nix; 24 kernelFilter = lib.id; 25 flavour = "thinpool"; 26 }; 27 vdo-sd-stage-1 = { 28 test = callTest ./systemd-stage-1.nix; 29 kernelFilter = lib.filter (v: v == "5.15"); 30 flavour = "vdo"; 31 }; 32 }; 33in 34lib.listToAttrs ( 35 lib.filter (x: x.value != {}) ( 36 lib.flip lib.concatMap kernelVersionsToTest (version: 37 let 38 v' = lib.replaceStrings [ "." ] [ "_" ] version; 39 in 40 lib.flip lib.mapAttrsToList tests (name: t: 41 lib.nameValuePair "lvm-${name}-linux-${v'}" (lib.optionalAttrs (builtins.elem version (t.kernelFilter kernelVersionsToTest)) (t.test ({ kernelPackages = pkgs."linuxPackages_${v'}"; } // builtins.removeAttrs t [ "test" "kernelFilter" ]))) 42 ) 43 ) 44 ) 45)