Merge pull request #285035 from Ma27/kernel-rust-matrix

nixos/tests/kernel-rust: test against 6.7 and testing (6.8rc1)

authored by Maximilian Bosch and committed by GitHub 11ef076a 7367ffc8

+40 -27
+1 -1
nixos/tests/all-tests.nix
··· 452 452 kerberos = handleTest ./kerberos/default.nix {}; 453 453 kernel-generic = handleTest ./kernel-generic.nix {}; 454 454 kernel-latest-ath-user-regd = handleTest ./kernel-latest-ath-user-regd.nix {}; 455 - kernel-rust = runTestOn ["x86_64-linux"] ./kernel-rust.nix; 455 + kernel-rust = handleTestOn ["x86_64-linux"] ./kernel-rust.nix {}; 456 456 keter = handleTest ./keter.nix {}; 457 457 kexec = handleTest ./kexec.nix {}; 458 458 keycloak = discoverTests (import ./keycloak.nix);
+39 -26
nixos/tests/kernel-rust.nix
··· 1 - { pkgs, ... }: { 2 - name = "kernel-rust"; 3 - meta = with pkgs.lib.maintainers; { 4 - maintainers = [ blitz ]; 5 - }; 1 + { system ? builtins.currentSystem 2 + , config ? { } 3 + , pkgs ? import ../.. { inherit system config; } 4 + }: 6 5 7 - nodes.machine = { config, pkgs, ... }: 8 - { 9 - boot.kernelPackages = pkgs.linuxPackages_testing; 6 + let 7 + inherit (pkgs.lib) const filterAttrs mapAttrs; 10 8 11 - boot.extraModulePackages = [ 12 - config.boot.kernelPackages.rust-out-of-tree-module 13 - ]; 14 - 15 - boot.kernelPatches = [ 16 - { 17 - name = "Rust Support"; 18 - patch = null; 19 - features = { 20 - rust = true; 21 - }; 22 - } 23 - ]; 9 + kernelRustTest = kernelPackages: import ./make-test-python.nix ({ lib, ... }: { 10 + name = "kernel-rust"; 11 + meta.maintainers = with lib.maintainers; [ blitz ma27 ]; 12 + nodes.machine = { config, ... }: { 13 + boot = { 14 + inherit kernelPackages; 15 + extraModulePackages = [ config.boot.kernelPackages.rust-out-of-tree-module ]; 16 + kernelPatches = [ 17 + { 18 + name = "Rust Support"; 19 + patch = null; 20 + features = { 21 + rust = true; 22 + }; 23 + } 24 + ]; 25 + }; 24 26 }; 27 + testScript = '' 28 + machine.wait_for_unit("default.target") 29 + machine.succeed("modprobe rust_out_of_tree") 30 + ''; 31 + }); 25 32 26 - testScript = '' 27 - machine.wait_for_unit("default.target") 28 - machine.succeed("modprobe rust_out_of_tree") 29 - ''; 30 - } 33 + kernels = { 34 + inherit (pkgs.linuxKernel.packages) linux_testing; 35 + } 36 + // filterAttrs 37 + (const (x: let 38 + inherit (builtins.tryEval ( 39 + x.rust-out-of-tree-module or null != null 40 + )) success value; 41 + in success && value)) 42 + pkgs.linuxKernel.vanillaPackages; 43 + in mapAttrs (const kernelRustTest) kernels