2017-11-28 15:43:22 +00:00
|
|
|
# Src-side test specifications
|
|
|
|
|
2017-12-05 11:54:21 +00:00
|
|
|
Src-side test specifications enable developers to quickly add tests running on
|
|
|
|
specific bots on V8's continuous infrastructure (CI) or tryserver. Features to
|
|
|
|
be tested must live behind runtime flags, which are mapped to named testing
|
|
|
|
variants specified [here](https://chromium.googlesource.com/v8/v8/+/master/tools/testrunner/local/variants.py).
|
|
|
|
Changes to src-side test specifications go through CQ like any other CL and
|
|
|
|
require tests added for specific trybots to pass.
|
|
|
|
|
|
|
|
The test specifications are defined in a V8-side folder called infra/testing.
|
|
|
|
Every master has an optional file named `<mastername>.pyl`. E.g.
|
|
|
|
`tryserver.v8.pyl`.
|
2017-11-28 15:43:22 +00:00
|
|
|
|
|
|
|
The structure of each file is:
|
|
|
|
```
|
|
|
|
{
|
|
|
|
<buildername>: [
|
|
|
|
{
|
|
|
|
'name': <test-spec name>,
|
|
|
|
'variant': <variant name>,
|
|
|
|
'shards': <number of shards>,
|
|
|
|
},
|
|
|
|
...
|
|
|
|
],
|
|
|
|
...
|
|
|
|
}
|
|
|
|
```
|
|
|
|
The `<buildername>` is a string name of the builder to execute the tests.
|
|
|
|
`<test-spec name>` is a label defining a test specification matching the
|
|
|
|
[infra-side](https://chromium.googlesource.com/chromium/tools/build/+/master/scripts/slave/recipe_modules/v8/testing.py#58).
|
2017-12-05 11:54:21 +00:00
|
|
|
The `<variant name>` is a testing variant specified
|
|
|
|
[here](https://chromium.googlesource.com/v8/v8/+/master/tools/testrunner/local/variants.py).
|
|
|
|
`<number of shards>` is optional (default 1), but can be provided to increase
|
|
|
|
the swarming shards for long-running tests.
|
2017-11-28 15:43:22 +00:00
|
|
|
|
|
|
|
Example:
|
|
|
|
```
|
|
|
|
{
|
|
|
|
'v8_linux64_rel_ng_triggered': [
|
|
|
|
{'name': 'v8testing', 'variant': 'nooptimization', 'shards': 2},
|
|
|
|
],
|
|
|
|
}
|
2017-11-29 12:04:49 +00:00
|
|
|
```
|
|
|
|
|
|
|
|
## Guidelines
|
|
|
|
|
|
|
|
Please keep trybots and continuous bots in sync. E.g. add the same configuration
|
|
|
|
for the release and debug CI bots and the corresponding trybot (where
|
|
|
|
applicable). E.g.
|
|
|
|
|
|
|
|
```
|
|
|
|
tryserver.v8:
|
|
|
|
v8_linux64_rel_ng_triggered
|
|
|
|
client.v8:
|
|
|
|
V8 Linux64
|
|
|
|
V8 Linux64 - debug
|
2017-12-05 11:54:21 +00:00
|
|
|
```
|
|
|
|
|
|
|
|
Please only add tests that are expected to pass, or skip failing tests via
|
|
|
|
status file for the selected testing variants only. If you want to add FYI tests
|
|
|
|
(i.e. not closing the tree and not blocking CQ) you can do so for the following
|
|
|
|
set of bots:
|
|
|
|
|
|
|
|
```
|
|
|
|
tryserver.v8:
|
|
|
|
v8_linux64_fyi_rel_ng_triggered
|
|
|
|
client.v8:
|
|
|
|
V8 Linux64 - fyi
|
|
|
|
V8 Linux64 - debug - fyi
|
|
|
|
```
|