about summary refs log tree commit diff
path: root/lib/tests
diff options
context:
space:
mode:
authorRobert Hensing <robert@roberthensing.nl>2023-02-07 20:41:29 +0100
committerRobert Hensing <robert@roberthensing.nl>2023-05-06 18:29:03 +0200
commit58f385f68005a6fed7b526ee2c19fef11d87038c (patch)
tree0a11805dd451bb7194d07d3b6101ead29c675d61 /lib/tests
parentb8ff2807a29861236a7ac3ed01c4565ba725e1b1 (diff)
lib/modules: Check against importing things with a _type
Diffstat (limited to 'lib/tests')
-rwxr-xr-xlib/tests/modules.sh4
-rw-r--r--lib/tests/modules/define-enable-with-top-level-mkIf.nix5
-rw-r--r--lib/tests/modules/module-imports-_type-check.nix3
3 files changed, 12 insertions, 0 deletions
diff --git a/lib/tests/modules.sh b/lib/tests/modules.sh
index 073dc60548603..4da0cb38f685a 100755
--- a/lib/tests/modules.sh
+++ b/lib/tests/modules.sh
@@ -365,6 +365,10 @@ checkConfigOutput '^{ }$' config.ok.config ./class-check.nix
 checkConfigError 'The module .*/module-class-is-darwin.nix was imported into nixos instead of darwin.' config.fail.config ./class-check.nix
 checkConfigError 'The module foo.nix#darwinModules.default was imported into nixos instead of darwin.' config.fail-anon.config ./class-check.nix
 
+# _type check
+checkConfigError 'Could not load a value as a module, because it is of type "flake", in file .*/module-imports-_type-check.nix' config.ok.config ./module-imports-_type-check.nix
+checkConfigOutput '^true$' "$@" config.enable ./declare-enable.nix ./define-enable-with-top-level-mkIf.nix
+
 # doRename works when `warnings` does not exist.
 checkConfigOutput '^1234$' config.c.d.e ./doRename-basic.nix
 # doRename adds a warning.
diff --git a/lib/tests/modules/define-enable-with-top-level-mkIf.nix b/lib/tests/modules/define-enable-with-top-level-mkIf.nix
new file mode 100644
index 0000000000000..4909c16d82b45
--- /dev/null
+++ b/lib/tests/modules/define-enable-with-top-level-mkIf.nix
@@ -0,0 +1,5 @@
+{ lib, ... }:
+# I think this might occur more realistically in a submodule
+{
+  imports = [ (lib.mkIf true { enable = true; }) ];
+}
diff --git a/lib/tests/modules/module-imports-_type-check.nix b/lib/tests/modules/module-imports-_type-check.nix
new file mode 100644
index 0000000000000..1e29c469daa52
--- /dev/null
+++ b/lib/tests/modules/module-imports-_type-check.nix
@@ -0,0 +1,3 @@
+{
+  imports = [ { _type = "flake"; } ];
+}