summaryrefslogtreecommitdiffstats
path: root/meta/lib/oeqa/utils/commands.py
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2020-10-19 13:50:19 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2020-10-20 11:11:46 +0100
commitdfc54a477bca7773d075041156897867cfc8ad67 (patch)
tree64716a62879fe512c4d4692e28b993a88b8f325d /meta/lib/oeqa/utils/commands.py
parent67377bbd0b961d3140ba8ca5eedb6b87eba33a7b (diff)
downloadpoky-dfc54a477bca7773d075041156897867cfc8ad67.tar.gz
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>
Diffstat (limited to 'meta/lib/oeqa/utils/commands.py')
-rw-r--r--meta/lib/oeqa/utils/commands.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/meta/lib/oeqa/utils/commands.py b/meta/lib/oeqa/utils/commands.py
index f7f8c16bf0..8059cbce3e 100644
--- a/meta/lib/oeqa/utils/commands.py
+++ b/meta/lib/oeqa/utils/commands.py
@@ -167,7 +167,7 @@ class Result(object):
167 pass 167 pass
168 168
169 169
170def runCmd(command, ignore_status=False, timeout=None, assert_error=True, 170def runCmd(command, ignore_status=False, timeout=None, assert_error=True, sync=True,
171 native_sysroot=None, limit_exc_output=0, output_log=None, **options): 171 native_sysroot=None, limit_exc_output=0, output_log=None, **options):
172 result = Result() 172 result = Result()
173 173
@@ -184,6 +184,12 @@ def runCmd(command, ignore_status=False, timeout=None, assert_error=True,
184 cmd = Command(command, timeout=timeout, output_log=output_log, **options) 184 cmd = Command(command, timeout=timeout, output_log=output_log, **options)
185 cmd.run() 185 cmd.run()
186 186
187 # tests can be heavy on IO and if bitbake can't write out its caches, we see timeouts.
188 # call sync around the tests to ensure the IO queue doesn't get too large, taking any IO
189 # hit here rather than in bitbake shutdown.
190 if sync:
191 os.system("sync")
192
187 result.command = command 193 result.command = command
188 result.status = cmd.status 194 result.status = cmd.status
189 result.output = cmd.output 195 result.output = cmd.output