[OE-core] [PATCH 1/1] oeqa/runtime/cases/systemd.py: avoid timeout problem
ChenQi
Qi.Chen at windriver.com
Tue Jun 26 01:48:03 UTC 2018
On 06/25/2018 09:40 PM, Burton, Ross wrote:
> The busctl invocation will only rarely be called so is very prone to
> bitrot, maybe it should just always use busctl?
>
> Personally I think that there should be a way for VM time to be
> independent of host time to avoid this sort of problem...
>
> Ross
Hi Ross,
I now realize that I didn't include enough information in the commit
message.
In fact, for qemuarm, this problem always appeared.
Compared to other qemu bsps (e.g. qemux86-64), qemuarm is running much
slower.
I've now updated the commit the message to include this qemuarm info,
and also updated the remote branch.
git://git.pokylinux.org/poky-contrib ChenQi/systemd-bus-timeout
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=ChenQi/systemd-bus-timeout
If you think we should still use `busctl' directly, I can send out a new
patch. Either way is OK to me.
Best Regards,
Chen Qi
> On 25 June 2018 at 10:33, Chen Qi <Qi.Chen at windriver.com> wrote:
>> I've encountered the following error when doing testimage.
>>
>> RESULTS - systemd.SystemdBasicTests.test_systemd_list - Testcase 551: FAILED
>>
>> After investigation, I found that it's not functionality issue. It's
>> just that the qemu was not running fast enough. And it resulted 'time out'
>> problem when using `systemctl list-unit-files'.
>>
>> The correctness could be verified by using 'busctl' directly.
>> e.g.
>> busctl --timeout=240 call org.freedesktop.systemd1 \
>> /org/freedesktop/systemd1 org.freedesktop.systemd1.Manager \
>> ListUnitFilesByPatterns asas 0 0
>>
>> Checking the source codes, I can see that the timeout is 25s. I don't
>> think we should patch systemd's source codes just for such a simple
>> runtime test case.
>>
>> So instead, I change the test case to use 'busctl' directly if
>> 'systemctl list-unit-files' gets a timeout error.
>>
>> Signed-off-by: Chen Qi <Qi.Chen at windriver.com>
>> ---
>> meta/lib/oeqa/runtime/cases/systemd.py | 14 +++++++++++++-
>> 1 file changed, 13 insertions(+), 1 deletion(-)
>>
>> diff --git a/meta/lib/oeqa/runtime/cases/systemd.py b/meta/lib/oeqa/runtime/cases/systemd.py
>> index db69384..b4f1025 100644
>> --- a/meta/lib/oeqa/runtime/cases/systemd.py
>> +++ b/meta/lib/oeqa/runtime/cases/systemd.py
>> @@ -81,7 +81,19 @@ class SystemdBasicTests(SystemdTest):
>> @OETestID(551)
>> @OETestDepends(['systemd.SystemdBasicTests.test_systemd_basic'])
>> def test_systemd_list(self):
>> - self.systemctl('list-unit-files')
>> + command = 'systemctl list-unit-files'
>> + status, output = self.target.run(command)
>> + message = '\n'.join([command, output])
>> + match = re.search('Connection timed out', output)
>> + if match:
>> + # it's possible that qemu is running slow
>> + # use busctl to check the results with timeout set to 240s
>> + command = 'busctl --timeout=240 call org.freedesktop.systemd1 /org/freedesktop/systemd1 org.freedesktop.systemd1.Manager ListUnitFilesByPatterns asas 0 0'
>> + status, output = self.target.run(command)
>> + message = '\n'.join([command, output])
>> + self.assertEqual(status, 0, message)
>> + else:
>> + self.assertEqual(status, 0, message)
>>
>> @OETestID(550)
>> @OETestDepends(['systemd.SystemdBasicTests.test_systemd_basic'])
>> --
>> 1.9.1
>>
>> --
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core at lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
More information about the Openembedded-core
mailing list