forked from mirrors/nixpkgs
Merge pull request #198450 from NixOS/doRename-no-warning
lib.modules.doRename: Don't define warning, even as undefined, if not warning.
This commit is contained in:
commit
011d767e1e
|
@ -1135,10 +1135,10 @@ rec {
|
|||
type = toType;
|
||||
});
|
||||
config = mkMerge [
|
||||
{
|
||||
(optionalAttrs (options ? warnings) {
|
||||
warnings = optional (warn && fromOpt.isDefined)
|
||||
"The option `${showOption from}' defined in ${showFiles fromOpt.files} has been renamed to `${showOption to}'.";
|
||||
}
|
||||
})
|
||||
(if withPriority
|
||||
then mkAliasAndWrapDefsWithPriority (setAttrByPath to) fromOpt
|
||||
else mkAliasAndWrapDefinitions (setAttrByPath to) fromOpt)
|
||||
|
|
|
@ -348,6 +348,13 @@ checkConfigOutput 'ok' config.freeformItems.foo.bar ./adhoc-freeformType-survive
|
|||
# because of an `extendModules` bug, issue 168767.
|
||||
checkConfigOutput '^1$' config.sub.specialisation.value ./extendModules-168767-imports.nix
|
||||
|
||||
# doRename works when `warnings` does not exist.
|
||||
checkConfigOutput '^1234$' config.c.d.e ./doRename-basic.nix
|
||||
# doRename adds a warning.
|
||||
checkConfigOutput '^"The option `a\.b. defined in `.*/doRename-warnings\.nix. has been renamed to `c\.d\.e.\."$' \
|
||||
config.result \
|
||||
./doRename-warnings.nix
|
||||
|
||||
cat <<EOF
|
||||
====== module tests ======
|
||||
$pass Pass
|
||||
|
|
11
lib/tests/modules/doRename-basic.nix
Normal file
11
lib/tests/modules/doRename-basic.nix
Normal file
|
@ -0,0 +1,11 @@
|
|||
{ lib, ... }: {
|
||||
imports = [
|
||||
(lib.doRename { from = ["a" "b"]; to = ["c" "d" "e"]; warn = true; use = x: x; visible = true; })
|
||||
];
|
||||
options = {
|
||||
c.d.e = lib.mkOption {};
|
||||
};
|
||||
config = {
|
||||
a.b = 1234;
|
||||
};
|
||||
}
|
14
lib/tests/modules/doRename-warnings.nix
Normal file
14
lib/tests/modules/doRename-warnings.nix
Normal file
|
@ -0,0 +1,14 @@
|
|||
{ lib, config, ... }: {
|
||||
imports = [
|
||||
(lib.doRename { from = ["a" "b"]; to = ["c" "d" "e"]; warn = true; use = x: x; visible = true; })
|
||||
];
|
||||
options = {
|
||||
warnings = lib.mkOption { type = lib.types.listOf lib.types.str; };
|
||||
c.d.e = lib.mkOption {};
|
||||
result = lib.mkOption {};
|
||||
};
|
||||
config = {
|
||||
a.b = 1234;
|
||||
result = lib.concatStringsSep "%" config.warnings;
|
||||
};
|
||||
}
|
Loading…
Reference in a new issue