mirror of
https://git.yoctoproject.org/poky
synced 2026-02-08 18:02:12 +01:00
Previously doing a stop/start worked, but using a disable/enable does not work on a read-only rootfs. Add a --runtime flag to systemctl so that systemd only modifies the current boot and does not attempt to write to the filesystem. This also keeps the test from making a permanent (one could argue policy) change to the running system being tested. i.e. What if the image being tested had intentionally disabled the timesyncd service in preference to using chrony or ntpd? The test shouldn't assume that the user wants the timesyncd service enabled. (From OE-Core rev: 43dd83b6a325589368c980a3f17cab90935aaeb0) Signed-off-by: Wes Lindauer <wesley.lindauer@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
43 lines
1.6 KiB
Python
43 lines
1.6 KiB
Python
#
|
|
# SPDX-License-Identifier: MIT
|
|
#
|
|
|
|
import re
|
|
|
|
from oeqa.runtime.case import OERuntimeTestCase
|
|
from oeqa.core.decorator.depends import OETestDepends
|
|
from oeqa.runtime.decorator.package import OEHasPackage
|
|
|
|
class DateTest(OERuntimeTestCase):
|
|
|
|
def setUp(self):
|
|
if self.tc.td.get('VIRTUAL-RUNTIME_init_manager') == 'systemd':
|
|
self.logger.debug('Stopping systemd-timesyncd daemon')
|
|
self.target.run('systemctl disable --now --runtime systemd-timesyncd')
|
|
|
|
def tearDown(self):
|
|
if self.tc.td.get('VIRTUAL-RUNTIME_init_manager') == 'systemd':
|
|
self.logger.debug('Starting systemd-timesyncd daemon')
|
|
self.target.run('systemctl enable --now --runtime systemd-timesyncd')
|
|
|
|
@OETestDepends(['ssh.SSHTest.test_ssh'])
|
|
@OEHasPackage(['coreutils', 'busybox'])
|
|
def test_date(self):
|
|
(status, output) = self.target.run('date +"%Y-%m-%d %T"')
|
|
msg = 'Failed to get initial date, output: %s' % output
|
|
self.assertEqual(status, 0, msg=msg)
|
|
oldDate = output
|
|
|
|
sampleDate = '"2016-08-09 10:00:00"'
|
|
(status, output) = self.target.run("date -s %s" % sampleDate)
|
|
self.assertEqual(status, 0, msg='Date set failed, output: %s' % output)
|
|
|
|
(status, output) = self.target.run("date -R")
|
|
p = re.match('Tue, 09 Aug 2016 10:00:.. \+0000', output)
|
|
msg = 'The date was not set correctly, output: %s' % output
|
|
self.assertTrue(p, msg=msg)
|
|
|
|
(status, output) = self.target.run('date -s "%s"' % oldDate)
|
|
msg = 'Failed to reset date, output: %s' % output
|
|
self.assertEqual(status, 0, msg=msg)
|