summary refs log tree commit diff
path: root/lib/tests/modules.sh
diff options
context:
space:
mode:
authorRobert Hensing <robert@roberthensing.nl>2022-10-24 14:30:19 +0200
committerRobert Hensing <robert@roberthensing.nl>2023-05-06 18:29:03 +0200
commitb8ff2807a29861236a7ac3ed01c4565ba725e1b1 (patch)
tree6ec2d3559dc0e6c73e9a5fe725ce35614dd30ec5 /lib/tests/modules.sh
parent3633bf98be70af326056ebc87a9adedd0e8a24c7 (diff)
downloadnixpkgs-b8ff2807a29861236a7ac3ed01c4565ba725e1b1.tar
nixpkgs-b8ff2807a29861236a7ac3ed01c4565ba725e1b1.tar.gz
nixpkgs-b8ff2807a29861236a7ac3ed01c4565ba725e1b1.tar.bz2
nixpkgs-b8ff2807a29861236a7ac3ed01c4565ba725e1b1.tar.lz
nixpkgs-b8ff2807a29861236a7ac3ed01c4565ba725e1b1.tar.xz
nixpkgs-b8ff2807a29861236a7ac3ed01c4565ba725e1b1.tar.zst
nixpkgs-b8ff2807a29861236a7ac3ed01c4565ba725e1b1.zip
lib/modules: Add class concept to check imports
This improves the error message when an incompatible module is
imported.
Diffstat (limited to 'lib/tests/modules.sh')
-rwxr-xr-xlib/tests/modules.sh5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/tests/modules.sh b/lib/tests/modules.sh
index 2af58ff5db9..073dc605486 100755
--- a/lib/tests/modules.sh
+++ b/lib/tests/modules.sh
@@ -360,6 +360,11 @@ checkConfigOutput 'ok' config.freeformItems.foo.bar ./adhoc-freeformType-survive
 # because of an `extendModules` bug, issue 168767.
 checkConfigOutput '^1$' config.sub.specialisation.value ./extendModules-168767-imports.nix
 
+# Class checks
+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
+
 # doRename works when `warnings` does not exist.
 checkConfigOutput '^1234$' config.c.d.e ./doRename-basic.nix
 # doRename adds a warning.