vuls: init at 0.27.0 (#348530)
[NixPkgs.git] / nixos / tests / kernel-generic.nix
blobe5d3b36642e72877e46c5ec5f18d6c2cb7f89ef3
1 { system ? builtins.currentSystem
2 , config ? { }
3 , pkgs ? import ../.. { inherit system config; }
4 }@args:
6 with pkgs.lib;
8 let
9   testsForLinuxPackages = linuxPackages: (import ./make-test-python.nix ({ pkgs, ... }: {
10     name = "kernel-${linuxPackages.kernel.version}";
11     meta = with pkgs.lib.maintainers; {
12       maintainers = [ nequissimus atemu ma27 ];
13     };
15     nodes.machine = { ... }:
16       {
17         boot.kernelPackages = linuxPackages;
18       };
20     testScript =
21       ''
22         assert "Linux" in machine.succeed("uname -s")
23         assert "${linuxPackages.kernel.modDirVersion}" in machine.succeed("uname -a")
24       '';
25   }) args);
26   kernels = pkgs.linuxKernel.vanillaPackages // {
27     inherit (pkgs.linuxKernel.packages)
28       linux_5_4_hardened
29       linux_5_10_hardened
30       linux_5_15_hardened
31       linux_6_1_hardened
32       linux_6_6_hardened
33       linux_rt_5_4
34       linux_rt_5_10
35       linux_rt_5_15
36       linux_rt_6_1
37       linux_rt_6_6
38       linux_libre
40       linux_testing;
41   };
43 in mapAttrs (_: lP: testsForLinuxPackages lP) kernels // {
44   passthru = {
45     inherit testsForLinuxPackages;
47     # Useful for development testing of all Kernel configs without building full Kernel
48     configfiles = mapAttrs (_: lP: lP.kernel.configfile) kernels;
50     testsForKernel = kernel: testsForLinuxPackages (pkgs.linuxPackagesFor kernel);
51   };