summary refs log tree commit diff
path: root/pkgs/os-specific/linux/kernel/generic.nix
diff options
context:
space:
mode:
authorAtemu <atemu.main@gmail.com>2021-05-02 15:46:34 +0200
committerAtemu <atemu.main@gmail.com>2021-08-23 19:57:49 +0200
commit0a43b6d5e9cbc1414eb32be7c2ade406cf2bc8f4 (patch)
treeea8637bcb7b3dd0b9387a9429ba8b762fac9ba1d /pkgs/os-specific/linux/kernel/generic.nix
parenta3f6ff6d48c42397fa716a8357c7b8be704fd61f (diff)
downloadnixpkgs-0a43b6d5e9cbc1414eb32be7c2ade406cf2bc8f4.tar
nixpkgs-0a43b6d5e9cbc1414eb32be7c2ade406cf2bc8f4.tar.gz
nixpkgs-0a43b6d5e9cbc1414eb32be7c2ade406cf2bc8f4.tar.bz2
nixpkgs-0a43b6d5e9cbc1414eb32be7c2ade406cf2bc8f4.tar.lz
nixpkgs-0a43b6d5e9cbc1414eb32be7c2ade406cf2bc8f4.tar.xz
nixpkgs-0a43b6d5e9cbc1414eb32be7c2ade406cf2bc8f4.tar.zst
nixpkgs-0a43b6d5e9cbc1414eb32be7c2ade406cf2bc8f4.zip
kernel/generic: add kernelTests automatically
Unfortunately, there seems to be no way of referencing an overridable version of
the package you're in, so it had to be stubed to work at all.

This isn't important for our current, very basic kernel nixosTests but might
become important when we add more sophisticated ones.
Diffstat (limited to 'pkgs/os-specific/linux/kernel/generic.nix')
-rw-r--r--pkgs/os-specific/linux/kernel/generic.nix14
1 files changed, 12 insertions, 2 deletions
diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix
index 7f4f0f2d6bb..7f2a97d868e 100644
--- a/pkgs/os-specific/linux/kernel/generic.nix
+++ b/pkgs/os-specific/linux/kernel/generic.nix
@@ -58,6 +58,7 @@
 , preferBuiltin ? stdenv.hostPlatform.linux-kernel.preferBuiltin or false
 , kernelArch ? stdenv.hostPlatform.linuxArch
 , kernelTests ? []
+, nixosTests
 , ...
 }:
 
@@ -192,7 +193,16 @@ let
     kernelOlder = lib.versionOlder version;
     kernelAtLeast = lib.versionAtLeast version;
     passthru = kernel.passthru // (removeAttrs passthru [ "passthru" ]);
-    tests = kernelTests;
+    tests = let
+      overridableKernel = finalKernel // {
+        override = args:
+          lib.warn (
+            "override is stubbed for NixOS kernel tests, not applying changes these arguments: "
+            + toString (lib.attrNames (if lib.isAttrs args then args else args {}))
+          ) overridableKernel;
+      };
+    in [ (nixosTests.kernel-generic.testsForKernel overridableKernel) ] ++ kernelTests;
   };
 
-in lib.extendDerivation true passthru kernel
+  finalKernel = lib.extendDerivation true passthru kernel;
+in finalKernel