at master 1.5 kB view raw
1{ 2 runTest, 3 lib, 4 pkgs, 5 # Test current default (LTS) and latest kernel 6 kernelVersionsToTest ? [ 7 (lib.versions.majorMinor pkgs.linuxPackages.kernel.version) 8 "latest" 9 ], 10}: 11 12let 13 tests = 14 let 15 callTest = 16 p: args: 17 runTest { 18 imports = [ p ]; 19 _module = { inherit args; }; 20 }; 21 in 22 { 23 basic = callTest ./basic.nix; 24 amneziawg = callTest ./amneziawg.nix; 25 namespaces = callTest ./namespaces.nix; 26 networkd = callTest ./networkd.nix; 27 wg-quick = args: callTest ./wg-quick.nix ({ nftables = false; } // args); 28 wg-quick-nftables = args: callTest ./wg-quick.nix ({ nftables = true; } // args); 29 amneziawg-quick = args: callTest ./amneziawg-quick.nix ({ nftables = false; } // args); 30 generated = callTest ./generated.nix; 31 dynamic-refresh = args: callTest ./dynamic-refresh.nix ({ useNetworkd = false; } // args); 32 dynamic-refresh-networkd = args: callTest ./dynamic-refresh.nix ({ useNetworkd = true; } // args); 33 }; 34in 35 36lib.listToAttrs ( 37 lib.flip lib.concatMap kernelVersionsToTest ( 38 version: 39 let 40 v' = lib.replaceString "." "_" version; 41 in 42 lib.flip lib.mapAttrsToList tests ( 43 name: test: 44 lib.nameValuePair "wireguard-${name}-linux-${v'}" (test { 45 kernelPackages = 46 pkgs: if v' == "latest" then pkgs.linuxPackages_latest else pkgs.linuxKernel.packages."linux_${v'}"; 47 }) 48 ) 49 ) 50)