mirror of
https://github.com/systemd/systemd
synced 2024-10-07 00:30:59 +00:00
test-network: wait for the interface being processed by udevd
Otherwise, even if the interface is available, the requested config may not be applied to the interface yet. This also merges multiple tests for RPS setting. Hopefully the performance of the test is improved.
This commit is contained in:
parent
a39a2a8121
commit
4b35dab86a
|
@ -2466,22 +2466,12 @@ class NetworkdNetDevTests(unittest.TestCase, Utilities):
|
|||
|
||||
self.wait_online('ifb99:degraded')
|
||||
|
||||
def test_rps_cpu_0(self):
|
||||
copy_network_unit('12-dummy.netdev', '25-rps-cpu-0.link')
|
||||
start_networkd()
|
||||
|
||||
self.wait_links('dummy98')
|
||||
|
||||
output = check_output('cat /sys/class/net/dummy98/queues/rx-0/rps_cpus')
|
||||
print(output)
|
||||
self.assertEqual(int(output.replace(',', ''), base=16), 1)
|
||||
|
||||
@unittest.skipUnless(os.cpu_count() >= 2, reason="CPU count should be >= 2 to pass this test")
|
||||
def test_rps_cpu_1(self):
|
||||
copy_network_unit('12-dummy.netdev', '25-rps-cpu-1.link')
|
||||
copy_network_unit('12-dummy.netdev', '12-dummy.network', '25-rps-cpu-1.link')
|
||||
start_networkd()
|
||||
|
||||
self.wait_links('dummy98')
|
||||
self.wait_online('dummy98:carrier')
|
||||
|
||||
output = check_output('cat /sys/class/net/dummy98/queues/rx-0/rps_cpus')
|
||||
print(output)
|
||||
|
@ -2489,10 +2479,10 @@ class NetworkdNetDevTests(unittest.TestCase, Utilities):
|
|||
|
||||
@unittest.skipUnless(os.cpu_count() >= 2, reason="CPU count should be >= 2 to pass this test")
|
||||
def test_rps_cpu_0_1(self):
|
||||
copy_network_unit('12-dummy.netdev', '25-rps-cpu-0-1.link')
|
||||
copy_network_unit('12-dummy.netdev', '12-dummy.network', '25-rps-cpu-0-1.link')
|
||||
start_networkd()
|
||||
|
||||
self.wait_links('dummy98')
|
||||
self.wait_online('dummy98:carrier')
|
||||
|
||||
output = check_output('cat /sys/class/net/dummy98/queues/rx-0/rps_cpus')
|
||||
print(output)
|
||||
|
@ -2500,96 +2490,86 @@ class NetworkdNetDevTests(unittest.TestCase, Utilities):
|
|||
|
||||
@unittest.skipUnless(os.cpu_count() >= 4, reason="CPU count should be >= 4 to pass this test")
|
||||
def test_rps_cpu_multi(self):
|
||||
copy_network_unit('12-dummy.netdev', '25-rps-cpu-multi.link')
|
||||
copy_network_unit('12-dummy.netdev', '12-dummy.network', '25-rps-cpu-multi.link')
|
||||
start_networkd()
|
||||
|
||||
self.wait_links('dummy98')
|
||||
self.wait_online('dummy98:carrier')
|
||||
|
||||
output = check_output('cat /sys/class/net/dummy98/queues/rx-0/rps_cpus')
|
||||
print(output)
|
||||
self.assertEqual(int(output.replace(',', ''), base=16), 15)
|
||||
|
||||
def test_rps_cpu_all(self):
|
||||
def test_rps_cpu(self):
|
||||
cpu_count = os.cpu_count()
|
||||
|
||||
copy_network_unit('12-dummy.netdev', '25-rps-cpu-all.link')
|
||||
copy_network_unit('12-dummy.netdev', '12-dummy.network')
|
||||
start_networkd()
|
||||
|
||||
self.wait_links('dummy98')
|
||||
|
||||
output = check_output('cat /sys/class/net/dummy98/queues/rx-0/rps_cpus')
|
||||
print(output)
|
||||
self.assertEqual(f"{int(output.replace(',', ''), base=16):x}", f'{(1 << cpu_count) - 1:x}')
|
||||
|
||||
def test_rps_cpu_disable(self):
|
||||
copy_network_unit('12-dummy.netdev', '25-rps-cpu-all.link', '24-rps-cpu-disable.link')
|
||||
start_networkd()
|
||||
|
||||
self.wait_links('dummy98')
|
||||
|
||||
output = check_output('cat /sys/class/net/dummy98/queues/rx-0/rps_cpus')
|
||||
print(output)
|
||||
self.assertEqual(int(output.replace(',', ''), base=16), 0)
|
||||
|
||||
def test_rps_cpu_empty(self):
|
||||
copy_network_unit('12-dummy.netdev', '24-rps-cpu-empty.link')
|
||||
start_networkd()
|
||||
|
||||
self.wait_links('dummy98')
|
||||
|
||||
output = check_output('cat /sys/class/net/dummy98/queues/rx-0/rps_cpus')
|
||||
print(output)
|
||||
self.assertEqual(int(output.replace(',', ''), base=16), 0)
|
||||
|
||||
def test_rps_cpu_0_empty(self):
|
||||
copy_network_unit('12-dummy.netdev', '25-rps-cpu-0-empty.link')
|
||||
start_networkd()
|
||||
|
||||
self.wait_links('dummy98')
|
||||
|
||||
output = check_output('cat /sys/class/net/dummy98/queues/rx-0/rps_cpus')
|
||||
print(output)
|
||||
self.assertEqual(int(output.replace(',', ''), base=16), 0)
|
||||
|
||||
def test_rps_cpu_0_and_empty(self):
|
||||
copy_network_unit('12-dummy.netdev', '25-rps-cpu-0.link', '24-rps-cpu-empty.link')
|
||||
start_networkd()
|
||||
|
||||
self.wait_links('dummy98')
|
||||
|
||||
output = check_output('cat /sys/class/net/dummy98/queues/rx-0/rps_cpus')
|
||||
print(output)
|
||||
self.assertEqual(int(output.replace(',', ''), base=16), 0)
|
||||
|
||||
def test_rps_cpu_invalid(self):
|
||||
copy_network_unit('12-dummy.netdev', '24-rps-cpu-invalid.link')
|
||||
start_networkd()
|
||||
|
||||
self.wait_links('dummy98')
|
||||
|
||||
output = check_output('cat /sys/class/net/dummy98/queues/rx-0/rps_cpus')
|
||||
print(output)
|
||||
self.assertEqual(int(output.replace(',', ''), base=16), 0)
|
||||
|
||||
def test_rps_cpu_0_invalid(self):
|
||||
copy_network_unit('12-dummy.netdev', '25-rps-cpu-0-invalid.link')
|
||||
start_networkd()
|
||||
|
||||
self.wait_links('dummy98')
|
||||
self.wait_online('dummy98:carrier')
|
||||
|
||||
# 0
|
||||
copy_network_unit('25-rps-cpu-0.link')
|
||||
udevadm_trigger('/sys/class/net/dummy98')
|
||||
output = check_output('cat /sys/class/net/dummy98/queues/rx-0/rps_cpus')
|
||||
print(output)
|
||||
self.assertEqual(int(output.replace(',', ''), base=16), 1)
|
||||
remove_network_unit('25-rps-cpu-0.link')
|
||||
|
||||
def test_rps_cpu_0_and_invalid(self):
|
||||
copy_network_unit('12-dummy.netdev', '25-rps-cpu-0.link', '24-rps-cpu-invalid.link')
|
||||
start_networkd()
|
||||
|
||||
self.wait_links('dummy98')
|
||||
# all
|
||||
copy_network_unit('25-rps-cpu-all.link')
|
||||
udevadm_trigger('/sys/class/net/dummy98')
|
||||
output = check_output('cat /sys/class/net/dummy98/queues/rx-0/rps_cpus')
|
||||
print(output)
|
||||
self.assertEqual(f"{int(output.replace(',', ''), base=16):x}", f'{(1 << cpu_count) - 1:x}')
|
||||
remove_network_unit('25-rps-cpu-all.link')
|
||||
|
||||
# disable
|
||||
copy_network_unit('24-rps-cpu-disable.link')
|
||||
udevadm_trigger('/sys/class/net/dummy98')
|
||||
output = check_output('cat /sys/class/net/dummy98/queues/rx-0/rps_cpus')
|
||||
print(output)
|
||||
self.assertEqual(int(output.replace(',', ''), base=16), 0)
|
||||
remove_network_unit('24-rps-cpu-disable.link')
|
||||
|
||||
# set all again
|
||||
copy_network_unit('25-rps-cpu-all.link')
|
||||
udevadm_trigger('/sys/class/net/dummy98')
|
||||
output = check_output('cat /sys/class/net/dummy98/queues/rx-0/rps_cpus')
|
||||
print(output)
|
||||
self.assertEqual(f"{int(output.replace(',', ''), base=16):x}", f'{(1 << cpu_count) - 1:x}')
|
||||
remove_network_unit('25-rps-cpu-all.link')
|
||||
|
||||
# empty -> unchanged
|
||||
copy_network_unit('24-rps-cpu-empty.link')
|
||||
udevadm_trigger('/sys/class/net/dummy98')
|
||||
output = check_output('cat /sys/class/net/dummy98/queues/rx-0/rps_cpus')
|
||||
print(output)
|
||||
self.assertEqual(f"{int(output.replace(',', ''), base=16):x}", f'{(1 << cpu_count) - 1:x}')
|
||||
remove_network_unit('24-rps-cpu-empty.link')
|
||||
|
||||
# 0, then empty -> unchanged
|
||||
copy_network_unit('25-rps-cpu-0-empty.link')
|
||||
udevadm_trigger('/sys/class/net/dummy98')
|
||||
output = check_output('cat /sys/class/net/dummy98/queues/rx-0/rps_cpus')
|
||||
print(output)
|
||||
self.assertEqual(f"{int(output.replace(',', ''), base=16):x}", f'{(1 << cpu_count) - 1:x}')
|
||||
remove_network_unit('25-rps-cpu-0-empty.link')
|
||||
|
||||
# 0, then invalid -> 0
|
||||
copy_network_unit('25-rps-cpu-0-invalid.link')
|
||||
udevadm_trigger('/sys/class/net/dummy98')
|
||||
output = check_output('cat /sys/class/net/dummy98/queues/rx-0/rps_cpus')
|
||||
print(output)
|
||||
self.assertEqual(int(output.replace(',', ''), base=16), 1)
|
||||
remove_network_unit('25-rps-cpu-0-invalid.link')
|
||||
|
||||
# invalid -> unchanged
|
||||
copy_network_unit('24-rps-cpu-invalid.link')
|
||||
udevadm_trigger('/sys/class/net/dummy98')
|
||||
output = check_output('cat /sys/class/net/dummy98/queues/rx-0/rps_cpus')
|
||||
print(output)
|
||||
self.assertEqual(int(output.replace(',', ''), base=16), 1)
|
||||
remove_network_unit('24-rps-cpu-invalid.link')
|
||||
|
||||
class NetworkdL2TPTests(unittest.TestCase, Utilities):
|
||||
|
||||
|
|
Loading…
Reference in a new issue