about summary refs log tree commit diff
path: root/lib/tests
diff options
context:
space:
mode:
authorSilvan Mosberger <contact@infinisil.com>2020-01-09 18:20:12 +0100
committerGitHub <noreply@github.com>2020-01-09 18:20:12 +0100
commite9c16ec186b2fc4be93f9dd2be5afaef76cdc6f8 (patch)
tree6843c9cf711a97041ba6c964e7a8528e1ae0cae0 /lib/tests
parent4052aa377e4b1f50ee3f7b147177d1f1d966cf1b (diff)
parenta6462a4a8b9d55586f8706484c155b2de2a34877 (diff)
Merge pull request #76857 from Infinisil/recursive-disableModules
Apply `disabledModules` recursively
Diffstat (limited to 'lib/tests')
-rwxr-xr-xlib/tests/modules.sh6
-rw-r--r--lib/tests/modules/disable-recursive/bar.nix5
-rw-r--r--lib/tests/modules/disable-recursive/disable-bar.nix7
-rw-r--r--lib/tests/modules/disable-recursive/disable-foo.nix7
-rw-r--r--lib/tests/modules/disable-recursive/foo.nix5
-rw-r--r--lib/tests/modules/disable-recursive/main.nix8
6 files changed, 38 insertions, 0 deletions
diff --git a/lib/tests/modules.sh b/lib/tests/modules.sh
index f69befd15c64c..2997fb1ada1b6 100755
--- a/lib/tests/modules.sh
+++ b/lib/tests/modules.sh
@@ -177,6 +177,12 @@ checkConfigOutput "true" config.submodule.outer ./declare-submoduleWith-modules.
 # Temporarily disabled until https://github.com/NixOS/nixpkgs/pull/76861
 #checkConfigOutput "true" config.submodule.enable ./declare-submoduleWith-path.nix
 
+# Check that disabledModules works recursively and correctly
+checkConfigOutput "true" config.enable ./disable-recursive/main.nix
+checkConfigOutput "true" config.enable ./disable-recursive/{main.nix,disable-foo.nix}
+checkConfigOutput "true" config.enable ./disable-recursive/{main.nix,disable-bar.nix}
+checkConfigError 'The option .* defined in .* does not exist' config.enable ./disable-recursive/{main.nix,disable-foo.nix,disable-bar.nix}
+
 cat <<EOF
 ====== module tests ======
 $pass Pass
diff --git a/lib/tests/modules/disable-recursive/bar.nix b/lib/tests/modules/disable-recursive/bar.nix
new file mode 100644
index 0000000000000..4d9240a432df1
--- /dev/null
+++ b/lib/tests/modules/disable-recursive/bar.nix
@@ -0,0 +1,5 @@
+{
+  imports = [
+    ../declare-enable.nix
+  ];
+}
diff --git a/lib/tests/modules/disable-recursive/disable-bar.nix b/lib/tests/modules/disable-recursive/disable-bar.nix
new file mode 100644
index 0000000000000..987b2802ae8cc
--- /dev/null
+++ b/lib/tests/modules/disable-recursive/disable-bar.nix
@@ -0,0 +1,7 @@
+{
+
+  disabledModules = [
+    ./bar.nix
+  ];
+
+}
diff --git a/lib/tests/modules/disable-recursive/disable-foo.nix b/lib/tests/modules/disable-recursive/disable-foo.nix
new file mode 100644
index 0000000000000..5b68a3c461053
--- /dev/null
+++ b/lib/tests/modules/disable-recursive/disable-foo.nix
@@ -0,0 +1,7 @@
+{
+
+  disabledModules = [
+    ./foo.nix
+  ];
+
+}
diff --git a/lib/tests/modules/disable-recursive/foo.nix b/lib/tests/modules/disable-recursive/foo.nix
new file mode 100644
index 0000000000000..4d9240a432df1
--- /dev/null
+++ b/lib/tests/modules/disable-recursive/foo.nix
@@ -0,0 +1,5 @@
+{
+  imports = [
+    ../declare-enable.nix
+  ];
+}
diff --git a/lib/tests/modules/disable-recursive/main.nix b/lib/tests/modules/disable-recursive/main.nix
new file mode 100644
index 0000000000000..48a3c6218cf3f
--- /dev/null
+++ b/lib/tests/modules/disable-recursive/main.nix
@@ -0,0 +1,8 @@
+{
+  imports = [
+    ./foo.nix
+    ./bar.nix
+  ];
+
+  enable = true;
+}