nixosTest: provide a test for lib.extend in nixosTests & runNixOSTest

This commit is contained in:
Arthur Gautier 2023-06-03 20:10:20 -07:00
parent 562f879cd1
commit 9338511350
2 changed files with 32 additions and 0 deletions

View file

@ -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;
};

View 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;
}