diff --git a/nixos/tests/predictable-interface-names.nix b/nixos/tests/predictable-interface-names.nix index b4c2039923cf..0b431034a7a9 100644 --- a/nixos/tests/predictable-interface-names.nix +++ b/nixos/tests/predictable-interface-names.nix @@ -1,27 +1,24 @@ -{ system ? builtins.currentSystem -, pkgs ? import ../.. { inherit system; } -}: -with import ../lib/testing.nix { inherit system; }; -let boolToString = x: if x then "yes" else "no"; in -let testWhenSetTo = predictable: withNetworkd: -makeTest { - name = "${if predictable then "" else "un"}predictableInterfaceNames${if withNetworkd then "-with-networkd" else ""}"; - meta = {}; +{ system ? builtins.currentSystem }: - machine = { config, pkgs, ... }: { - networking.usePredictableInterfaceNames = pkgs.stdenv.lib.mkForce predictable; - networking.useNetworkd = withNetworkd; - networking.dhcpcd.enable = !withNetworkd; +let + inherit (import ../lib/testing.nix { inherit system; }) makeTest pkgs; +in pkgs.lib.listToAttrs (pkgs.lib.crossLists (predictable: withNetworkd: { + name = pkgs.lib.optionalString (!predictable) "un" + "predictable" + + pkgs.lib.optionalString withNetworkd "Networkd"; + value = makeTest { + name = "${if predictable then "" else "un"}predictableInterfaceNames${if withNetworkd then "-with-networkd" else ""}"; + meta = {}; + + machine = { config, lib, ... }: { + networking.usePredictableInterfaceNames = lib.mkForce predictable; + networking.useNetworkd = withNetworkd; + networking.dhcpcd.enable = !withNetworkd; + }; + + testScript = '' + print $machine->succeed("ip link"); + $machine->succeed("ip link show ${if predictable then "ens3" else "eth0"}"); + $machine->fail("ip link show ${if predictable then "eth0" else "ens3"}"); + ''; }; - - testScript = '' - print $machine->succeed("ip link"); - $machine->succeed("ip link show ${if predictable then "ens3" else "eth0"}"); - $machine->fail("ip link show ${if predictable then "eth0" else "ens3"}"); - ''; -}; in -with pkgs.stdenv.lib.lists; -with pkgs.stdenv.lib.attrsets; -listToAttrs (map (drv: nameValuePair drv.name drv) ( -crossLists testWhenSetTo [[true false] [true false]] -)) +}) [[true false] [true false]])