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 =
|
baseOS =
|
||||||
import ../eval-config.nix {
|
import ../eval-config.nix {
|
||||||
|
inherit lib;
|
||||||
system = null; # use modularly defined system
|
system = null; # use modularly defined system
|
||||||
inherit (config.node) specialArgs;
|
inherit (config.node) specialArgs;
|
||||||
modules = [ config.defaults ];
|
modules = [ config.defaults ];
|
||||||
|
@ -87,6 +87,7 @@ in {
|
|||||||
# Testing the test driver
|
# Testing the test driver
|
||||||
nixos-test-driver = {
|
nixos-test-driver = {
|
||||||
extra-python-packages = handleTest ./nixos-test-driver/extra-python-packages.nix {};
|
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;
|
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
|
# See doc/builders/testers.chapter.md or
|
||||||
# https://nixos.org/manual/nixpkgs/unstable/#tester-runNixOSTest
|
# https://nixos.org/manual/nixpkgs/unstable/#tester-runNixOSTest
|
||||||
runNixOSTest =
|
runNixOSTest =
|
||||||
let nixos = import ../../../nixos/lib {};
|
let nixos = import ../../../nixos/lib {
|
||||||
|
inherit lib;
|
||||||
|
};
|
||||||
in testModule:
|
in testModule:
|
||||||
nixos.runTest {
|
nixos.runTest {
|
||||||
_file = "pkgs.runNixOSTest implementation";
|
_file = "pkgs.runNixOSTest implementation";
|
||||||
|
Loading…
Reference in New Issue
Block a user