Add a switch to enable/disable override of chunking behavior associated with mach try

RESOLVED FIXED in Firefox 42

Status

defect
RESOLVED FIXED
4 years ago
4 years ago

People

(Reporter: cmanchester, Assigned: cmanchester)

Tracking

unspecified
mozilla42
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox42 fixed)

Details

Attachments

(1 attachment)

When selecting tests by directory with mach try we force all tests into a single chunk to prevent weird new chunks that might fail due to exposing new test-interdependence. Doing the same would make sense under some circumstance when selecting by tag via mach try.
Assignee: nobody → cmanchester
Looking at this now it needs to be a bit different than I mentioned in comment 0. If tags are supplied to the command but paths and -u are not, we can just look at all-tests.json to get the required suites and run those in a single chunk. Otherwise --tag should filter tests selected by another means, as it does today.

https://treeherder.mozilla.org/#/jobs?repo=try&revision=7d300fa53352
https://treeherder.mozilla.org/#/jobs?repo=try&revision=0fa07a73a223
Bug 1183232 - Allow selecting tests and suites with just a tag from mach try. r=ahal
Attachment #8643434 - Flags: review?(ahalberstadt)
Comment on attachment 8643434 [details]
MozReview Request: Bug 1183232 - Allow selecting tests and suites with just a tag from mach try. r=ahal

https://reviewboard.mozilla.org/r/15099/#review13587

The mozbuild changes should get a build peer review, from gps probably.

::: testing/tools/autotry/autotry.py:53
(Diff revision 1)
> +    def resolve_tags(self, tags):
> +        tests = list(self.resolver.resolve_tests(tags=tags,
> +                                                 cwd=self.mach_context.cwd))
> +        return self._manifests_by_flavor(tests)
> +
> +    def resolve_paths(self, paths):
> +        if not paths:
> +            return {}
> +        tests = list(self.resolver.resolve_tests(paths=paths,
> +                                                 cwd=self.mach_context.cwd))
> +        return self._manifests_by_flavor(tests)

I might be missing something, but why not just forward both 'tags' and 'paths' onto mozbuild.resolve_tests() at the same time?
Attachment #8643434 - Flags: review?(ahalberstadt)
Comment on attachment 8643434 [details]
MozReview Request: Bug 1183232 - Allow selecting tests and suites with just a tag from mach try. r=ahal

https://reviewboard.mozilla.org/r/15099/#review13591

I only looked at the build bits.

::: python/mozbuild/mozbuild/testing.py:115
(Diff revision 1)
> +                if tags and not tags.intersection(set(test.get('tags', '').split())):

set.intersection(x) is almost always written as `set & x`. Please change this, using parens as necessary.
Attachment #8643434 - Flags: review+
Comment on attachment 8643434 [details]
MozReview Request: Bug 1183232 - Allow selecting tests and suites with just a tag from mach try. r=ahal

Bug 1183232 - Allow selecting tests and suites with just a tag from mach try. r=ahal
Attachment #8643434 - Flags: review?(ahalberstadt)
Attachment #8643434 - Flags: review?(ahalberstadt) → review+
Comment on attachment 8643434 [details]
MozReview Request: Bug 1183232 - Allow selecting tests and suites with just a tag from mach try. r=ahal

https://reviewboard.mozilla.org/r/15099/#review13669

Ship It!
https://hg.mozilla.org/mozilla-central/rev/cab252737a12
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla42
You need to log in before you can comment on or make changes to this bug.