28 lines
		
	
	
		
			988 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			988 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
| { 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 = {};
 | |
| 
 | |
|   machine = { config, pkgs, ... }: {
 | |
|     networking.usePredictableInterfaceNames = pkgs.stdenv.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"}");
 | |
|   '';
 | |
| }; in
 | |
| with pkgs.stdenv.lib.lists;
 | |
| with pkgs.stdenv.lib.attrsets;
 | |
| listToAttrs (map (drv: nameValuePair drv.name drv) (
 | |
| crossLists testWhenSetTo [[true false] [true false]]
 | |
| ))
 | 
