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 <es@m-labs.hk>
This commit is contained in:
Egor Savkin
2024-12-02 10:57:42 +08:00
parent 9354d385e2
commit 8bda6ea01c
@@ -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 == ""