diff --git a/lib/tests/misc.nix b/lib/tests/misc.nix index 3f2d742e788..cf99aca58c0 100644 --- a/lib/tests/misc.nix +++ b/lib/tests/misc.nix @@ -213,6 +213,30 @@ runTests { }; +# ATTRSETS + + # code from the example + testRecursiveUpdateUntil = { + expr = recursiveUpdateUntil (path: l: r: path == ["foo"]) { + # first attribute set + foo.bar = 1; + foo.baz = 2; + bar = 3; + } { + #second attribute set + foo.bar = 1; + foo.quz = 2; + baz = 4; + }; + expected = { + foo.bar = 1; # 'foo.*' from the second set + foo.quz = 2; # + bar = 3; # 'bar' from the first set + baz = 4; # 'baz' from the second set + }; + }; + + # GENERATORS # these tests assume attributes are converted to lists # in alphabetical order diff --git a/nixos/doc/manual/release-notes/rl-1809.xml b/nixos/doc/manual/release-notes/rl-1809.xml index d527984f5ef..d831f851446 100644 --- a/nixos/doc/manual/release-notes/rl-1809.xml +++ b/nixos/doc/manual/release-notes/rl-1809.xml @@ -278,6 +278,8 @@ inherit (pkgs.nixos { lib.traceCallXml has been deprecated. Please complain if you use the function regularly. + + The attribute lib.nixpkgsVersion has been deprecated in favor of lib.version. Please refer to the discussion in @@ -285,6 +287,13 @@ inherit (pkgs.nixos { for further reference. + + + lib.recursiveUpdateUntil was not acting according to its + specification. It has been fixed to act according to the docstring, and a + test has been added. + + The module for has two new options now: