kubenix/tests/default.nix

52 lines
1.2 KiB
Nix
Raw Normal View History

2019-02-12 16:22:18 +01:00
{ pkgs ? import <nixpkgs> {}
, kubenix ? import ../. {inherit pkgs;}
, lib ? kubenix.lib
2019-02-16 14:02:13 +01:00
, k8sVersions ? ["1.7" "1.8" "1.9" "1.10" "1.11" "1.12" "1.13"]
2019-02-12 16:22:18 +01:00
# whether any testing error should throw an error
, throwError ? true
, e2e ? true }:
2019-02-12 16:22:18 +01:00
with lib;
let
2019-02-25 17:16:24 +01:00
images = pkgs.callPackage ./images.nix {};
tests = listToAttrs (map (version: let
version' = replaceStrings ["."] ["_"] version;
in nameValuePair "v${version'}" (evalModules {
modules = [
kubenix.testing
2019-02-12 16:22:18 +01:00
{
imports = [kubenix.k8s kubenix.submodules];
2019-02-16 14:02:13 +01:00
kubernetes.version = version;
testing.throwError = throwError;
testing.e2e = e2e;
testing.tests = [
./k8s/simple.nix
./k8s/deployment.nix
./k8s/crd.nix
./k8s/1.13/crd.nix
2019-02-25 17:16:24 +01:00
./k8s/submodule.nix
./submodules/simple.nix
2019-02-26 21:23:14 +01:00
./submodules/defaults.nix
];
testing.defaults = ({kubenix, ...}: {
imports = [kubenix.k8s];
kubernetes.version = version;
2019-02-25 17:16:24 +01:00
_module.args.images = images;
});
}
];
args = {
inherit pkgs;
};
specialArgs = {
inherit kubenix;
};
}).config) k8sVersions);
2019-02-25 17:16:24 +01:00
in tests