mirror of
https://github.com/systemd/systemd
synced 2024-09-06 16:56:43 +00:00
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").
This commit is contained in:
parent
8e0ba0c984
commit
0373fc5b6f
|
@ -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')
|
||||
|
|
Loading…
Reference in a new issue