diff --git a/nixos/tests/networking/networkd-and-scripted.nix b/nixos/tests/networking/networkd-and-scripted.nix index 407cfed4bb75..be73e543e284 100644 --- a/nixos/tests/networking/networkd-and-scripted.nix +++ b/nixos/tests/networking/networkd-and-scripted.nix @@ -660,11 +660,23 @@ let assert "02:de:ad:be:ef:01" in machine.succeed("ip link show dev tap0") '' # network-addresses-* only exist in scripted networking + lib.optionalString (!networkd) '' - with subtest("Test interfaces clean up"): + with subtest("Test interfaces' addresses clean up"): machine.succeed("systemctl stop network-addresses-tap0") machine.sleep(10) machine.succeed("systemctl stop network-addresses-tun0") machine.sleep(10) + residue = machine.succeed("ip tuntap list | sort").strip() + assert ( + residue == targetList + ), "Some virtual interface has been removed:\n{}".format(residue) + assert "192.168.1.1" not in machine.succeed("ip address show dev tap0"), "tap0 interface address has not been removed" + assert "192.168.1.2" not in machine.succeed("ip address show dev tun0"), "tun0 interface address has not been removed" + + with subtest("Test interfaces clean up"): + machine.succeed("systemctl stop tap0-netdev") + machine.sleep(10) + machine.succeed("systemctl stop tun0-netdev") + machine.sleep(10) residue = machine.succeed("ip tuntap list") assert ( residue == ""