#!/usr/bin/python3 -cimport os, sys; os.execv(os.path.dirname(sys.argv[1]) + "/../common/pywrap", sys.argv)## Copyright (C) 2013 Red Hat, Inc.# SPDX-License-Identifier: LGPL-2.1-or-laterimport netlibimport testlib@testlib.nondestructiveclass TestNetworkingMTU(netlib.NetworkCase):def testMtu(self):b = self.browserm = self.machineself.login_and_go("/network")b.wait_visible("#networking")iface = 'cockpit1'self.add_veth(iface, dhcp_cidr="10.111.113.2/20")self.nm_activate_eth(iface)self.wait_for_iface(iface)self.select_iface(iface)b.wait_visible("#network-interface")self.configure_iface_setting('MTU')b.wait_visible("#network-mtu-settings-dialog")# wait until dialog initializedb.wait_visible("#network-mtu-settings-dialog button[aria-label=Close]")b.wait_visible("#network-mtu-settings-custom")b.assert_pixels("#network-mtu-settings-dialog", "networking-mtu-settings-dialog")b.set_checked('#network-mtu-settings-custom', val=True)b.set_input_text("#network-mtu-settings-input", "-1500")b.click("button:contains('Save')")b.wait_in_text("#network-mtu-settings-error", "MTU must be a positive number")b.set_input_text('#network-mtu-settings-input', "1400")b.click("#network-mtu-settings-save")b.wait_not_present("#network-mtu-settings-dialog")self.wait_for_iface_setting('MTU', '1400')# We're debugging failures here log status to journal for diagnosistestlib.wait(lambda: "mtu 1400" in m.execute(f"ip link show {iface} | logger -s 2>&1"))self.configure_iface_setting("MTU")b.wait_visible("#network-mtu-settings-dialog")b.set_checked("#network-mtu-settings-auto", val=True)b.click("button:contains('Save')")self.wait_for_iface_setting("MTU", "Automatic")if __name__ == '__main__':testlib.test_main()