diff options
47 files changed, 216 insertions, 150 deletions
diff --git a/smoketest/scripts/cli/base_interfaces_test.py b/smoketest/scripts/cli/base_interfaces_test.py index 0ae55a22a..a784140f3 100644 --- a/smoketest/scripts/cli/base_interfaces_test.py +++ b/smoketest/scripts/cli/base_interfaces_test.py @@ -68,25 +68,16 @@ class BasicInterfaceTest: self._options = {} def tearDown(self): - # we should not remove ethernet from the overall CLI - if 'ethernet' in self._base_path: - for interface in self._interfaces: - # when using a dedicated interface to test via TEST_ETH environment - # variable only this one will be cleared in the end - usable to test - # ethernet interfaces via SSH - self.session.delete(self._base_path + [interface]) - self.session.set(self._base_path + [interface, 'duplex', 'auto']) - self.session.set(self._base_path + [interface, 'speed', 'auto']) - else: + # Ethernet is handled in its derived class + if 'ethernet' not in self._base_path: self.session.delete(self._base_path) self.session.commit() del self.session - def test_add_description(self): - """ - Check if description can be added to interface - """ + def test_interface_description(self): + # Check if description can be added to interface and + # can be read back for intf in self._interfaces: test_string=f'Description-Test-{intf}' self.session.set(self._base_path + [intf, 'description', test_string]) @@ -98,14 +89,10 @@ class BasicInterfaceTest: # Validate interface description for intf in self._interfaces: test_string=f'Description-Test-{intf}' - with open(f'/sys/class/net/{intf}/ifalias', 'r') as f: - tmp = f.read().rstrip() - self.assertTrue(tmp, test_string) - - def test_add_address_single(self): - """ - Check if a single address can be added to interface. - """ + tmp = read_file(f'/sys/class/net/{intf}/ifalias') + self.assertTrue(tmp, test_string) + + def test_add_single_ip_address(self): addr = '192.0.2.0/31' for intf in self._interfaces: self.session.set(self._base_path + [intf, 'address', addr]) @@ -117,11 +104,7 @@ class BasicInterfaceTest: for intf in self._interfaces: self.assertTrue(is_intf_addr_assigned(intf, addr)) - def test_add_address_multi(self): - """ - Check if IPv4/IPv6 addresses can be added to interface. - """ - + def test_add_multiple_ip_addresses(self): # Add address for intf in self._interfaces: for addr in self._test_addr: @@ -141,8 +124,8 @@ class BasicInterfaceTest: self.assertTrue(is_intf_addr_assigned(intf, addr['addr'])) - def test_ipv6_link_local(self): - """ Common function for IPv6 link-local address assignemnts """ + def test_ipv6_link_local_address(self): + # Common function for IPv6 link-local address assignemnts if not self._test_ipv6: return None @@ -169,14 +152,7 @@ class BasicInterfaceTest: for interface in self._interfaces: self.assertTrue(AF_INET6 not in ifaddresses(interface)) - def _mtu_test(self, intf): - """ helper function to verify MTU size """ - with open(f'/sys/class/net/{intf}/mtu', 'r') as f: - tmp = f.read().rstrip() - self.assertEqual(tmp, self._mtu) - - def test_change_mtu(self): - """ Testcase if MTU can be changed on interface """ + def test_interface_mtu(self): if not self._test_mtu: return None @@ -191,10 +167,12 @@ class BasicInterfaceTest: # verify changed MTU for intf in self._interfaces: - self._mtu_test(intf) + tmp = read_file(f'/sys/class/net/{intf}/mtu') + self.assertEqual(tmp, self._mtu) - def test_change_mtu_1200(self): - """ Testcase if MTU can be changed to 1200 on non IPv6 enabled interfaces """ + def test_mtu_1200_no_ipv6_interface(self): + # Testcase if MTU can be changed to 1200 on non IPv6 + # enabled interfaces if not self._test_mtu: return None @@ -214,12 +192,12 @@ class BasicInterfaceTest: # verify changed MTU for intf in self._interfaces: - self._mtu_test(intf) + tmp = read_file(f'/sys/class/net/{intf}/mtu') + self.assertEqual(tmp, self._mtu) self._mtu = old_mtu - def test_8021q_vlan(self): - """ Testcase for 802.1q VLAN interfaces """ + def test_8021q_vlan_interfaces(self): if not self._test_vlan: return None @@ -235,16 +213,18 @@ class BasicInterfaceTest: self.session.set(base + ['address', address]) self.session.commit() + for intf in self._interfaces: for vlan in self._vlan_range: vif = f'{intf}.{vlan}' for address in self._test_addr: self.assertTrue(is_intf_addr_assigned(vif, address)) - self._mtu_test(vif) + tmp = read_file(f'/sys/class/net/{vif}/mtu') + self.assertEqual(tmp, self._mtu) - def test_8021ad_qinq_vlan(self): - """ Testcase for 802.1ad Q-in-Q VLAN interfaces """ + + def test_8021ad_qinq_vlan_interfaces(self): if not self._test_qinq: return None @@ -271,10 +251,11 @@ class BasicInterfaceTest: vif = f'{interface}.{vif_s}.{vif_c}' for address in self._test_addr: self.assertTrue(is_intf_addr_assigned(vif, address)) - self._mtu_test(vif) - def test_ip_options(self): - """ Test interface base IPv4 options """ + tmp = read_file(f'/sys/class/net/{vif}/mtu') + self.assertEqual(tmp, self._mtu) + + def test_interface_ip_options(self): if not self._test_ip: return None @@ -325,8 +306,7 @@ class BasicInterfaceTest: tmp = read_file(f'/proc/sys/net/ipv4/conf/{interface}/rp_filter') self.assertEqual('2', tmp) - def test_ipv6_options(self): - """ Test interface base IPv6 options """ + def test_interface_ipv6_options(self): if not self._test_ipv6: return None @@ -350,8 +330,7 @@ class BasicInterfaceTest: self.assertEqual(dad_transmits, tmp) - def test_ipv6_dhcpv6_pd(self): - """ Test interface base IPv6 options """ + def test_ipv6_dhcpv6_prefix_delegation(self): if not self._test_ipv6: return None diff --git a/smoketest/scripts/cli/test_configd_inspect.py b/smoketest/scripts/cli/test_configd_inspect.py index 4ebee8cc5..af46c6148 100755 --- a/smoketest/scripts/cli/test_configd_inspect.py +++ b/smoketest/scripts/cli/test_configd_inspect.py @@ -107,4 +107,4 @@ class TestConfigdInclude(unittest.TestCase): self.assertEqual(n, 0, f"'{s}' modifies config") if __name__ == '__main__': - unittest.main() + unittest.main(verbosity=2) diff --git a/smoketest/scripts/cli/test_interfaces_bonding.py b/smoketest/scripts/cli/test_interfaces_bonding.py index 93ed1ced5..a7355f418 100755 --- a/smoketest/scripts/cli/test_interfaces_bonding.py +++ b/smoketest/scripts/cli/test_interfaces_bonding.py @@ -51,18 +51,16 @@ class BondingInterfaceTest(BasicInterfaceTest.BaseTest): self._options['bond0'].append(f'member interface {member}') - def test_add_address_single(self): + def test_add_single_ip_address(self): """ derived method to check if member interfaces are enslaved properly """ - super().test_add_address_single() + super().test_add_single_ip_address() for interface in self._interfaces: slaves = read_file(f'/sys/class/net/{interface}/bonding/slaves').split() self.assertListEqual(slaves, self._members) - def test_8021q_vlan(self): - """ Testcase for 802.1q VLAN interfaces created on top of a lacp / bond - interface. This is the testcase for T2894 """ - super().test_8021q_vlan() + def test_8021q_vlan_interfaces(self): + super().test_8021q_vlan_interfaces() for interface in self._interfaces: slaves = read_file(f'/sys/class/net/{interface}/bonding/slaves').split() @@ -94,4 +92,4 @@ class BondingInterfaceTest(BasicInterfaceTest.BaseTest): self.assertEqual('up', state) if __name__ == '__main__': - unittest.main() + unittest.main(verbosity=2) diff --git a/smoketest/scripts/cli/test_interfaces_bridge.py b/smoketest/scripts/cli/test_interfaces_bridge.py index 6c1efaf75..04a117edf 100755 --- a/smoketest/scripts/cli/test_interfaces_bridge.py +++ b/smoketest/scripts/cli/test_interfaces_bridge.py @@ -45,7 +45,7 @@ class BridgeInterfaceTest(BasicInterfaceTest.BaseTest): for tmp in Section.interfaces("ethernet"): if not '.' in tmp: self._members.append(tmp) - + self.session.set(['interfaces','dummy','dum0']) self.session.set(['interfaces','dummy','dum1']) self.session.set(['interfaces','bonding','bond1','member','interface','dum0']) @@ -55,14 +55,14 @@ class BridgeInterfaceTest(BasicInterfaceTest.BaseTest): self._options['br0'] = [] for member in self._members: self._options['br0'].append(f'member interface {member}') - + def tearDown(self): self.session.delete(['interfaces','bonding']) self.session.delete(['interfaces','dummy']) super().tearDown() - def test_add_remove_member(self): - """ Add member interfaces to bridge and set STP cost/priority """ + def test_add_remove_bridge_member(self): + # Add member interfaces to bridge and set STP cost/priority for interface in self._interfaces: base = self._base_path + [interface] self.session.set(base + ['stp']) @@ -94,9 +94,9 @@ class BridgeInterfaceTest(BasicInterfaceTest.BaseTest): self.session.delete(self._base_path + [interface, 'member']) self.session.commit() - - def test_vlan_filter(self): - """ Add member interface to bridge and set VLAN filter """ + + def test_bridge_vlan_filter(self): + # Add member interface to bridge and set VLAN filter for interface in self._interfaces: base = self._base_path + [interface] self.session.set(base + ['vif', '1','address', '192.0.2.1/24']) @@ -115,22 +115,22 @@ class BridgeInterfaceTest(BasicInterfaceTest.BaseTest): # commit config self.session.commit() - + # Detect the vlan filter function for interface in self._interfaces: with open(f'/sys/class/net/{interface}/bridge/vlan_filtering', 'r') as f: flags = f.read() self.assertEqual(int(flags), 1) - + # Execute the program to obtain status information - + json_data = cmd('bridge -j vlan show', shell=True) - + vlan_filter_status = None - + vlan_filter_status = json.loads(json_data) - - + + if vlan_filter_status is not None: for interface_status in vlan_filter_status: ifname = interface_status['ifname'] @@ -160,15 +160,15 @@ class BridgeInterfaceTest(BasicInterfaceTest.BaseTest): self.assertTrue(True) else: self.assertTrue(False) - + else: self.assertTrue(False) - - - + + + # check member interfaces are added on the bridge - + for interface in self._interfaces: bridge_members = [] for tmp in glob(f'/sys/class/net/{interface}/lower_*'): @@ -183,8 +183,8 @@ class BridgeInterfaceTest(BasicInterfaceTest.BaseTest): self.session.commit() - def test_vlan_members(self): - """ T2945: ensure that VIFs are not dropped from bridge """ + def test_bridge_vlan_members(self): + # T2945: ensure that VIFs are not dropped from bridge self.session.set(['interfaces', 'ethernet', 'eth0', 'vif', '300']) self.session.set(['interfaces', 'bridge', 'br0', 'member', 'interface', 'eth0.300']) @@ -207,5 +207,5 @@ class BridgeInterfaceTest(BasicInterfaceTest.BaseTest): if __name__ == '__main__': - unittest.main() + unittest.main(verbosity=2) diff --git a/smoketest/scripts/cli/test_interfaces_dummy.py b/smoketest/scripts/cli/test_interfaces_dummy.py index 01942fc89..97f5344ac 100755 --- a/smoketest/scripts/cli/test_interfaces_dummy.py +++ b/smoketest/scripts/cli/test_interfaces_dummy.py @@ -25,4 +25,4 @@ class DummyInterfaceTest(BasicInterfaceTest.BaseTest): self._interfaces = ['dum0', 'dum1', 'dum2'] if __name__ == '__main__': - unittest.main() + unittest.main(verbosity=2) diff --git a/smoketest/scripts/cli/test_interfaces_ethernet.py b/smoketest/scripts/cli/test_interfaces_ethernet.py index bdb20a5c7..d5dcdc536 100755 --- a/smoketest/scripts/cli/test_interfaces_ethernet.py +++ b/smoketest/scripts/cli/test_interfaces_ethernet.py @@ -15,10 +15,23 @@ # along with this program. If not, see <http://www.gnu.org/licenses/>. import os +import re import unittest from base_interfaces_test import BasicInterfaceTest from vyos.ifconfig import Section +from vyos.util import cmd +from vyos.util import process_named_running +from vyos.util import read_file + +ca_cert = '/config/auth/eapol_test_ca.pem' +ssl_cert = '/config/auth/eapol_test_server.pem' +ssl_key = '/config/auth/eapol_test_server.key' + +def get_wpa_supplicant_value(interface, key): + tmp = read_file(f'/run/wpa_supplicant/{interface}.conf') + tmp = re.findall(r'\n?{}=(.*)'.format(key), tmp) + return tmp[0] class EthernetInterfaceTest(BasicInterfaceTest.BaseTest): def setUp(self): @@ -43,27 +56,103 @@ class EthernetInterfaceTest(BasicInterfaceTest.BaseTest): if not '.' in tmp: self._interfaces.append(tmp) - def test_dhcp_disable(self): - """ - When interface is configured as admin down, it must be admin down even - """ - for interface in self._interfaces: - self.session.set(self._base_path + [interface, 'disable']) - for option in self._options.get(interface, []): - self.session.set(self._base_path + [interface] + option.split()) + 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 + + + def tearDown(self): + for interface in self._interfaces: + # when using a dedicated interface to test via TEST_ETH environment + # variable only this one will be cleared in the end - usable to test + # ethernet interfaces via SSH + self.session.delete(self._base_path + [interface]) + self.session.set(self._base_path + [interface, 'duplex', 'auto']) + self.session.set(self._base_path + [interface, 'speed', 'auto']) + self.session.set(self._base_path + [interface, 'hw-id', self._macs[interface]]) + + super().tearDown() + + + def test_dhcp_disable_interface(self): + # When interface is configured as admin down, it must be admin down + # even when dhcpc starts on the given interface + for interface in self._interfaces: + self.session.set(self._base_path + [interface, 'disable']) + + # Also enable DHCP (ISC DHCP always places interface in admin up + # state so we check that we do not start DHCP client. + # https://phabricator.vyos.net/T2767 + self.session.set(self._base_path + [interface, 'address', 'dhcp']) + + self.session.commit() + + # Validate interface state + for interface in self._interfaces: + with open(f'/sys/class/net/{interface}/flags', 'r') as f: + flags = f.read() + self.assertEqual(int(flags, 16) & 1, 0) + - # Also enable DHCP (ISC DHCP always places interface in admin up - # state so we check that we do not start DHCP client. - # https://phabricator.vyos.net/T2767 - self.session.set(self._base_path + [interface, 'address', 'dhcp']) + def test_eapol_support(self): + for interface in self._interfaces: + # Enable EAPoL + self.session.set(self._base_path + [interface, 'eapol', 'ca-cert-file', ca_cert]) + self.session.set(self._base_path + [interface, 'eapol', 'cert-file', ssl_cert]) + self.session.set(self._base_path + [interface, 'eapol', 'key-file', ssl_key]) - self.session.commit() + self.session.commit() - # Validate interface state - for interface in self._interfaces: - with open(f'/sys/class/net/{interface}/flags', 'r') as f: - flags = f.read() - self.assertEqual(int(flags, 16) & 1, 0) + # Check for running process + self.assertTrue(process_named_running('wpa_supplicant')) + + # Validate interface config + for interface in self._interfaces: + tmp = get_wpa_supplicant_value(interface, 'key_mgmt') + self.assertEqual('IEEE8021X', tmp) + + tmp = get_wpa_supplicant_value(interface, 'eap') + self.assertEqual('TLS', tmp) + + tmp = get_wpa_supplicant_value(interface, 'eapol_flags') + self.assertEqual('0', tmp) + + tmp = get_wpa_supplicant_value(interface, 'ca_cert') + self.assertEqual(f'"{ca_cert}"', tmp) + + tmp = get_wpa_supplicant_value(interface, 'client_cert') + self.assertEqual(f'"{ssl_cert}"', tmp) + + tmp = get_wpa_supplicant_value(interface, 'private_key') + self.assertEqual(f'"{ssl_key}"', tmp) + + mac = read_file(f'/sys/class/net/{interface}/address') + tmp = get_wpa_supplicant_value(interface, 'identity') + self.assertEqual(f'"{mac}"', tmp) if __name__ == '__main__': - unittest.main() + # Our SSL certificates need a subject ... + subject = '/C=DE/ST=BY/O=VyOS/localityName=Cloud/commonName=vyos/' \ + 'organizationalUnitName=VyOS/emailAddress=maintainers@vyos.io/' + + if not (os.path.isfile(ssl_key) and os.path.isfile(ssl_cert)): + # Generate mandatory SSL certificate + tmp = f'openssl req -newkey rsa:4096 -new -nodes -x509 -days 3650 '\ + f'-keyout {ssl_key} -out {ssl_cert} -subj {subject}' + print(cmd(tmp)) + + if not os.path.isfile(ca_cert): + # Generate "CA" + tmp = f'openssl req -new -x509 -key {ssl_key} -out {ca_cert} -subj {subject}' + print(cmd(tmp)) + + for file in [ca_cert, ssl_cert, ssl_key]: + cmd(f'sudo chown radius_priv_user:vyattacfg {file}') + + unittest.main(verbosity=2) diff --git a/smoketest/scripts/cli/test_interfaces_geneve.py b/smoketest/scripts/cli/test_interfaces_geneve.py index f84a55f86..7e0389a63 100755 --- a/smoketest/scripts/cli/test_interfaces_geneve.py +++ b/smoketest/scripts/cli/test_interfaces_geneve.py @@ -34,4 +34,4 @@ class GeneveInterfaceTest(BasicInterfaceTest.BaseTest): if __name__ == '__main__': - unittest.main() + unittest.main(verbosity=2) diff --git a/smoketest/scripts/cli/test_interfaces_l2tpv3.py b/smoketest/scripts/cli/test_interfaces_l2tpv3.py index d8655d157..be9565d00 100755 --- a/smoketest/scripts/cli/test_interfaces_l2tpv3.py +++ b/smoketest/scripts/cli/test_interfaces_l2tpv3.py @@ -38,8 +38,8 @@ class GeneveInterfaceTest(BasicInterfaceTest.BaseTest): } self._interfaces = list(self._options) - def test_add_address_single(self): - super().test_add_address_single() + def test_add_single_ip_address(self): + super().test_add_single_ip_address() command = 'sudo ip -j l2tp show session' json_out = json.loads(cmd(command)) @@ -56,4 +56,4 @@ class GeneveInterfaceTest(BasicInterfaceTest.BaseTest): if __name__ == '__main__': - unittest.main() + unittest.main(verbosity=2) diff --git a/smoketest/scripts/cli/test_interfaces_loopback.py b/smoketest/scripts/cli/test_interfaces_loopback.py index ba428b5d3..549a679fc 100755 --- a/smoketest/scripts/cli/test_interfaces_loopback.py +++ b/smoketest/scripts/cli/test_interfaces_loopback.py @@ -27,8 +27,8 @@ class LoopbackInterfaceTest(BasicInterfaceTest.BaseTest): self._base_path = ['interfaces', 'loopback'] self._interfaces = ['lo'] - def test_add_address_single(self): - super().test_add_address_single() + def test_add_single_ip_address(self): + super().test_add_single_ip_address() for addr in self._loopback_addresses: self.assertTrue(is_intf_addr_assigned('lo', addr)) @@ -38,4 +38,4 @@ class LoopbackInterfaceTest(BasicInterfaceTest.BaseTest): self.assertTrue(is_intf_addr_assigned('lo', addr)) if __name__ == '__main__': - unittest.main() + unittest.main(verbosity=2) diff --git a/smoketest/scripts/cli/test_interfaces_macsec.py b/smoketest/scripts/cli/test_interfaces_macsec.py index 177d2b946..2dff848d4 100755 --- a/smoketest/scripts/cli/test_interfaces_macsec.py +++ b/smoketest/scripts/cli/test_interfaces_macsec.py @@ -152,5 +152,5 @@ class MACsecInterfaceTest(BasicInterfaceTest.BaseTest): self.assertIn(interface, interfaces()) if __name__ == '__main__': - unittest.main() + unittest.main(verbosity=2) diff --git a/smoketest/scripts/cli/test_interfaces_openvpn.py b/smoketest/scripts/cli/test_interfaces_openvpn.py index e636e107d..e9f905ce8 100755 --- a/smoketest/scripts/cli/test_interfaces_openvpn.py +++ b/smoketest/scripts/cli/test_interfaces_openvpn.py @@ -660,4 +660,4 @@ if __name__ == '__main__': for file in [ca_cert, ssl_cert, ssl_key, dh_pem, s2s_key, auth_key]: cmd(f'sudo chown openvpn:openvpn {file}') - unittest.main() + unittest.main(verbosity=2) diff --git a/smoketest/scripts/cli/test_interfaces_pppoe.py b/smoketest/scripts/cli/test_interfaces_pppoe.py index dc63a14a0..2580566cd 100755 --- a/smoketest/scripts/cli/test_interfaces_pppoe.py +++ b/smoketest/scripts/cli/test_interfaces_pppoe.py @@ -159,4 +159,4 @@ class PPPoEInterfaceTest(unittest.TestCase): self.assertTrue(tmp) if __name__ == '__main__': - unittest.main() + unittest.main(verbosity=2) diff --git a/smoketest/scripts/cli/test_interfaces_pseudo_ethernet.py b/smoketest/scripts/cli/test_interfaces_pseudo_ethernet.py index 62a97fc34..c1711c5a3 100755 --- a/smoketest/scripts/cli/test_interfaces_pseudo_ethernet.py +++ b/smoketest/scripts/cli/test_interfaces_pseudo_ethernet.py @@ -37,4 +37,4 @@ class PEthInterfaceTest(BasicInterfaceTest.BaseTest): self._interfaces = list(self._options) if __name__ == '__main__': - unittest.main() + unittest.main(verbosity=2) diff --git a/smoketest/scripts/cli/test_interfaces_tunnel.py b/smoketest/scripts/cli/test_interfaces_tunnel.py index aaff92dea..676b207c7 100755 --- a/smoketest/scripts/cli/test_interfaces_tunnel.py +++ b/smoketest/scripts/cli/test_interfaces_tunnel.py @@ -378,4 +378,4 @@ class TunnelInterfaceTest(BasicInterfaceTest.BaseTest): if __name__ == '__main__': - unittest.main() + unittest.main(verbosity=2) diff --git a/smoketest/scripts/cli/test_interfaces_vxlan.py b/smoketest/scripts/cli/test_interfaces_vxlan.py index 2628e0285..f41c180ad 100755 --- a/smoketest/scripts/cli/test_interfaces_vxlan.py +++ b/smoketest/scripts/cli/test_interfaces_vxlan.py @@ -32,4 +32,4 @@ class VXLANInterfaceTest(BasicInterfaceTest.BaseTest): self._interfaces = list(self._options) if __name__ == '__main__': - unittest.main() + unittest.main(verbosity=2) diff --git a/smoketest/scripts/cli/test_interfaces_wireguard.py b/smoketest/scripts/cli/test_interfaces_wireguard.py index 726405780..8d3e1e158 100755 --- a/smoketest/scripts/cli/test_interfaces_wireguard.py +++ b/smoketest/scripts/cli/test_interfaces_wireguard.py @@ -95,4 +95,4 @@ class WireGuardInterfaceTest(unittest.TestCase): if __name__ == '__main__': - unittest.main() + unittest.main(verbosity=2) diff --git a/smoketest/scripts/cli/test_interfaces_wireless.py b/smoketest/scripts/cli/test_interfaces_wireless.py index 70cb5190c..111205866 100755 --- a/smoketest/scripts/cli/test_interfaces_wireless.py +++ b/smoketest/scripts/cli/test_interfaces_wireless.py @@ -48,9 +48,9 @@ class WirelessInterfaceTest(BasicInterfaceTest.BaseTest): } self._interfaces = list(self._options) - def test_add_address_single(self): + def test_add_single_ip_address(self): """ derived method to check if member interfaces are enslaved properly """ - super().test_add_address_single() + super().test_add_single_ip_address() for option, option_value in self._options.items(): if 'type access-point' in option_value: @@ -238,4 +238,4 @@ class WirelessInterfaceTest(BasicInterfaceTest.BaseTest): if __name__ == '__main__': check_kmod('mac80211_hwsim') - unittest.main() + unittest.main(verbosity=2) diff --git a/smoketest/scripts/cli/test_interfaces_wirelessmodem.py b/smoketest/scripts/cli/test_interfaces_wirelessmodem.py index efc9c0e98..45cd069f4 100755 --- a/smoketest/scripts/cli/test_interfaces_wirelessmodem.py +++ b/smoketest/scripts/cli/test_interfaces_wirelessmodem.py @@ -79,4 +79,4 @@ class WWANInterfaceTest(unittest.TestCase): self.assertTrue(running) if __name__ == '__main__': - unittest.main() + unittest.main(verbosity=2) diff --git a/smoketest/scripts/cli/test_nat.py b/smoketest/scripts/cli/test_nat.py index 43392bde3..277b23891 100755 --- a/smoketest/scripts/cli/test_nat.py +++ b/smoketest/scripts/cli/test_nat.py @@ -161,4 +161,4 @@ class TestNAT(unittest.TestCase): self.session.commit() if __name__ == '__main__': - unittest.main() + unittest.main(verbosity=2) diff --git a/smoketest/scripts/cli/test_policy_local-route.py b/smoketest/scripts/cli/test_policy_local-route.py index 490bf6b47..de1882a65 100755 --- a/smoketest/scripts/cli/test_policy_local-route.py +++ b/smoketest/scripts/cli/test_policy_local-route.py @@ -58,4 +58,4 @@ class PolicyLocalRouteTest(unittest.TestCase): self.assertEqual(tmp, original) if __name__ == '__main__': - unittest.main() + unittest.main(verbosity=2) diff --git a/smoketest/scripts/cli/test_protocols_igmp-proxy.py b/smoketest/scripts/cli/test_protocols_igmp-proxy.py index f78581fea..6aaad739d 100755 --- a/smoketest/scripts/cli/test_protocols_igmp-proxy.py +++ b/smoketest/scripts/cli/test_protocols_igmp-proxy.py @@ -80,4 +80,4 @@ class TestProtocolsIGMPProxy(unittest.TestCase): self.assertTrue(process_named_running(PROCESS_NAME)) if __name__ == '__main__': - unittest.main() + unittest.main(verbosity=2) diff --git a/smoketest/scripts/cli/test_service_bcast-relay.py b/smoketest/scripts/cli/test_service_bcast-relay.py index fe4531c3b..b391ec5af 100755 --- a/smoketest/scripts/cli/test_service_bcast-relay.py +++ b/smoketest/scripts/cli/test_service_bcast-relay.py @@ -68,4 +68,4 @@ class TestServiceBroadcastRelay(unittest.TestCase): self.assertTrue(running) if __name__ == '__main__': - unittest.main() + unittest.main(verbosity=2) diff --git a/smoketest/scripts/cli/test_service_dhcp-relay.py b/smoketest/scripts/cli/test_service_dhcp-relay.py index 4b020db72..676c4a481 100755 --- a/smoketest/scripts/cli/test_service_dhcp-relay.py +++ b/smoketest/scripts/cli/test_service_dhcp-relay.py @@ -89,5 +89,5 @@ class TestServiceDHCPRelay(unittest.TestCase): self.assertTrue(process_named_running(PROCESS_NAME)) if __name__ == '__main__': - unittest.main() + unittest.main(verbosity=2) diff --git a/smoketest/scripts/cli/test_service_dhcp-server.py b/smoketest/scripts/cli/test_service_dhcp-server.py index e13896095..5bf4b100e 100755 --- a/smoketest/scripts/cli/test_service_dhcp-server.py +++ b/smoketest/scripts/cli/test_service_dhcp-server.py @@ -321,4 +321,4 @@ class TestServiceDHCPServer(unittest.TestCase): self.assertTrue(process_named_running(PROCESS_NAME)) if __name__ == '__main__': - unittest.main() + unittest.main(verbosity=2) diff --git a/smoketest/scripts/cli/test_service_dhcpv6-relay.py b/smoketest/scripts/cli/test_service_dhcpv6-relay.py index ccc849a4f..e36c237bc 100755 --- a/smoketest/scripts/cli/test_service_dhcpv6-relay.py +++ b/smoketest/scripts/cli/test_service_dhcpv6-relay.py @@ -108,5 +108,5 @@ if __name__ == '__main__': if '.' not in tmp: interfaces.append(tmp) - unittest.main() + unittest.main(verbosity=2) diff --git a/smoketest/scripts/cli/test_service_dhcpv6-server.py b/smoketest/scripts/cli/test_service_dhcpv6-server.py index 56fc16d2b..319891a94 100755 --- a/smoketest/scripts/cli/test_service_dhcpv6-server.py +++ b/smoketest/scripts/cli/test_service_dhcpv6-server.py @@ -152,4 +152,4 @@ class TestServiceDHCPServer(unittest.TestCase): self.assertTrue(process_named_running(PROCESS_NAME)) if __name__ == '__main__': - unittest.main() + unittest.main(verbosity=2) diff --git a/smoketest/scripts/cli/test_service_dns_dynamic.py b/smoketest/scripts/cli/test_service_dns_dynamic.py index c7ac87135..4acaab319 100755 --- a/smoketest/scripts/cli/test_service_dns_dynamic.py +++ b/smoketest/scripts/cli/test_service_dns_dynamic.py @@ -128,4 +128,4 @@ class TestServiceDDNS(unittest.TestCase): self.assertTrue(process_named_running(PROCESS_NAME)) if __name__ == '__main__': - unittest.main() + unittest.main(verbosity=2) diff --git a/smoketest/scripts/cli/test_service_dns_forwarding.py b/smoketest/scripts/cli/test_service_dns_forwarding.py index 5e2f3dfbd..d23b691aa 100755 --- a/smoketest/scripts/cli/test_service_dns_forwarding.py +++ b/smoketest/scripts/cli/test_service_dns_forwarding.py @@ -188,5 +188,5 @@ class TestServicePowerDNS(unittest.TestCase): self.assertTrue(process_named_running(PROCESS_NAME)) if __name__ == '__main__': - unittest.main() + unittest.main(verbosity=2) diff --git a/smoketest/scripts/cli/test_service_https.py b/smoketest/scripts/cli/test_service_https.py index 5f073b6d2..fd0f6bfbd 100755 --- a/smoketest/scripts/cli/test_service_https.py +++ b/smoketest/scripts/cli/test_service_https.py @@ -58,4 +58,4 @@ class TestHTTPSService(unittest.TestCase): self.assertEqual(ret, 0) if __name__ == '__main__': - unittest.main() + unittest.main(verbosity=2) diff --git a/smoketest/scripts/cli/test_service_mdns-repeater.py b/smoketest/scripts/cli/test_service_mdns-repeater.py index de73b9914..e6986b92a 100755 --- a/smoketest/scripts/cli/test_service_mdns-repeater.py +++ b/smoketest/scripts/cli/test_service_mdns-repeater.py @@ -48,4 +48,4 @@ class TestServiceMDNSrepeater(unittest.TestCase): self.assertTrue(process_named_running('mdns-repeater')) if __name__ == '__main__': - unittest.main() + unittest.main(verbosity=2) diff --git a/smoketest/scripts/cli/test_service_pppoe-server.py b/smoketest/scripts/cli/test_service_pppoe-server.py index ed006f16c..6bb301c94 100755 --- a/smoketest/scripts/cli/test_service_pppoe-server.py +++ b/smoketest/scripts/cli/test_service_pppoe-server.py @@ -227,4 +227,4 @@ class TestServicePPPoEServer(BasicAccelPPPTest.BaseTest): if __name__ == '__main__': - unittest.main() + unittest.main(verbosity=2) diff --git a/smoketest/scripts/cli/test_service_router-advert.py b/smoketest/scripts/cli/test_service_router-advert.py index 238f59e6d..b80eb3c43 100755 --- a/smoketest/scripts/cli/test_service_router-advert.py +++ b/smoketest/scripts/cli/test_service_router-advert.py @@ -94,4 +94,4 @@ class TestServiceRADVD(unittest.TestCase): self.assertTrue(process_named_running('radvd')) if __name__ == '__main__': - unittest.main() + unittest.main(verbosity=2) diff --git a/smoketest/scripts/cli/test_service_snmp.py b/smoketest/scripts/cli/test_service_snmp.py index 2c2e2181b..2332ab024 100755 --- a/smoketest/scripts/cli/test_service_snmp.py +++ b/smoketest/scripts/cli/test_service_snmp.py @@ -153,5 +153,5 @@ class TestSNMPService(unittest.TestCase): self.assertTrue(process_named_running(PROCESS_NAME)) if __name__ == '__main__': - unittest.main() + unittest.main(verbosity=2) diff --git a/smoketest/scripts/cli/test_service_ssh.py b/smoketest/scripts/cli/test_service_ssh.py index ea70d8e03..308eb51fa 100755 --- a/smoketest/scripts/cli/test_service_ssh.py +++ b/smoketest/scripts/cli/test_service_ssh.py @@ -160,4 +160,4 @@ class TestServiceSSH(unittest.TestCase): self.assertIn(PROCESS_NAME, tmp) if __name__ == '__main__': - unittest.main() + unittest.main(verbosity=2) diff --git a/smoketest/scripts/cli/test_service_tftp-server.py b/smoketest/scripts/cli/test_service_tftp-server.py index 3210e622f..82e5811ff 100755 --- a/smoketest/scripts/cli/test_service_tftp-server.py +++ b/smoketest/scripts/cli/test_service_tftp-server.py @@ -102,4 +102,4 @@ class TestServiceTFTPD(unittest.TestCase): self.assertEqual(count, len(address)) if __name__ == '__main__': - unittest.main() + unittest.main(verbosity=2) diff --git a/smoketest/scripts/cli/test_service_webproxy.py b/smoketest/scripts/cli/test_service_webproxy.py index 6f88a351d..6348daa74 100755 --- a/smoketest/scripts/cli/test_service_webproxy.py +++ b/smoketest/scripts/cli/test_service_webproxy.py @@ -287,4 +287,4 @@ class TestServiceWebProxy(unittest.TestCase): if __name__ == '__main__': - unittest.main() + unittest.main(verbosity=2) diff --git a/smoketest/scripts/cli/test_system_acceleration_qat.py b/smoketest/scripts/cli/test_system_acceleration_qat.py index c937c810e..cadb263f5 100755 --- a/smoketest/scripts/cli/test_system_acceleration_qat.py +++ b/smoketest/scripts/cli/test_system_acceleration_qat.py @@ -44,4 +44,4 @@ class TestSystemLCD(unittest.TestCase): self.session.commit() if __name__ == '__main__': - unittest.main() + unittest.main(verbosity=2) diff --git a/smoketest/scripts/cli/test_system_ip.py b/smoketest/scripts/cli/test_system_ip.py index 4fcaaa465..982d7bc0a 100755 --- a/smoketest/scripts/cli/test_system_ip.py +++ b/smoketest/scripts/cli/test_system_ip.py @@ -76,4 +76,4 @@ class TestSystemIP(unittest.TestCase): self.assertEqual(read_file(gc_thresh1), str(size // 8)) if __name__ == '__main__': - unittest.main() + unittest.main(verbosity=2) diff --git a/smoketest/scripts/cli/test_system_lcd.py b/smoketest/scripts/cli/test_system_lcd.py index 9385799b0..2bf601e3b 100755 --- a/smoketest/scripts/cli/test_system_lcd.py +++ b/smoketest/scripts/cli/test_system_lcd.py @@ -52,4 +52,4 @@ class TestSystemLCD(unittest.TestCase): self.assertTrue(process_named_running('LCDd')) if __name__ == '__main__': - unittest.main() + unittest.main(verbosity=2) diff --git a/smoketest/scripts/cli/test_system_login.py b/smoketest/scripts/cli/test_system_login.py index d3324b8aa..eb749b164 100755 --- a/smoketest/scripts/cli/test_system_login.py +++ b/smoketest/scripts/cli/test_system_login.py @@ -131,4 +131,4 @@ class TestSystemLogin(unittest.TestCase): self.assertTrue(tmp) if __name__ == '__main__': - unittest.main() + unittest.main(verbosity=2) diff --git a/smoketest/scripts/cli/test_system_nameserver.py b/smoketest/scripts/cli/test_system_nameserver.py index 9040be072..d86c2b424 100755 --- a/smoketest/scripts/cli/test_system_nameserver.py +++ b/smoketest/scripts/cli/test_system_nameserver.py @@ -62,5 +62,5 @@ class TestSystemNameServer(unittest.TestCase): self.assertTrue(test_server_1 not in servers) if __name__ == '__main__': - unittest.main() + unittest.main(verbosity=2) diff --git a/smoketest/scripts/cli/test_system_ntp.py b/smoketest/scripts/cli/test_system_ntp.py index e2744c936..503c789d9 100755 --- a/smoketest/scripts/cli/test_system_ntp.py +++ b/smoketest/scripts/cli/test_system_ntp.py @@ -109,4 +109,4 @@ class TestSystemNTP(unittest.TestCase): self.assertTrue(process_named_running(PROCESS_NAME)) if __name__ == '__main__': - unittest.main() + unittest.main(verbosity=2) diff --git a/smoketest/scripts/cli/test_vpn_openconnect.py b/smoketest/scripts/cli/test_vpn_openconnect.py index 2ba6aabf9..e27216e09 100755 --- a/smoketest/scripts/cli/test_vpn_openconnect.py +++ b/smoketest/scripts/cli/test_vpn_openconnect.py @@ -53,4 +53,4 @@ class TestVpnOpenconnect(unittest.TestCase): self.assertTrue(process_named_running('ocserv-main')) if __name__ == '__main__': - unittest.main() + unittest.main(verbosity=2) diff --git a/smoketest/scripts/cli/test_vpn_sstp.py b/smoketest/scripts/cli/test_vpn_sstp.py index 9babb83dc..95fe38dd9 100755 --- a/smoketest/scripts/cli/test_vpn_sstp.py +++ b/smoketest/scripts/cli/test_vpn_sstp.py @@ -59,4 +59,4 @@ if __name__ == '__main__': f'-subj {subject}' cmd(tmp) - unittest.main() + unittest.main(verbosity=2) diff --git a/smoketest/scripts/cli/test_vrf.py b/smoketest/scripts/cli/test_vrf.py index efa095b30..d8ed46f0b 100755 --- a/smoketest/scripts/cli/test_vrf.py +++ b/smoketest/scripts/cli/test_vrf.py @@ -49,4 +49,4 @@ class VRFTest(unittest.TestCase): self.session.commit() if __name__ == '__main__': - unittest.main() + unittest.main(verbosity=2) diff --git a/smoketest/scripts/system/test_kernel_options.py b/smoketest/scripts/system/test_kernel_options.py index 043567c4f..08c0749c1 100755 --- a/smoketest/scripts/system/test_kernel_options.py +++ b/smoketest/scripts/system/test_kernel_options.py @@ -59,5 +59,5 @@ class TestKernelModules(unittest.TestCase): self.assertTrue(tmp) if __name__ == '__main__': - unittest.main() + unittest.main(verbosity=2) diff --git a/smoketest/scripts/system/test_module_load.py b/smoketest/scripts/system/test_module_load.py index c3cf0ff92..c781e0199 100755 --- a/smoketest/scripts/system/test_module_load.py +++ b/smoketest/scripts/system/test_module_load.py @@ -40,4 +40,4 @@ class TestKernelModules(unittest.TestCase): self.assertTrue(success) if __name__ == '__main__': - unittest.main() + unittest.main(verbosity=2) |