1
0
mirror of https://git.yoctoproject.org/poky synced 2026-06-02 01:19:52 +00:00

oeqa: Add sync call to command execution

We previously put a sync call into devtool to try and combat the bitbake
timeout issues on the autobuilder. It isn't enough as the timeouts occur
mid test. They are also occurring on non-devtool tests.

Add in sync calls around command execution instead.

(From OE-Core rev: ceca5ed121e2b54415a7ab3a217882e4ea86923a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie
2020-10-19 13:50:19 +01:00
parent 67377bbd0b
commit dfc54a477b
3 changed files with 15 additions and 16 deletions
+7 -1
View File
@@ -167,7 +167,7 @@ class Result(object):
pass
def runCmd(command, ignore_status=False, timeout=None, assert_error=True,
def runCmd(command, ignore_status=False, timeout=None, assert_error=True, sync=True,
native_sysroot=None, limit_exc_output=0, output_log=None, **options):
result = Result()
@@ -184,6 +184,12 @@ def runCmd(command, ignore_status=False, timeout=None, assert_error=True,
cmd = Command(command, timeout=timeout, output_log=output_log, **options)
cmd.run()
# tests can be heavy on IO and if bitbake can't write out its caches, we see timeouts.
# call sync around the tests to ensure the IO queue doesn't get too large, taking any IO
# hit here rather than in bitbake shutdown.
if sync:
os.system("sync")
result.command = command
result.status = cmd.status
result.output = cmd.output