diff options
author | Silvan Mosberger <contact@infinisil.com> | 2022-03-16 21:44:35 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-16 21:44:35 +0100 |
commit | b97742c66ca497272c9fcbf1135a9f49155cc289 (patch) | |
tree | 43503f8681665ae0f9692fe3197df9b090f757c9 /lib/tests/modules.sh | |
parent | 7666a39ed9fd40540e715d5fc243e18520be5e7d (diff) | |
parent | c4b38702e59ea156924d3297e3f7ec80f7f816cb (diff) | |
download | nixpkgs-b97742c66ca497272c9fcbf1135a9f49155cc289.tar nixpkgs-b97742c66ca497272c9fcbf1135a9f49155cc289.tar.gz nixpkgs-b97742c66ca497272c9fcbf1135a9f49155cc289.tar.bz2 nixpkgs-b97742c66ca497272c9fcbf1135a9f49155cc289.tar.lz nixpkgs-b97742c66ca497272c9fcbf1135a9f49155cc289.tar.xz nixpkgs-b97742c66ca497272c9fcbf1135a9f49155cc289.tar.zst nixpkgs-b97742c66ca497272c9fcbf1135a9f49155cc289.zip |
Merge pull request #156533 from hercules-ci/issue-146882-transparent-submodule-options
lib.modules: Let module declare options directly in bare submodule
Diffstat (limited to 'lib/tests/modules.sh')
-rwxr-xr-x | lib/tests/modules.sh | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/tests/modules.sh b/lib/tests/modules.sh index 350fe85e748..8050c6539fc 100755 --- a/lib/tests/modules.sh +++ b/lib/tests/modules.sh @@ -62,6 +62,13 @@ checkConfigError() { checkConfigOutput '^false$' config.enable ./declare-enable.nix checkConfigError 'The option .* does not exist. Definition values:\n\s*- In .*: true' config.enable ./define-enable.nix +checkConfigOutput '^1$' config.bare-submodule.nested ./declare-bare-submodule.nix ./declare-bare-submodule-nested-option.nix +checkConfigOutput '^2$' config.bare-submodule.deep ./declare-bare-submodule.nix ./declare-bare-submodule-deep-option.nix +checkConfigOutput '^42$' config.bare-submodule.nested ./declare-bare-submodule.nix ./declare-bare-submodule-nested-option.nix ./declare-bare-submodule-deep-option.nix ./define-bare-submodule-values.nix +checkConfigOutput '^420$' config.bare-submodule.deep ./declare-bare-submodule.nix ./declare-bare-submodule-nested-option.nix ./declare-bare-submodule-deep-option.nix ./define-bare-submodule-values.nix +checkConfigOutput '^2$' config.bare-submodule.deep ./declare-bare-submodule.nix ./declare-bare-submodule-deep-option.nix ./define-shorthandOnlyDefinesConfig-true.nix +checkConfigError 'The option .bare-submodule.deep. in .*/declare-bare-submodule-deep-option.nix. is already declared in .*/declare-bare-submodule-deep-option-duplicate.nix' config.bare-submodule.deep ./declare-bare-submodule.nix ./declare-bare-submodule-deep-option.nix ./declare-bare-submodule-deep-option-duplicate.nix + # Check integer types. # unsigned checkConfigOutput '^42$' config.value ./declare-int-unsigned-value.nix ./define-value-int-positive.nix @@ -304,6 +311,12 @@ checkConfigOutput "10" config.processedToplevel ./raw.nix checkConfigError "The option .multiple. is defined multiple times" config.multiple ./raw.nix checkConfigOutput "bar" config.priorities ./raw.nix +## Option collision +checkConfigError \ + 'The option .set. in module .*/declare-set.nix. would be a parent of the following options, but its type .attribute set of signed integers. does not support nested options.\n\s*- option[(]s[)] with prefix .set.enable. in module .*/declare-enable-nested.nix.' \ + config.set \ + ./declare-set.nix ./declare-enable-nested.nix + # Test that types.optionType merges types correctly checkConfigOutput '^10$' config.theOption.int ./optionTypeMerging.nix checkConfigOutput '^"hello"$' config.theOption.str ./optionTypeMerging.nix |