nixos/tests/kernel-rust: test against 6.7 and testing (6.8rc1)
In #283893 we realized that not only 6.7, but also testing is affected. And with more stable kernels following, we'll probably want to test against all of them whether Rust support is working fine. As long as it's not the default at least, then we should probably move this to `kernel-generic`. Every kernel that's new enough to support `rust-out-of-tree-module` (and `linux_testing`) is part of this text matrix.
This commit is contained in:
parent
cff853ca15
commit
37ac24e2c7
2 changed files with 40 additions and 27 deletions
|
@ -451,7 +451,7 @@ in {
|
|||
kerberos = handleTest ./kerberos/default.nix {};
|
||||
kernel-generic = handleTest ./kernel-generic.nix {};
|
||||
kernel-latest-ath-user-regd = handleTest ./kernel-latest-ath-user-regd.nix {};
|
||||
kernel-rust = runTestOn ["x86_64-linux"] ./kernel-rust.nix;
|
||||
kernel-rust = handleTestOn ["x86_64-linux"] ./kernel-rust.nix {};
|
||||
keter = handleTest ./keter.nix {};
|
||||
kexec = handleTest ./kexec.nix {};
|
||||
keycloak = discoverTests (import ./keycloak.nix);
|
||||
|
|
|
@ -1,30 +1,43 @@
|
|||
{ pkgs, ... }: {
|
||||
name = "kernel-rust";
|
||||
meta = with pkgs.lib.maintainers; {
|
||||
maintainers = [ blitz ];
|
||||
};
|
||||
{ system ? builtins.currentSystem
|
||||
, config ? { }
|
||||
, pkgs ? import ../.. { inherit system config; }
|
||||
}:
|
||||
|
||||
nodes.machine = { config, pkgs, ... }:
|
||||
{
|
||||
boot.kernelPackages = pkgs.linuxPackages_testing;
|
||||
let
|
||||
inherit (pkgs.lib) const filterAttrs mapAttrs;
|
||||
|
||||
boot.extraModulePackages = [
|
||||
config.boot.kernelPackages.rust-out-of-tree-module
|
||||
];
|
||||
|
||||
boot.kernelPatches = [
|
||||
{
|
||||
name = "Rust Support";
|
||||
patch = null;
|
||||
features = {
|
||||
rust = true;
|
||||
};
|
||||
}
|
||||
];
|
||||
kernelRustTest = kernelPackages: import ./make-test-python.nix ({ lib, ... }: {
|
||||
name = "kernel-rust";
|
||||
meta.maintainers = with lib.maintainers; [ blitz ma27 ];
|
||||
nodes.machine = { config, ... }: {
|
||||
boot = {
|
||||
inherit kernelPackages;
|
||||
extraModulePackages = [ config.boot.kernelPackages.rust-out-of-tree-module ];
|
||||
kernelPatches = [
|
||||
{
|
||||
name = "Rust Support";
|
||||
patch = null;
|
||||
features = {
|
||||
rust = true;
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
testScript = ''
|
||||
machine.wait_for_unit("default.target")
|
||||
machine.succeed("modprobe rust_out_of_tree")
|
||||
'';
|
||||
});
|
||||
|
||||
testScript = ''
|
||||
machine.wait_for_unit("default.target")
|
||||
machine.succeed("modprobe rust_out_of_tree")
|
||||
'';
|
||||
}
|
||||
kernels = {
|
||||
inherit (pkgs.linuxKernel.packages) linux_testing;
|
||||
}
|
||||
// filterAttrs
|
||||
(const (x: let
|
||||
inherit (builtins.tryEval (
|
||||
x.rust-out-of-tree-module or null != null
|
||||
)) success value;
|
||||
in success && value))
|
||||
pkgs.linuxKernel.vanillaPackages;
|
||||
in mapAttrs (const kernelRustTest) kernels
|
||||
|
|
Loading…
Reference in a new issue