New issue
Advanced search Search tips

Issue 747092 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Nov 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Feature



Sign in to add a comment

Implement native test sharding in swarming recipe_module api

Project Member Reported by mar...@chromium.org, Jul 20 2017

Issue description

Background:
- 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.
 
Owner: martiniss@chromium.org
Status: Fixed (was: Available)
It was implemented by Stephen's work in https://chromium-review.googlesource.com/629437 as part of  issue 758630 .

Sign in to add a comment