]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test: applying timezone is asynchronous
authorYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 24 May 2024 16:32:21 +0000 (01:32 +0900)
committerLuca Boccassi <luca.boccassi@gmail.com>
Sat, 25 May 2024 09:27:19 +0000 (11:27 +0200)
So, we need to try to read timezone several times.
Also, on failure, show journal of timedated instead of hostnamed,
as the timezone is handled by timedated.

Hopefully fixes #33007.

test/networkd-test.py

index 4ea76e1a94fb45964e64e07fb382087512efc8ba..7911c816d719ef915d3c8a8a4ca586a322674b07 100755 (executable)
@@ -1053,13 +1053,16 @@ DNS=127.0.0.1
         self.create_iface(dhcpserver_opts='EmitTimezone=yes\nTimezone=Pacific/Honolulu')
         self.do_test(coldplug=None, extra_opts='IPv6AcceptRA=false\n[DHCP]\nUseTimezone=true', dhcp_mode='ipv4')
 
-        # should have applied the received timezone
-        try:
-            self.assertEqual(get_tz(), 'Pacific/Honolulu')
-        except AssertionError:
+        # Should have applied the received timezone. This is asynchronous, so we need to wait for a while:
+        for _ in range(20):
+            tz = get_tz()
+            if tz == 'Pacific/Honolulu':
+                break
+            time.sleep(0.5)
+        else:
             self.show_journal('systemd-networkd.service')
-            self.show_journal('systemd-hostnamed.service')
-            raise
+            self.show_journal('systemd-timedated.service')
+            self.fail(f'Timezone: {tz}, expected: Pacific/Honolulu')
 
 
 class MatchClientTest(unittest.TestCase, NetworkdTestingUtilities):