diff options
author | Daiderd Jordan <daiderd@gmail.com> | 2017-02-14 23:18:44 +0100 |
---|---|---|
committer | Nicolas B. Pierron <nicolas.b.pierron@gmail.com> | 2017-02-28 00:14:48 +0100 |
commit | 3f2566689d14f1d7778d55ca807d1dad2f4695d1 (patch) | |
tree | 22129406dc4fa63df482c1ab1fbbeb6075eaf3ff /lib/tests | |
parent | 3c9fbfbe7f16ffbd21309d6a7dabc3fb197b5ffe (diff) |
modules: add support for module replacement with disabledModules
This is based on a prototype Nicolas B. Pierron worked on during a discussion we had at FOSDEM.
Diffstat (limited to 'lib/tests')
-rwxr-xr-x | lib/tests/modules.sh | 8 | ||||
-rw-r--r-- | lib/tests/modules/default.nix | 1 | ||||
-rw-r--r-- | lib/tests/modules/disable-declare-enable.nix | 5 | ||||
-rw-r--r-- | lib/tests/modules/disable-define-enable.nix | 5 | ||||
-rw-r--r-- | lib/tests/modules/disable-enable-modules.nix | 5 |
5 files changed, 24 insertions, 0 deletions
diff --git a/lib/tests/modules.sh b/lib/tests/modules.sh index 8b476a5d3dcc4..ba0c67fb7d421 100755 --- a/lib/tests/modules.sh +++ b/lib/tests/modules.sh @@ -99,6 +99,14 @@ checkConfigOutput 'true' "$@" ./define-enable.nix ./define-loaOfSub-if-foo-enabl checkConfigOutput 'true' "$@" ./define-enable.nix ./define-loaOfSub-foo-if-enable.nix checkConfigOutput 'true' "$@" ./define-enable.nix ./define-loaOfSub-foo-enable-if.nix +# Check disabledModules with config definitions and option declarations. +set -- config.enable ./define-enable.nix ./declare-enable.nix +checkConfigOutput "true" "$@" +checkConfigOutput "false" "$@" ./disable-define-enable.nix +checkConfigError "The option .*enable.* defined in .* does not exist" "$@" ./disable-declare-enable.nix +checkConfigError "attribute .*enable.* in selection path .*config.enable.* not found" "$@" ./disable-define-enable.nix ./disable-declare-enable.nix +checkConfigError "attribute .*enable.* in selection path .*config.enable.* not found" "$@" ./disable-enable-modules.nix + # Check _module.args. set -- config.enable ./declare-enable.nix ./define-enable-with-custom-arg.nix checkConfigError 'while evaluating the module argument .*custom.* in .*define-enable-with-custom-arg.nix.*:' "$@" diff --git a/lib/tests/modules/default.nix b/lib/tests/modules/default.nix index 5df7d9751eab4..5be3af0ffe81c 100644 --- a/lib/tests/modules/default.nix +++ b/lib/tests/modules/default.nix @@ -3,5 +3,6 @@ { inherit (lib.evalModules { inherit modules; + specialArgs.modulesPath = ./.; }) config options; } diff --git a/lib/tests/modules/disable-declare-enable.nix b/lib/tests/modules/disable-declare-enable.nix new file mode 100644 index 0000000000000..a373ee7e550eb --- /dev/null +++ b/lib/tests/modules/disable-declare-enable.nix @@ -0,0 +1,5 @@ +{ lib, ... }: + +{ + disabledModules = [ ./declare-enable.nix ]; +} diff --git a/lib/tests/modules/disable-define-enable.nix b/lib/tests/modules/disable-define-enable.nix new file mode 100644 index 0000000000000..0d84a7c3cb6c8 --- /dev/null +++ b/lib/tests/modules/disable-define-enable.nix @@ -0,0 +1,5 @@ +{ lib, ... }: + +{ + disabledModules = [ ./define-enable.nix ]; +} diff --git a/lib/tests/modules/disable-enable-modules.nix b/lib/tests/modules/disable-enable-modules.nix new file mode 100644 index 0000000000000..c325f4e074318 --- /dev/null +++ b/lib/tests/modules/disable-enable-modules.nix @@ -0,0 +1,5 @@ +{ lib, ... }: + +{ + disabledModules = [ "define-enable.nix" "declare-enable.nix" ]; +} |