diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-10-19 13:50:19 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-10-20 11:11:46 +0100 |
commit | dfc54a477bca7773d075041156897867cfc8ad67 (patch) | |
tree | 64716a62879fe512c4d4692e28b993a88b8f325d /meta/lib/oeqa/utils/commands.py | |
parent | 67377bbd0b961d3140ba8ca5eedb6b87eba33a7b (diff) | |
download | poky-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.py | 8 |
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 | ||
170 | def runCmd(command, ignore_status=False, timeout=None, assert_error=True, | 170 | def 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 |