oeqa/runtime/cases/systemd.py: avoid timeout problem
cover oeqa/runtime/cases/systemd.py: avoid timeout problem
The following changes since commit a5d1288804e517dee113cb9302149541f825d316:
meta-yocto-bsp: Workaround the Ethernet malfunction on edgerouter when building with gcc8 (2018-06-21 09:59:26 +0100)
are available in the git repository at:
git://git.pokylinux.org/poky-contrib ChenQi/systemd-bus-timeout
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=ChenQi/systemd-bus-timeout
Chen Qi (1):
oeqa/runtime/cases/systemd.py: avoid timeout problem
meta/lib/oeqa/runtime/cases/systemd.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-)
Signature · 1 line
1.9.1
PATCH 1/1 oeqa/runtime/cases/systemd.py: avoid timeout problem
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.
--- meta/lib/oeqa/runtime/cases/systemd.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-)
meta/lib/oeqa/runtime/cases/systemd.py +13 -1
@@ -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'])
Signature · 1 line
1.9.1
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
Quoted 59 lines · Chen Qi
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 0Checking 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 <[email protected]>--- meta/lib/oeqa/runtime/cases/systemd.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-)meta/lib/oeqa/runtime/cases/systemd.py +13
-2@@ -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
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core
Quoted 7 lines · Ross
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
Quoted 60 lines · Chen Qi
Quoted 59 lines
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 0Checking 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 <[email protected]>--- meta/lib/oeqa/runtime/cases/systemd.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-)meta/lib/oeqa/runtime/cases/systemd.py +13
-2@@ -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
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core
ping
Quoted 90 lines · ChenQi
Quoted 7 lines · Ross
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-contribChenQi/systemd-bus-timeout
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=ChenQi/systemd-bus-timeoutIf you think we should still use `busctl' directly, I can send out a new patch. Either way is OK to me.
Best Regards,
Chen QiQuoted 62 lines · Chen Qi
Quoted 61 lines
I've encountered the following error when doing testimage.
RESULTS - systemd.SystemdBasicTests.test_systemd_list - Testcase
551: FAILEDAfter 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 0Checking 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 <[email protected]>--- meta/lib/oeqa/runtime/cases/systemd.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-)meta/lib/oeqa/runtime/cases/systemd.py +8
-1@@ -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 callorg.freedesktop.systemd1 /org/freedesktop/systemd1 org.freedesktop.systemd1.Manager ListUnitFilesByPatterns asas 0 0'
meta/lib/oeqa/runtime/cases/systemd.py +5
-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'])
Signature · 7 lines
1.9.1 -- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
ping
Is there some problem with this patch?
Recently when I'm doing testimage test for systemd upgrade, the 'systemctl list-unit-files' command in this test case revealed a 'segment fault' error on musl qemuarm. So I'd suggest to keep 'systemctl list-unit-files' command and use 'busctl' as a fallback in case of timeout.
Best Regards,
Chen Qi
Quoted 97 lines · ChenQi
ping
Quoted 92 lines · ChenQi
Quoted 7 lines · Ross
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-contribChenQi/systemd-bus-timeout
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=ChenQi/systemd-bus-timeoutIf you think we should still use `busctl' directly, I can send out a new patch. Either way is OK to me.
Best Regards,
Chen QiQuoted 63 lines · Chen Qi
Quoted 62 lines
I've encountered the following error when doing testimage.
RESULTS - systemd.SystemdBasicTests.test_systemd_list - Testcase
551: FAILEDAfter 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 0Checking 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 <[email protected]>--- meta/lib/oeqa/runtime/cases/systemd.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-)meta/lib/oeqa/runtime/cases/systemd.py +7
-1@@ -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 to240s
+ command = 'busctl --timeout=240 call
org.freedesktop.systemd1 /org/freedesktop/systemd1 org.freedesktop.systemd1.Manager ListUnitFilesByPatterns asas 0 0'meta/lib/oeqa/runtime/cases/systemd.py +5
-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'])
Signature · 7 lines
1.9.1 -- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
The problem is that when the system is loaded, systemctl calls may be too slow and they will time out. This patch simply changes *one* of the many systemctl calls to use busctl directly, leaving many other calls as a potential failure point.
Surely a better solution would be to patch in a way to override the timeout, so we can pass that in all calls.
Ross
Quoted 125 lines · ChenQi
ping
Is there some problem with this patch?
Recently when I'm doing testimage test for systemd upgrade, the 'systemctl list-unit-files' command in this test case revealed a 'segment fault' error on musl qemuarm.
So I'd suggest to keep 'systemctl list-unit-files' command and use 'busctl' as a fallback in case of timeout.Best Regards,
Chen QiQuoted 109 lines · ChenQi
ping
Quoted 103 lines · ChenQi
Quoted 8 lines · Ross
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-contribChenQi/systemd-bus-timeouthttp://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 QiQuoted 66 lines · Chen Qi
Quoted 65 lines
I've encountered the following error when doing testimage.
RESULTS - systemd.SystemdBasicTests.test_systemd_list - Testcase
551: FAILEDAfter 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 0Checking 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 <[email protected]>--- meta/lib/oeqa/runtime/cases/systemd.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-)meta/lib/oeqa/runtime/cases/systemd.py +8
-1@@ -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 callorg.freedesktop.systemd1 /org/freedesktop/systemd1 org.freedesktop.systemd1.Manager ListUnitFilesByPatterns asas 0 0'
meta/lib/oeqa/runtime/cases/systemd.py +5
-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
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core
Hi Ross,
You're right, it's better to patch systemd to allow timeout override. I'll send out a patch to systemd.
Best Regards,
Chen Qi
Quoted 128 lines · Ross
The problem is that when the system is loaded, systemctl calls may be too slow and they will time out. This patch simply changes *one* of the many systemctl calls to use busctl directly, leaving many other calls as a potential failure point.
Surely a better solution would be to patch in a way to override the timeout, so we can pass that in all calls.
Ross
Quoted 117 lines · ChenQi
ping
Is there some problem with this patch?
Recently when I'm doing testimage test for systemd upgrade, the 'systemctl list-unit-files' command in this test case revealed a 'segment fault' error on musl qemuarm.
So I'd suggest to keep 'systemctl list-unit-files' command and use 'busctl' as a fallback in case of timeout.Best Regards,
Chen QiQuoted 102 lines · ChenQi
ping
Quoted 98 lines · ChenQi
Quoted 7 lines · Ross
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-contribChenQi/systemd-bus-timeouthttp://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 QiQuoted 65 lines · Chen Qi
Quoted 64 lines
I've encountered the following error when doing testimage.
RESULTS - systemd.SystemdBasicTests.test_systemd_list - Testcase
551: FAILEDAfter 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 0Checking 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 <[email protected]>--- meta/lib/oeqa/runtime/cases/systemd.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-)meta/lib/oeqa/runtime/cases/systemd.py +8
-1@@ -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 callorg.freedesktop.systemd1 /org/freedesktop/systemd1 org.freedesktop.systemd1.Manager ListUnitFilesByPatterns asas 0 0'
meta/lib/oeqa/runtime/cases/systemd.py +5
-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
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core
Quoted 9 lines · Ross
The problem is that when the system is loaded, systemctl calls may be too slow and they will time out. This patch simply changes *one* of the many systemctl calls to use busctl directly, leaving many other calls as a potential failure point.
Surely a better solution would be to patch in a way to override the timeout, so we can pass that in all calls.
Ross
PR for systemd has been created.
https://github.com/systemd/systemd/pull/9576
Best Regards,
Chen Qi
Quoted 118 lines · ChenQi
Quoted 117 lines
ping
Is there some problem with this patch?
Recently when I'm doing testimage test for systemd upgrade, the 'systemctl list-unit-files' command in this test case revealed a 'segment fault' error on musl qemuarm.
So I'd suggest to keep 'systemctl list-unit-files' command and use 'busctl' as a fallback in case of timeout.Best Regards,
Chen QiQuoted 102 lines · ChenQi
ping
Quoted 98 lines · ChenQi
Quoted 7 lines · Ross
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-contribChenQi/systemd-bus-timeouthttp://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 QiQuoted 65 lines · Chen Qi
Quoted 64 lines
I've encountered the following error when doing testimage.
RESULTS - systemd.SystemdBasicTests.test_systemd_list - Testcase
551: FAILEDAfter 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 0Checking 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 <[email protected]>--- meta/lib/oeqa/runtime/cases/systemd.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-)meta/lib/oeqa/runtime/cases/systemd.py +8
-1@@ -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 callorg.freedesktop.systemd1 /org/freedesktop/systemd1 org.freedesktop.systemd1.Manager ListUnitFilesByPatterns asas 0 0'
meta/lib/oeqa/runtime/cases/systemd.py +5
-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
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core