Closed Bug 1239880 Opened 4 years ago Closed 4 years ago

Stop installing web-platform tests and support files to the objdir

Categories

(Firefox Build System :: General, defect)

defect
Not set

Tracking

(firefox46 fixed)

VERIFIED FIXED
mozilla46
Tracking Status
firefox46 --- fixed

People

(Reporter: chmanchester, Assigned: gps)

References

(Blocks 2 open bugs)

Details

Attachments

(1 file)

This should be straightforward given the structure of web-platform tests, and given the volume of web-platform tests it should be a significant improvement.
I'm going to see if I can get anywhere meaningful in the next hour or two...
Assignee: nobody → gps
Status: NEW → ASSIGNED
AFAICT, we don't actually access web-platform test files from the
objdir for anything except test packaging. And we already have
a mechanism for creating test archives from files directly in the
source directory. So, let's stop copying them to the objdir and
package them directly from the source directory!

The _tests install manifest reports the following change:

before: 41,977 files installed
after:  24,537 files installed
delta: -17,440 files

We still copy some WPT files to the objdir. We might be able to
eliminate these as well. However, since there are only ~200 files,
I'm not too concerned.

I manually compared the resulting web-platform zip archives from before
and after. No files were removed from the archive. However, the new
archive does gain several hundred empty directories with .gitkeep
files. This feels weird, but it shouldn't break anything (I would
think). I'm inclined to leave them for now. I'll file a follow-up
bug to deal with them (preferably by removing them from version
control).

Review commit: https://reviewboard.mozilla.org/r/31139/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/31139/
Attachment #8708642 - Flags: review?(cmanchester)
https://reviewboard.mozilla.org/r/31139/#review27947

Significant tests install manifest processing time difference on Windows. This is on a i7-6700K with a fast SSD: hardware is not lacking.

Before: ~40s full install manifest
After:  ~27

Before: ~5.4s no-op install manifest
After:  ~2.7s
The .gitkeep files are intentional; they're there to mark directories that should contain tests (because they correspond to sections of the specification that have testable assertions), but don't have any yet.
Attachment #8708642 - Flags: review?(cmanchester) → review+
Comment on attachment 8708642 [details]
MozReview Request: Bug 1239880 - Don't copy thousands of web-platform test files to objdir; r?chmanchester

https://reviewboard.mozilla.org/r/31139/#review27953

Nice.
Blocks: 1240322
https://hg.mozilla.org/mozilla-central/rev/b31310af2606
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla46
I believe this change has cut my local test running time by more than 50%.

When I filed bug 1234336 I was seeing consistent test runs around 1m8s. Building off of 819fff092e3d I now run the same command and consistently see test runs around 32s

Thanks!
Status: RESOLVED → VERIFIED
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.