diff options
author | Daisuke Nojiri <dnojiri@chromium.org> | 2016-10-11 17:39:14 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2016-10-14 16:05:49 -0700 |
commit | c926d7dc7c4df52c7d3c82c86bae9ac6e8a6b758 (patch) | |
tree | 0a8309a8ec84fda0f03e118296233fc6c2200990 /cts | |
parent | ce3e350aded53fb54a86057b7a7f18bfbb165f73 (diff) | |
download | chrome-ec-c926d7dc7c4df52c7d3c82c86bae9ac6e8a6b758.tar.gz |
cts: Fix back-to-back build
Currently eCTS suites share the same directory (e.g. build/stm32l476g
-eval) to put build artifacts even though some files (e.g. board.c)
compile differently suite to suite. So, if cts-i2c-stm32l476g-eval is
built, followed by cts-gpio-stm32l476g-eval, build fails or produces
incorrect binary.
This patch makes eCTS create different directories for each suite.
As a bonus, we can now builds eCTS suites in parallel.
BUG=chromium:654549
BRANCH=none
TEST=make buildall -j (with uncommitted change)
Change-Id: I4abedc917787be5f79b97e0e50d0d08e01bd5f9d
Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/398281
Diffstat (limited to 'cts')
-rw-r--r-- | cts/common/board.py | 6 | ||||
-rwxr-xr-x | cts/cts.py | 9 |
2 files changed, 9 insertions, 6 deletions
diff --git a/cts/common/board.py b/cts/common/board.py index a36ca1a3a7..42479e6de3 100644 --- a/cts/common/board.py +++ b/cts/common/board.py @@ -109,8 +109,7 @@ class Board(object): '--directory=' + ec_dir, 'BOARD=' + self.board, 'CTS_MODULE=' + module, - '-j', - '-B'] + '-j'] if debug: cmds.append('CTS_DEBUG=TRUE') @@ -118,9 +117,8 @@ class Board(object): print ' '.join(cmds) return sp.call(cmds) - def flash(self): + def flash(self, image_path): """Flashes board with most recent build ec.bin""" - image_path = os.path.join('build', self.board, 'ec.bin') cmd = ['reset_config connect_assert_srst', 'init', 'reset init', diff --git a/cts/cts.py b/cts/cts.py index 6a02b065bc..2d2e824cbc 100755 --- a/cts/cts.py +++ b/cts/cts.py @@ -101,10 +101,15 @@ class Cts(object): def flash_boards(self): """Flashes th and dut boards with their most recently build ec.bin""" + cts_module = 'cts_' + self.module + image_path = os.path.join('build', self.th.board, cts_module, 'ec.bin') self.identify_boards() - if self.th.flash(): + print 'Flashing TH with', image_path + if self.th.flash(image_path): raise RuntimeError('Flashing TH failed') - if self.dut.flash(): + image_path = os.path.join('build', self.dut.board, cts_module, 'ec.bin') + print 'Flashing DUT with', image_path + if self.dut.flash(image_path): raise RuntimeError('Flashing DUT failed') def setup(self): |