1{
2 system ? builtins.currentSystem,
3 config ? { },
4 pkgs ? import ../.. { inherit system config; },
5}@args:
6
7with pkgs.lib;
8
9let
10 testsForLinuxPackages =
11 linuxPackages:
12 (import ./make-test-python.nix (
13 { pkgs, ... }:
14 {
15 name = "kernel-${linuxPackages.kernel.version}";
16 meta = with pkgs.lib.maintainers; {
17 maintainers = [
18 nequissimus
19 atemu
20 ma27
21 ];
22 };
23
24 nodes.machine =
25 { ... }:
26 {
27 boot.kernelPackages = linuxPackages;
28 };
29
30 testScript = ''
31 assert "Linux" in machine.succeed("uname -s")
32 assert "${linuxPackages.kernel.modDirVersion}" in machine.succeed("uname -a")
33 '';
34 }
35 ) args);
36 kernels = pkgs.linuxKernel.vanillaPackages // {
37 inherit (pkgs.linuxKernel.packages)
38 linux_6_12_hardened
39 linux_rt_5_4
40 linux_rt_5_10
41 linux_rt_5_15
42 linux_rt_6_1
43 linux_rt_6_6
44 linux_libre
45
46 linux_testing
47 ;
48 };
49
50in
51mapAttrs (_: lP: testsForLinuxPackages lP) kernels
52// {
53 passthru = {
54 inherit testsForLinuxPackages;
55
56 # Useful for development testing of all Kernel configs without building full Kernel
57 configfiles = mapAttrs (_: lP: lP.kernel.configfile) kernels;
58
59 testsForKernel = kernel: testsForLinuxPackages (pkgs.linuxPackagesFor kernel);
60 };
61}