networkd: print a meaningful error on failure

test_keep_configuration_on_restart() works, but the error printed is
misleading because self.assertNotEmpty() doesn't exist.

Add a working assert statement so, when the unmanaged interface is
altered, the test fails with a meaningful error, like:

        ### ip monitor dev unmanaged0 BEGIN
        222:33::/64 proto kernel metric 256 pref medium
        FAIL
        [...]
        Traceback (most recent call last):
          File "/work/src/test/test-network/systemd-networkd-tests.py", line 5085, in test_keep_configuration_on_restart
            self.assertEqual(line, '')
        AssertionError: '222:33::/64 proto kernel metric 256 pref medium' != ''
        - 222:33::/64 proto kernel metric 256 pref medium

While at it, strip the trailing newline so we can print easily the
string (and in future build more a robust regexp which uses the $ token)
This commit is contained in:
Matteo Croce
2025-05-22 05:41:49 +02:00
committed by Daan De Meyer
parent 9daa1dbcce
commit 6288739eaf

View File

@@ -5058,7 +5058,8 @@ class NetworkdNetworkTests(unittest.TestCase, Utilities):
# Read the `ip monitor` output looking for network changes
logfile.seek(0)
for line in logfile:
print(line, end="")
line = line.rstrip()
print(line)
# Check if a link went down
self.assertNotRegex(line, 'dummy98: .* state DOWN')
# Check if an address was removed
@@ -5077,9 +5078,10 @@ class NetworkdNetworkTests(unittest.TestCase, Utilities):
# Read the `ip monitor` output looking for network changes
logfile_unmanaged.seek(0)
for line in logfile_unmanaged:
print(line, end="")
line = line.rstrip()
print(line)
# Check if something happened
self.assertNotEmpty(line)
self.assertEqual(line, '')
print('### ip monitor dev unmanaged0 END')