Implement native test sharding in swarming recipe_module api |
|
Issue descriptionBackground: - Test sharding mechanism is a function of the test framework. - Most of Chrome testing has been done through googletest, but not exclusively, for example layout tests. - swarming.py trigger has native googletest sharding knowledge and is leveraged to seamlessly shard and merge results from multiple test shards. - 'Test shard merging algorithm', which is also a function of the test framework, has already been generalized to enable layout tests on Swarming as part of issue 524758 . https://cs.chromium.org/chromium/build/scripts/slave/recipe_modules/swarming/resources/ Problem: - It is a layering violation that https://github.com/luci/luci-py/blob/master/client/swarming.py knows about googletest, it doesn't belong to swarming.py, it belongs to the recipe module. Goal: - Enable seamless new sharding support for any kind of test framework. Remove cruft from swarming.py to keep it focused. AI: - Implement explicit googletest sharding inside https://cs.chromium.org/chromium/build/scripts/slave/recipe_modules/swarming/api.py (via GTEST_SHARD_INDEX and GTEST_TOTAL_SHARDS environment variables) instead of using --shards - Roll out - Remove --shards support in https://github.com/luci/luci-py/blob/master/client/swarming.py Related: Issue 731095 about not printing stdout on result collection, this is unnecessary and bloats the system. |
|
►
Sign in to add a comment |
|
Comment 1 by mar...@chromium.org
, Nov 2 2017Status: Fixed (was: Available)