3
0
Fork 0
forked from mirrors/nixpkgs

nixos/tests/openldap: make openldap test auto-callable

The NixOS manual documents that you can invoke every tests using

    nix-build path/to/nixos/tests/test.nix

which was not the case for openldap since it is not autocallable, but
requires pkgs and system as arguments. Usually, make-test-pythons.nix
takes care of this if it is imported at the top-level, but since
openldap.nix contains multiple tests, this was not the case.

This is however easily fixed by:

* Adding default values for the pkgs and system arguments based on the
  definition in make-test-python.nix
* Passing pkgs and system explicitly to make-test-python.nix to ensure
  the pkgs and system values passed from all-tests.nix are used.
This commit is contained in:
sternenseemann 2021-02-18 12:56:58 +01:00
parent 6b1057b452
commit 281a2401b2

View file

@ -1,4 +1,9 @@
{ pkgs, system ? builtins.currentSystem, ... }: let { pkgs ? (import ../.. { inherit system; config = { }; })
, system ? builtins.currentSystem
, ...
}:
let
dbContents = '' dbContents = ''
dn: dc=example dn: dc=example
objectClass: domain objectClass: domain
@ -16,7 +21,7 @@
''; '';
in { in {
# New-style configuration # New-style configuration
current = import ./make-test-python.nix { current = import ./make-test-python.nix ({ pkgs, ... }: {
inherit testScript; inherit testScript;
name = "openldap"; name = "openldap";
@ -53,10 +58,10 @@ in {
declarativeContents."dc=example" = dbContents; declarativeContents."dc=example" = dbContents;
}; };
}; };
}; }) { inherit pkgs system; };
# Old-style configuration # Old-style configuration
oldOptions = import ./make-test-python.nix { oldOptions = import ./make-test-python.nix ({ pkgs, ... }: {
inherit testScript; inherit testScript;
name = "openldap"; name = "openldap";
@ -72,10 +77,10 @@ in {
declarativeContents."dc=example" = dbContents; declarativeContents."dc=example" = dbContents;
}; };
}; };
}; }) { inherit system pkgs; };
# Manually managed configDir, for example if dynamic config is essential # Manually managed configDir, for example if dynamic config is essential
manualConfigDir = import ./make-test-python.nix { manualConfigDir = import ./make-test-python.nix ({ pkgs, ... }: {
name = "openldap"; name = "openldap";
machine = { pkgs, ... }: { machine = { pkgs, ... }: {
@ -121,5 +126,5 @@ in {
"systemctl restart openldap", "systemctl restart openldap",
) )
'' + testScript; '' + testScript;
}; }) { inherit system pkgs; };
} }