lol

nixops_unstable: Fix tests attribute

The .overrideAttrs part is ok now, but a "passthru' workaround is
necessary now. See https://github.com/NixOS/nixpkgs/pull/247520

+12 -12
+5 -4
nixos/tests/nixops/default.nix
··· 14 14 # inherit testsForPackage; 15 15 }; 16 16 17 - testsForPackage = lib.makeOverridable (args: lib.recurseIntoAttrs { 17 + testsForPackage = args: lib.recurseIntoAttrs { 18 18 legacyNetwork = testLegacyNetwork args; 19 - }); 19 + passthru.override = args': testsForPackage (args // args'); 20 + }; 20 21 21 - testLegacyNetwork = { nixopsPkg }: pkgs.nixosTest ({ 22 + testLegacyNetwork = { nixopsPkg, ... }: pkgs.nixosTest ({ 22 23 name = "nixops-legacy-network"; 23 24 nodes = { 24 25 deployer = { config, lib, nodes, pkgs, ... }: { ··· 52 53 chmod 0400 ~/.ssh/id_ed25519 53 54 ''; 54 55 serverNetworkJSON = pkgs.writeText "server-network.json" 55 - (builtins.toJSON nodes.server.config.system.build.networkConfig); 56 + (builtins.toJSON nodes.server.system.build.networkConfig); 56 57 in 57 58 '' 58 59 import shlex
+7 -8
pkgs/applications/networking/cluster/nixops/default.nix
··· 92 92 } 93 93 ).python; 94 94 95 - pkg = interpreter.pkgs.nixops.withPlugins(ps: [ 95 + pkg = (interpreter.pkgs.nixops.withPlugins(ps: [ 96 96 ps.nixops-aws 97 97 ps.nixops-digitalocean 98 98 ps.nixops-encrypted-links ··· 102 102 ps.nixopsvbox 103 103 ps.nixops-virtd 104 104 ps.nixops-hetznercloud 105 - ]) // rec { 106 - # Workaround for https://github.com/NixOS/nixpkgs/issues/119407 107 - # TODO after #1199407: Use .overrideAttrs(pkg: old: { passthru.tests = .....; }) 108 - tests = nixosTests.nixops.unstable.override { nixopsPkg = pkg; }; 109 - # Not strictly necessary, but probably expected somewhere; part of the workaround: 110 - passthru.tests = tests; 111 - }; 105 + ])).overrideAttrs (finalAttrs: prevAttrs: { 106 + passthru = prevAttrs.passthru or {} // { 107 + tests = prevAttrs.passthru.tests or {} // 108 + nixosTests.nixops.unstable.passthru.override { nixopsPkg = pkg; }; 109 + }; 110 + }); 112 111 in pkg