about summary refs log tree commit diff
path: root/lib/tests/modules.sh
diff options
context:
space:
mode:
authorRobert Hensing <robert@roberthensing.nl>2023-04-10 17:26:25 +0200
committerRobert Hensing <robert@roberthensing.nl>2023-05-06 18:29:04 +0200
commit84b1b017026bb1d0a37a8d3ef553f073225b4e8d (patch)
tree06dfde57ccd9f656389667f53caffb4c3b1115ac /lib/tests/modules.sh
parent1f4a58ef038184eaf4757e96ec1f09b08a01c8ab (diff)
downloadnixlib-84b1b017026bb1d0a37a8d3ef553f073225b4e8d.tar
nixlib-84b1b017026bb1d0a37a8d3ef553f073225b4e8d.tar.gz
nixlib-84b1b017026bb1d0a37a8d3ef553f073225b4e8d.tar.bz2
nixlib-84b1b017026bb1d0a37a8d3ef553f073225b4e8d.tar.lz
nixlib-84b1b017026bb1d0a37a8d3ef553f073225b4e8d.tar.xz
nixlib-84b1b017026bb1d0a37a8d3ef553f073225b4e8d.tar.zst
nixlib-84b1b017026bb1d0a37a8d3ef553f073225b4e8d.zip
lib/modules: Only interpret class declaration in non-shorthand mode
This is to avoid stealing keys from submodules. `class` might be
common enough that reinterpreting existing `class` attributes in
configurations as a declaration leads to fairly widespread problems.
Diffstat (limited to 'lib/tests/modules.sh')
-rwxr-xr-xlib/tests/modules.sh2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/tests/modules.sh b/lib/tests/modules.sh
index c2a8e566cb8c..116a0778aebc 100755
--- a/lib/tests/modules.sh
+++ b/lib/tests/modules.sh
@@ -255,6 +255,8 @@ checkConfigError 'A definition for option .* is not of type .*' \
 ## Freeform modules
 # Assigning without a declared option should work
 checkConfigOutput '^"24"$' config.value ./freeform-attrsOf.nix ./define-value-string.nix
+# Shorthand modules interpret `meta` and `class` as config items
+checkConfigOutput '^true$' options._module.args.value.result ./freeform-attrsOf.nix ./define-freeform-keywords-shorthand.nix
 # No freeform assignments shouldn't make it error
 checkConfigOutput '^{ }$' config ./freeform-attrsOf.nix
 # but only if the type matches