nixpkgs/nixos/tests/kernel-generic.nix
sternenseemann 17efdfbbca nixos/tests/kernel-generic: make attributes derivations, not functions
Pass the args from kernel-generic.nix's top-level to the individual
tests. Makes `nix-build -A nixosTests.kernel-generic.<attr>` and
`nix-build nixos/tests/kernel-generic.nix -A <attr>` work as expected.
2021-04-13 16:13:11 +02:00

38 lines
1.1 KiB
Nix

{ system ? builtins.currentSystem
, config ? { }
, pkgs ? import ../.. { inherit system config; }
}@args:
with pkgs.lib;
let
makeKernelTest = version: linuxPackages: (import ./make-test-python.nix ({ pkgs, ... }: {
name = "kernel-${version}";
meta = with pkgs.lib.maintainers; {
maintainers = [ nequissimus ];
};
machine = { ... }:
{
boot.kernelPackages = linuxPackages;
};
testScript =
''
assert "Linux" in machine.succeed("uname -s")
assert "${linuxPackages.kernel.modDirVersion}" in machine.succeed("uname -a")
'';
}) args);
in
with pkgs; {
linux_4_4 = makeKernelTest "4.4" linuxPackages_4_4;
linux_4_9 = makeKernelTest "4.9" linuxPackages_4_9;
linux_4_14 = makeKernelTest "4.14" linuxPackages_4_14;
linux_4_19 = makeKernelTest "4.19" linuxPackages_4_19;
linux_5_4 = makeKernelTest "5.4" linuxPackages_5_4;
linux_5_10 = makeKernelTest "5.10" linuxPackages_5_10;
linux_5_11 = makeKernelTest "5.11" linuxPackages_5_11;
linux_testing = makeKernelTest "testing" linuxPackages_testing;
}