feat: initial testing support

This commit is contained in:
Jaka Hudoklin 2019-02-12 16:22:18 +01:00
parent e286c9b0e8
commit 9f8ca8447e
No known key found for this signature in database
GPG key ID: 6A08896BFD32BD95
6 changed files with 362 additions and 127 deletions

41
test/modules/test.nix Normal file
View file

@ -0,0 +1,41 @@
{ lib, ... }:
with lib;
{
options.test = {
name = mkOption {
description = "Test name";
type = types.str;
};
description = mkOption {
description = "Test description";
type = types.str;
};
assertions = mkOption {
type = types.listOf (types.submodule {
options = {
assertion = mkOption {
description = "assertion value";
type = types.bool;
default = false;
};
message = mkOption {
description = "assertion message";
type = types.str;
};
};
});
default = [];
example = [ { assertion = false; message = "you can't enable this for that reason"; } ];
description = ''
This option allows modules to express conditions that must
hold for the evaluation of the system configuration to
succeed, along with associated error messages for the user.
'';
};
};
}