From: Lennart Poettering Date: Wed, 5 Dec 2018 21:00:42 +0000 (+0100) Subject: networkd-test: change test_transient_hostname_with_static to use an explicit static... X-Git-Tag: v240~94^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0373fc5b6f8478aa5d07458a7c2267a5b26daa1d;p=thirdparty%2Fsystemd.git networkd-test: change test_transient_hostname_with_static to use an explicit static hostname Previously, the test would use the existing static hostname. However, this woud not work as expected in the static hostname was "localhost" because the transient hostname will override the static one in that case anyway, as the assumption hostnamed makes is that "localhost" is a non-initialized hostname. Hence when testing this, let's first set the static hostname to something specific first (that is not "localhost"). --- diff --git a/test/networkd-test.py b/test/networkd-test.py index 0dc19a616e4..176d52a0287 100755 --- a/test/networkd-test.py +++ b/test/networkd-test.py @@ -742,8 +742,16 @@ Domains= ~company ~lab''') orig_hostname = socket.gethostname() self.addCleanup(socket.sethostname, orig_hostname) + if not os.path.exists('/etc/hostname'): - self.write_config('/etc/hostname', orig_hostname) + self.write_config('/etc/hostname', "foobarqux") + else: + self.write_config('/run/hostname.tmp', "foobarqux") + subprocess.check_call(['mount', '--bind', '/run/hostname.tmp', '/etc/hostname']) + self.addCleanup(subprocess.call, ['umount', '/etc/hostname']) + + socket.sethostname("foobarqux"); + subprocess.check_call(['systemctl', 'stop', 'systemd-hostnamed.service']) self.addCleanup(subprocess.call, ['systemctl', 'stop', 'systemd-hostnamed.service']) @@ -755,7 +763,7 @@ Domains= ~company ~lab''') out = subprocess.check_output(['ip', '-4', 'a', 'show', 'dev', self.iface]) self.assertRegex(out, b'inet 192.168.5.210/24 .* scope global dynamic') # static hostname wins over transient one, thus *not* applied - self.assertEqual(socket.gethostname(), orig_hostname) + self.assertEqual(socket.gethostname(), "foobarqux") except AssertionError: self.show_journal('systemd-networkd.service') self.show_journal('systemd-hostnamed.service')