From cc81320a46d8f822da90c84aeb413de3e9b5f4a8 Mon Sep 17 00:00:00 2001 From: Silvan Mosberger Date: Wed, 1 Jan 2020 01:11:45 +0100 Subject: lib/tests: Add submoduleWith tests --- lib/tests/modules.sh | 18 +++++++++++++ .../modules/declare-submoduleWith-modules.nix | 30 ++++++++++++++++++++++ .../modules/declare-submoduleWith-noshorthand.nix | 13 ++++++++++ lib/tests/modules/declare-submoduleWith-path.nix | 12 +++++++++ .../modules/declare-submoduleWith-shorthand.nix | 14 ++++++++++ .../modules/declare-submoduleWith-special.nix | 17 ++++++++++++ .../modules/define-submoduleWith-noshorthand.nix | 3 +++ .../modules/define-submoduleWith-shorthand.nix | 3 +++ 8 files changed, 110 insertions(+) create mode 100644 lib/tests/modules/declare-submoduleWith-modules.nix create mode 100644 lib/tests/modules/declare-submoduleWith-noshorthand.nix create mode 100644 lib/tests/modules/declare-submoduleWith-path.nix create mode 100644 lib/tests/modules/declare-submoduleWith-shorthand.nix create mode 100644 lib/tests/modules/declare-submoduleWith-special.nix create mode 100644 lib/tests/modules/define-submoduleWith-noshorthand.nix create mode 100644 lib/tests/modules/define-submoduleWith-shorthand.nix diff --git a/lib/tests/modules.sh b/lib/tests/modules.sh index cf344122cf4..4690e380ce3 100755 --- a/lib/tests/modules.sh +++ b/lib/tests/modules.sh @@ -164,6 +164,24 @@ checkConfigOutput "true" config.enableAlias ./alias-with-priority.nix checkConfigOutput "false" config.enable ./alias-with-priority-can-override.nix checkConfigOutput "false" config.enableAlias ./alias-with-priority-can-override.nix +# submoduleWith + +## specialArgs should work +checkConfigOutput "foo" config.submodule.foo ./declare-submoduleWith-special.nix + +## shorthandOnlyDefines config behaves as expected +checkConfigOutput "true" config.submodule.config ./declare-submoduleWith-shorthand.nix ./define-submoduleWith-shorthand.nix +checkConfigError 'is not of type `boolean' config.submodule.config ./declare-submoduleWith-shorthand.nix ./define-submoduleWith-noshorthand.nix +checkConfigError 'value is a boolean while a set was expected' config.submodule.config ./declare-submoduleWith-noshorthand.nix ./define-submoduleWith-shorthand.nix +checkConfigOutput "true" config.submodule.config ./declare-submoduleWith-noshorthand.nix ./define-submoduleWith-noshorthand.nix + +## submoduleWith should merge all modules in one swoop +checkConfigOutput "true" config.submodule.inner ./declare-submoduleWith-modules.nix +checkConfigOutput "true" config.submodule.outer ./declare-submoduleWith-modules.nix + +## Paths should be allowed as values and work as expected +checkConfigOutput "true" config.submodule.enable ./declare-submoduleWith-path.nix + cat <