diff options
author | Christian Poessinger <christian@poessinger.com> | 2021-01-26 20:07:21 +0100 |
---|---|---|
committer | Christian Poessinger <christian@poessinger.com> | 2021-01-27 18:51:06 +0000 |
commit | 788f741a0beb9a2dbf52f8c7b9d0b0903ec6a87c (patch) | |
tree | bb546fe276f4c9930360ea74a08203be78b2df1c /smoketest/scripts/cli/test_interfaces_ethernet.py | |
parent | fb5a64a0a517291efe62185d053b437b62ef2921 (diff) | |
download | vyos-1x-788f741a0beb9a2dbf52f8c7b9d0b0903ec6a87c.tar.gz vyos-1x-788f741a0beb9a2dbf52f8c7b9d0b0903ec6a87c.zip |
smoketest: refactor setUp() for all interface based testcases
It does not make sense (at all!) to re-initialize the entire class with every
call to setUp(). We neither change the enabled/disabled tastcases dynamically,
not do we adjust the testinterfaces during a run.
Remove the runtime overhead and place one-time init calls into setUpClass()
instead.
(cherry picked from commit b48890396dcff074d1e9336ca1db9d3eafe2a12f)
Diffstat (limited to 'smoketest/scripts/cli/test_interfaces_ethernet.py')
-rwxr-xr-x | smoketest/scripts/cli/test_interfaces_ethernet.py | 44 |
1 files changed, 18 insertions, 26 deletions
diff --git a/smoketest/scripts/cli/test_interfaces_ethernet.py b/smoketest/scripts/cli/test_interfaces_ethernet.py index 9d896f690..623a8887c 100755 --- a/smoketest/scripts/cli/test_interfaces_ethernet.py +++ b/smoketest/scripts/cli/test_interfaces_ethernet.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 # -# Copyright (C) 2020 VyOS maintainers and contributors +# Copyright (C) 2020-2021 VyOS maintainers and contributors # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 2 or later as @@ -35,37 +35,30 @@ def get_wpa_supplicant_value(interface, key): return tmp[0] class EthernetInterfaceTest(BasicInterfaceTest.BaseTest): - def setUp(self): - self._test_ip = True - self._test_ipv6 = True - self._test_ipv6_pd = True - self._test_mtu = True - self._test_vlan = True - self._test_qinq = True - self._base_path = ['interfaces', 'ethernet'] - self._mirror_interfaces = ['dum21354'] + @classmethod + def setUpClass(cls): + cls._test_ip = True + cls._test_ipv6 = True + cls._test_ipv6_pd = True + cls._test_mtu = True + cls._test_vlan = True + cls._test_qinq = True + cls._base_path = ['interfaces', 'ethernet'] + cls._mirror_interfaces = ['dum21354'] # we need to filter out VLAN interfaces identified by a dot (.) # in their name - just in case! if 'TEST_ETH' in os.environ: tmp = os.environ['TEST_ETH'].split() - self._interfaces = tmp + cls._interfaces = tmp else: - for tmp in Section.interfaces("ethernet"): + for tmp in Section.interfaces('ethernet'): if not '.' in tmp: - self._interfaces.append(tmp) + cls._interfaces.append(tmp) - self._macs = {} - for interface in self._interfaces: - try: - mac = self.session.show_config(self._base_path + - [interface, 'hw-id']).split()[1] - except: - # during initial system startup there is no hw-id node - mac = read_file(f'/sys/class/net/{interface}/address') - self._macs[interface] = mac - - super().setUp() + cls._macs = {} + for interface in cls._interfaces: + cls._macs[interface] = read_file(f'/sys/class/net/{interface}/address') def tearDown(self): @@ -101,8 +94,7 @@ class EthernetInterfaceTest(BasicInterfaceTest.BaseTest): # Validate interface state for interface in self._interfaces: - with open(f'/sys/class/net/{interface}/flags', 'r') as f: - flags = f.read() + flags = read_file(f'/sys/class/net/{interface}/flags') self.assertEqual(int(flags, 16) & 1, 0) def test_offloading_rps(self): |