From 8bda6ea01c1aea2e905301e36a1e1bf126ac2ea7 Mon Sep 17 00:00:00 2001 From: Egor Savkin Date: Thu, 21 Nov 2024 16:29:04 +0800 Subject: [PATCH] tests: network: update `nixosTests.networking.scripted.virtual` to match correct behavior First, `stop network-addresses-X` should clean up the addresses without deleting the interfaces. And only `stop tap0-netdev` should fully delete the interfaces. Signed-off-by: Egor Savkin --- nixos/tests/networking/networkd-and-scripted.nix | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) 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 == ""