tests.testers.nixosTest-example: move from tests.nixos-functions.nixosTest-test

And improve the test a bit, to assert correct wiring of `pkgs`.
This commit is contained in:
Robert Hensing 2022-05-09 14:18:40 +02:00
parent ae172a2bb4
commit 93abb7bef7
4 changed files with 37 additions and 11 deletions

View File

@ -0,0 +1,8 @@
# Tests _for the testers_
cd nixpkgs
nix-build -A tests.testers
Tests generally derive their own correctness from simplicity, which in the
case of testers (themselves functions) does not always work out.
Hence the need for tests that test the testers.

View File

@ -0,0 +1,27 @@
{ testers, lib, pkgs, ... }:
let
pkgs-with-overlay = pkgs.extend(final: prev: {
proof-of-overlay-hello = prev.hello;
});
dummyVersioning = {
revision = "test";
versionSuffix = "test";
label = "test";
};
in
lib.recurseIntoAttrs {
# Check that the wiring of nixosTest is correct.
# Correct operation of the NixOS test driver should be asserted elsewhere.
nixosTest-example = pkgs-with-overlay.testers.nixosTest ({ lib, pkgs, figlet, ... }: {
name = "nixosTest-test";
nodes.machine = { pkgs, ... }: {
system.nixos = dummyVersioning;
environment.systemPackages = [ pkgs.proof-of-overlay-hello figlet ];
};
testScript = ''
machine.succeed("hello | figlet >/dev/console")
'';
});
}

View File

@ -67,6 +67,8 @@ with pkgs;
writers = callPackage ../build-support/writers/test.nix {};
testers = callPackage ../build-support/testers/test/default.nix {};
dhall = callPackage ./dhall { };
makeWrapper = callPackage ./make-wrapper {};

View File

@ -26,16 +26,5 @@ in lib.optionalAttrs stdenv.hostPlatform.isLinux (
fileSystems."/".device = "/dev/null";
}).toplevel;
nixosTest-test = pkgs.testers.nixosTest ({ lib, pkgs, figlet, ... }: {
name = "nixosTest-test";
nodes.machine = { pkgs, ... }: {
system.nixos = dummyVersioning;
environment.systemPackages = [ pkgs.hello figlet ];
};
testScript = ''
machine.succeed("hello | figlet >/dev/console")
'';
});
}
)