about summary refs log tree commit diff
path: root/lib/tests
diff options
context:
space:
mode:
authorSilvan Mosberger <contact@infinisil.com>2020-11-30 21:42:52 +0100
committerSilvan Mosberger <contact@infinisil.com>2020-11-30 23:51:42 +0100
commit8dea4df90323c43f9cc86a629f1581b91866e11d (patch)
tree7d426d12e78ca4120c2fc50c094f719112eeedc4 /lib/tests
parentc9cc8969b4d4adeb389837d1cc85cc73a8272f55 (diff)
lib/modules: Remove _module.checks.*.triggerPath as it's not necessary
Previously this option was thought to be necessary to avoid infinite
recursion, but it actually isn't, since the check evaluation isn't fed
back into the module fixed-point.
Diffstat (limited to 'lib/tests')
-rwxr-xr-xlib/tests/modules.sh15
-rw-r--r--lib/tests/modules/assertions/enable-lazy.nix17
-rw-r--r--lib/tests/modules/assertions/non-cascading.nix17
-rw-r--r--lib/tests/modules/assertions/trigger-lazy.nix15
-rw-r--r--lib/tests/modules/assertions/trigger-submodule.nix18
5 files changed, 0 insertions, 82 deletions
diff --git a/lib/tests/modules.sh b/lib/tests/modules.sh
index 43bcabdf8167f..9e85c90d15c55 100755
--- a/lib/tests/modules.sh
+++ b/lib/tests/modules.sh
@@ -278,13 +278,6 @@ checkConfigOutput baz config.value.nested.bar.baz ./types-anything/mk-mods.nix
 ## Module assertions
 # Check that assertions are triggered by default for just evaluating config
 checkConfigError 'Failed checks:\n- \[test\] Assertion failed' config ./assertions/simple.nix
-# Check that assertions are only triggered if they have a triggerPath that's evaluated
-checkConfigError 'Failed checks:\n- \[test\] Assertion failed' config.foo ./assertions/trigger-lazy.nix
-checkConfigOutput true config.bar ./assertions/trigger-lazy.nix
-
-# The assertions enable condition should only be evaluated if the trigger is evaluated
-checkConfigError 'enable evaluated' config.foo ./assertions/enable-lazy.nix
-checkConfigOutput true config.bar ./assertions/enable-lazy.nix
 
 # Assertion is not triggered when enable is false
 checkConfigOutput '{ }' config ./assertions/enable-false.nix
@@ -292,10 +285,6 @@ checkConfigOutput '{ }' config ./assertions/enable-false.nix
 # Warnings should be displayed on standard error
 checkConfigCodeOutErr 0 '{ }' 'warning: \[test\] Warning message' config ./assertions/warning.nix
 
-# A triggerPath can be set to a submodule path
-checkConfigOutput '{ baz = <CODE>; }' config.foo.bar ./assertions/trigger-submodule.nix
-checkConfigError 'Failed checks:\n- \[test\] Assertion failed' config.foo.bar.baz ./assertions/trigger-submodule.nix
-
 # Check that multiple assertions and warnings can be triggered at once
 checkConfigError 'Failed checks:\n- \[test1\] Assertion 1 failed\n- \[test2\] Assertion 2 failed' config ./assertions/multi.nix
 checkConfigError 'trace: warning: \[test3\] Warning 3 failed\ntrace: warning: \[test4\] Warning 4 failed' config ./assertions/multi.nix
@@ -305,10 +294,6 @@ checkConfigError 'Failed checks:\n- \[foo/test\] Assertion failed' config.foo ./
 checkConfigError 'Failed checks:\n- \[foo.bar/test\] Assertion failed' config.foo.bar ./assertions/submodule-attrsOf.nix
 checkConfigError 'Failed checks:\n- \[foo.bar.baz/test\] Assertion failed' config.foo.bar.baz ./assertions/submodule-attrsOf-attrsOf.nix
 
-# Assertions aren't triggered when the trigger path is only evaluated from within the same module evaluation
-# This behavior is necessary to allow assertions to depend on config values. This could potentially be changed in the future if all of NixOS' assertions are rewritten to not depend on any config values
-checkConfigOutput true config.bar ./assertions/non-cascading.nix
-
 # Assertions with an attribute starting with _ shouldn't have their name displayed
 checkConfigError 'Failed checks:\n- Assertion failed' config ./assertions/underscore-attributes.nix
 
diff --git a/lib/tests/modules/assertions/enable-lazy.nix b/lib/tests/modules/assertions/enable-lazy.nix
deleted file mode 100644
index e25190228649c..0000000000000
--- a/lib/tests/modules/assertions/enable-lazy.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ lib, ... }: {
-
-  options.foo = lib.mkOption {
-    default = true;
-  };
-
-  options.bar = lib.mkOption {
-    default = true;
-  };
-
-  config._module.checks.test = {
-    enable = throw "enable evaluated";
-    message = "Assertion failed";
-    triggerPath = [ "foo" ];
-  };
-
-}
diff --git a/lib/tests/modules/assertions/non-cascading.nix b/lib/tests/modules/assertions/non-cascading.nix
deleted file mode 100644
index 7b9e333a11a83..0000000000000
--- a/lib/tests/modules/assertions/non-cascading.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ lib, config, ... }: {
-
-  options.foo = lib.mkOption {
-    default = true;
-  };
-
-  options.bar = lib.mkOption {
-    default = config.foo;
-  };
-
-  config._module.checks.foo = {
-    enable = true;
-    message = "Foo assertion";
-    triggerPath = [ "foo" ];
-  };
-
-}
diff --git a/lib/tests/modules/assertions/trigger-lazy.nix b/lib/tests/modules/assertions/trigger-lazy.nix
deleted file mode 100644
index 9e9e3683b0cd5..0000000000000
--- a/lib/tests/modules/assertions/trigger-lazy.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ lib, ... }: {
-  options.foo = lib.mkOption {
-    default = true;
-  };
-
-  options.bar = lib.mkOption {
-    default = true;
-  };
-
-  config._module.checks.test = {
-    enable = true;
-    message = "Assertion failed";
-    triggerPath = [ "foo" ];
-  };
-}
diff --git a/lib/tests/modules/assertions/trigger-submodule.nix b/lib/tests/modules/assertions/trigger-submodule.nix
deleted file mode 100644
index 27deb48e4a9f4..0000000000000
--- a/lib/tests/modules/assertions/trigger-submodule.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ lib, ... }: {
-
-  options.foo = lib.mkOption {
-    default = { bar = {}; };
-    type = lib.types.attrsOf (lib.types.submodule {
-      options.baz = lib.mkOption {
-        default = true;
-      };
-    });
-  };
-
-  config._module.checks.test = {
-    enable = true;
-    message = "Assertion failed";
-    triggerPath = [ "foo" "bar" "baz" ];
-  };
-
-}