Merge pull request #235874 from baloo/baloo/nixosTest/lib.override-support
nixosTest: adds support for lib.extend
This commit is contained in:
commit
e3c1e48ef8
|
@ -16,6 +16,7 @@ let
|
|||
|
||||
baseOS =
|
||||
import ../eval-config.nix {
|
||||
inherit lib;
|
||||
system = null; # use modularly defined system
|
||||
inherit (config.node) specialArgs;
|
||||
modules = [ config.defaults ];
|
||||
|
|
|
@ -87,6 +87,7 @@ in {
|
|||
# Testing the test driver
|
||||
nixos-test-driver = {
|
||||
extra-python-packages = handleTest ./nixos-test-driver/extra-python-packages.nix {};
|
||||
lib-extend = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./nixos-test-driver/lib-extend.nix {};
|
||||
node-name = runTest ./nixos-test-driver/node-name.nix;
|
||||
};
|
||||
|
||||
|
|
31
nixos/tests/nixos-test-driver/lib-extend.nix
Normal file
31
nixos/tests/nixos-test-driver/lib-extend.nix
Normal file
|
@ -0,0 +1,31 @@
|
|||
{ pkgs, ... }:
|
||||
|
||||
let
|
||||
patchedPkgs = pkgs.extend (new: old: {
|
||||
lib = old.lib.extend (self: super: {
|
||||
sorry_dave = "sorry dave";
|
||||
});
|
||||
});
|
||||
|
||||
testBody = {
|
||||
name = "demo lib overlay";
|
||||
|
||||
nodes = {
|
||||
machine = { lib, ... }: {
|
||||
environment.etc."got-lib-overlay".text = lib.sorry_dave;
|
||||
};
|
||||
};
|
||||
|
||||
# We don't need to run an actual test. Instead we build the `machine` configuration
|
||||
# and call it a day, because that already proves that `lib` is wired up correctly.
|
||||
# See the attrset returned at the bottom of this file.
|
||||
testScript = "";
|
||||
};
|
||||
|
||||
inherit (patchedPkgs.testers) nixosTest runNixOSTest;
|
||||
evaluationNixosTest = nixosTest testBody;
|
||||
evaluationRunNixOSTest = runNixOSTest testBody;
|
||||
in {
|
||||
nixosTest = evaluationNixosTest.driver.nodes.machine.system.build.toplevel;
|
||||
runNixOSTest = evaluationRunNixOSTest.driver.nodes.machine.system.build.toplevel;
|
||||
}
|
|
@ -97,7 +97,9 @@
|
|||
# See doc/builders/testers.chapter.md or
|
||||
# https://nixos.org/manual/nixpkgs/unstable/#tester-runNixOSTest
|
||||
runNixOSTest =
|
||||
let nixos = import ../../../nixos/lib {};
|
||||
let nixos = import ../../../nixos/lib {
|
||||
inherit lib;
|
||||
};
|
||||
in testModule:
|
||||
nixos.runTest {
|
||||
_file = "pkgs.runNixOSTest implementation";
|
||||
|
|
Loading…
Reference in a new issue