summaryrefslogtreecommitdiff
path: root/cts
diff options
context:
space:
mode:
authorDaisuke Nojiri <dnojiri@chromium.org>2016-10-11 17:39:14 -0700
committerchrome-bot <chrome-bot@chromium.org>2016-10-14 16:05:49 -0700
commitc926d7dc7c4df52c7d3c82c86bae9ac6e8a6b758 (patch)
tree0a8309a8ec84fda0f03e118296233fc6c2200990 /cts
parentce3e350aded53fb54a86057b7a7f18bfbb165f73 (diff)
downloadchrome-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.py6
-rwxr-xr-xcts/cts.py9
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):