mirror of
https://git.yoctoproject.org/poky
synced 2026-02-08 09:46:38 +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>
39 lines
1.8 KiB
Python
39 lines
1.8 KiB
Python
from oeqa.runtime.case import OERuntimeTestCase
|
|
from oeqa.core.decorator.depends import OETestDepends
|
|
from oeqa.runtime.decorator.package import OEHasPackage
|
|
|
|
import re
|
|
|
|
class RTCTest(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_rtc(self):
|
|
(status, output) = self.target.run('hwclock -r')
|
|
self.assertEqual(status, 0, msg='Failed to get RTC time, output: %s' % output)
|
|
|
|
(status, current_datetime) = self.target.run('date +"%m%d%H%M%Y"')
|
|
self.assertEqual(status, 0, msg='Failed to get system current date & time, output: %s' % current_datetime)
|
|
|
|
example_datetime = '062309452008'
|
|
(status, output) = self.target.run('date %s ; hwclock -w ; hwclock -r' % example_datetime)
|
|
check_hwclock = re.search('2008-06-23 09:45:..', output)
|
|
self.assertTrue(check_hwclock, msg='The RTC time was not set correctly, output: %s' % output)
|
|
|
|
(status, output) = self.target.run('date %s' % current_datetime)
|
|
self.assertEqual(status, 0, msg='Failed to reset system date & time, output: %s' % output)
|
|
|
|
(status, output) = self.target.run('hwclock -w')
|
|
self.assertEqual(status, 0, msg='Failed to reset RTC time, output: %s' % output)
|
|
|