diff options
author | Robert Hensing <robert@roberthensing.nl> | 2022-10-24 14:30:19 +0200 |
---|---|---|
committer | Robert Hensing <robert@roberthensing.nl> | 2023-05-06 18:29:03 +0200 |
commit | b8ff2807a29861236a7ac3ed01c4565ba725e1b1 (patch) | |
tree | 6ec2d3559dc0e6c73e9a5fe725ce35614dd30ec5 /lib/tests/modules | |
parent | 3633bf98be70af326056ebc87a9adedd0e8a24c7 (diff) | |
download | nixlib-b8ff2807a29861236a7ac3ed01c4565ba725e1b1.tar nixlib-b8ff2807a29861236a7ac3ed01c4565ba725e1b1.tar.gz nixlib-b8ff2807a29861236a7ac3ed01c4565ba725e1b1.tar.bz2 nixlib-b8ff2807a29861236a7ac3ed01c4565ba725e1b1.tar.lz nixlib-b8ff2807a29861236a7ac3ed01c4565ba725e1b1.tar.xz nixlib-b8ff2807a29861236a7ac3ed01c4565ba725e1b1.tar.zst nixlib-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')
-rw-r--r-- | lib/tests/modules/class-check.nix | 34 | ||||
-rw-r--r-- | lib/tests/modules/module-class-is-darwin.nix | 4 | ||||
-rw-r--r-- | lib/tests/modules/module-class-is-nixos.nix | 4 |
3 files changed, 42 insertions, 0 deletions
diff --git a/lib/tests/modules/class-check.nix b/lib/tests/modules/class-check.nix new file mode 100644 index 000000000000..6e02f8c30920 --- /dev/null +++ b/lib/tests/modules/class-check.nix @@ -0,0 +1,34 @@ +{ lib, ... }: { + config = { + _module.freeformType = lib.types.anything; + ok = + lib.evalModules { + specialArgs.class = "nixos"; + modules = [ + ./module-class-is-nixos.nix + ]; + }; + + fail = + lib.evalModules { + specialArgs.class = "nixos"; + modules = [ + ./module-class-is-nixos.nix + ./module-class-is-darwin.nix + ]; + }; + + fail-anon = + lib.evalModules { + specialArgs.class = "nixos"; + modules = [ + ./module-class-is-nixos.nix + { _file = "foo.nix#darwinModules.default"; + class = "darwin"; + imports = []; + } + ]; + }; + + }; +} diff --git a/lib/tests/modules/module-class-is-darwin.nix b/lib/tests/modules/module-class-is-darwin.nix new file mode 100644 index 000000000000..d8b60203f707 --- /dev/null +++ b/lib/tests/modules/module-class-is-darwin.nix @@ -0,0 +1,4 @@ +{ + class = "darwin"; + config = {}; +} diff --git a/lib/tests/modules/module-class-is-nixos.nix b/lib/tests/modules/module-class-is-nixos.nix new file mode 100644 index 000000000000..04b6e860e890 --- /dev/null +++ b/lib/tests/modules/module-class-is-nixos.nix @@ -0,0 +1,4 @@ +{ + class = "nixos"; + config = {}; +} |