testing: rename defaults to common options

They are technically no defaults and competing declarations cause a
module error
This commit is contained in:
David Arnold 2021-05-31 22:31:37 -05:00
parent 557cc48a0a
commit b29d3a11b2
No known key found for this signature in database
GPG key ID: 6D6A936E69C59D08
5 changed files with 18 additions and 18 deletions

View file

@ -19,10 +19,10 @@ let
tests = [ ./test.nix ];
docker.registryUrl = "";
# testing commonalities for tests that exhibit the respective feature
defaults = [
common = [
{
features = [ "k8s" ];
default = {
options = {
kubernetes.version = "1.20";
};
}

View file

@ -39,21 +39,21 @@ in
default = true;
};
defaults = mkOption {
description = "List of defaults to apply to tests";
common = mkOption {
description = "List of common options to apply to tests";
type = types.listOf (types.submodule ({ config, ... }: {
options = {
features = mkOption {
description = "List of features that test has to have to apply defaults";
description = "List of features that test has to have to apply options";
type = types.listOf types.str;
default = [ ];
};
default = mkOption {
description = "Default to apply to test";
options = mkOption {
description = "Options to apply to test";
type = types.unspecified;
default = { };
apply = default: { _file = "testing.defaults"; } // default;
apply = default: { _file = "testing.common"; } // default;
};
};
}));

View file

@ -37,9 +37,9 @@ in
};
};
config.testing.defaults = [{
config.testing.common = [{
features = [ "docker" ];
default = {
options = {
_file = "testing.docker.registryUrl";
docker.registry.url = cfg.registryUrl;
};

View file

@ -33,23 +33,23 @@ let
# test features
testFeatures = evaled'.config._m.features;
# defaults that can be applied on tests
defaults =
# common options that can be applied on this test
commonOpts =
filter
(d:
(intersectLists d.features testFeatures) == d.features ||
(length d.features) == 0
)
testing.defaults;
testing.common;
# add default modules to all modules
modulesWithDefaults = modules ++ (map (d: d.default) defaults);
# add common options modules to all modules
modulesWithCommonOptions = modules ++ (map (d: d.options) commonOpts);
# evaled test
evaled =
let
evaled' = kubenix.evalModules {
modules = modulesWithDefaults;
modules = modulesWithCommonOptions;
};
in
if testing.throwError then evaled'

View file

@ -40,10 +40,10 @@ let
args = { images = pkgs.callPackage ./images.nix { }; };
docker.registryUrl = registry;
defaults = [
common = [
{
features = [ "k8s" ];
default = {
options = {
kubernetes.version = k8sVersion;
};
}