From 684c4e043f61bb186a954ffa2b49e3ebb6838a6f Mon Sep 17 00:00:00 2001 From: Christian Breunig Date: Sun, 28 May 2023 23:04:56 +0200 Subject: smoketest: T5242: improve base class test cases for virtual-ethernet interfaces --- .../cli/test_interfaces_virtual_ethernet.py | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'smoketest/scripts/cli/test_interfaces_virtual_ethernet.py') diff --git a/smoketest/scripts/cli/test_interfaces_virtual_ethernet.py b/smoketest/scripts/cli/test_interfaces_virtual_ethernet.py index e09846673..4710930a0 100755 --- a/smoketest/scripts/cli/test_interfaces_virtual_ethernet.py +++ b/smoketest/scripts/cli/test_interfaces_virtual_ethernet.py @@ -16,7 +16,10 @@ import unittest +from netifaces import interfaces + from vyos.ifconfig import Section +from vyos.util import process_named_running from base_interfaces_test import BasicInterfaceTest class VEthInterfaceTest(BasicInterfaceTest.TestCase): @@ -35,5 +38,25 @@ class VEthInterfaceTest(BasicInterfaceTest.TestCase): def test_vif_8021q_mtu_limits(self): self.skipTest('not supported') + # As we always need a pair of veth interfaces, we can not rely on the base + # class check to determine if there is a dhcp6c or dhclient instance running. + # This test will always fail as there is an instance running on the peer + # interface. + def tearDown(self): + self.cli_delete(self._base_path) + self.cli_commit() + + # Verify that no previously interface remained on the system + for intf in self._interfaces: + self.assertNotIn(intf, interfaces()) + + @classmethod + def tearDownClass(cls): + # No daemon started during tests should remain running + for daemon in ['dhcp6c', 'dhclient']: + cls.assertFalse(cls, process_named_running(daemon)) + + super(VEthInterfaceTest, cls).tearDownClass() + if __name__ == '__main__': unittest.main(verbosity=2) -- cgit v1.2.3