Closed
Bug 1229233
Opened 9 years ago
Closed 9 years ago
Add a close-to-end-to-end test of the build system
Categories
(Firefox Build System :: General, defect)
Firefox Build System
General
Tracking
(firefox45 fixed)
RESOLVED
FIXED
mozilla45
Tracking | Status | |
---|---|---|
firefox45 | --- | fixed |
People
(Reporter: glandium, Assigned: glandium)
References
Details
Attachments
(5 files, 1 obsolete file)
4.56 KB,
patch
|
gps
:
review+
|
Details | Diff | Splinter Review |
4.75 KB,
patch
|
gps
:
review+
|
Details | Diff | Splinter Review |
995 bytes,
patch
|
gps
:
review+
|
Details | Diff | Splinter Review |
1.72 KB,
patch
|
gps
:
review+
|
Details | Diff | Splinter Review |
20.82 KB,
patch
|
gps
:
review+
|
Details | Diff | Splinter Review |
We have many unit tests in the tree for some small parts of the build system pipeline, but we don't have anything that resembles an end to end test, and we kind of rely on the resulting Firefox not being broken by our changes. With the Faster make backend growing, I want to ensure it produces the same thing as the recursive make backend, at least for the parts it supports. As a consequence, I want to add some kind of test that allows to check that. It will start incomplete, but will grow with time.
Assignee | ||
Comment 1•9 years ago
|
||
Attachment #8693897 -
Flags: review?(gps)
Assignee | ||
Comment 2•9 years ago
|
||
Attachment #8693897 -
Attachment is obsolete: true
Attachment #8693897 -
Flags: review?(gps)
Attachment #8693904 -
Flags: review?(gps)
Assignee | ||
Comment 3•9 years ago
|
||
The test I'm about to add doesn't have XPIDL files, and that currently avoids the FasterMake backend to run properly. Also, in the future, when the FasterMake grows the ability to build C++ files, it should be possible to build Spidermonkey with the FasterMake backend, but it doesn't have XPIDL files either.
Assignee | ||
Comment 4•9 years ago
|
||
Attachment #8693906 -
Flags: review?(gps)
Assignee | ||
Comment 5•9 years ago
|
||
Attachment #8693907 -
Flags: review?(gps)
Assignee | ||
Updated•9 years ago
|
Attachment #8693905 -
Flags: review?(gps)
Assignee | ||
Comment 6•9 years ago
|
||
We have many unit tests in the tree for some small parts of the build system pipeline, but we don't have anything that resembles an end to end test, and we kind of rely on the resulting Firefox not being broken by our changes. With the Faster make backend growing, I want to ensure it produces the same thing as the recursive make backend, at least for the parts it supports. This adds some kind of test that allows to check that.
Attachment #8693908 -
Flags: review?(gps)
Assignee | ||
Comment 7•9 years ago
|
||
FWIW, this test already allowed me to find a subtle regression in the patch queue I'm going to attach to a new, separate, bug.
Updated•9 years ago
|
Attachment #8693904 -
Flags: review?(gps) → review+
Updated•9 years ago
|
Attachment #8693905 -
Flags: review?(gps) → review+
Comment 8•9 years ago
|
||
Comment on attachment 8693906 [details] [diff] [review] Ensure the target directory for copies exists in the FasterMake backend Review of attachment 8693906 [details] [diff] [review]: ----------------------------------------------------------------- Wish you had a better commit message for why this is required - I figured our install manifests had comprehensive enough coverage that this type of thing wasn't required any more.
Attachment #8693906 -
Flags: review?(gps) → review+
Updated•9 years ago
|
Attachment #8693907 -
Flags: review?(gps) → review+
Comment 9•9 years ago
|
||
Comment on attachment 8693908 [details] [diff] [review] Add a (incomplete) end-to-end build test Review of attachment 8693908 [details] [diff] [review]: ----------------------------------------------------------------- Niiiice. I didn't look at the low-level test inputs and outputs too much, as changes are what we care about. Obviously there's more things we could test here. But you have to start somewhere.
Attachment #8693908 -
Flags: review?(gps) → review+
Comment 10•9 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/cdcf951c2070 https://hg.mozilla.org/integration/mozilla-inbound/rev/183a19236984 https://hg.mozilla.org/integration/mozilla-inbound/rev/350085f66138 https://hg.mozilla.org/integration/mozilla-inbound/rev/603b6593c161 https://hg.mozilla.org/integration/mozilla-inbound/rev/e03b93cbb64d
Assignee | ||
Comment 11•9 years ago
|
||
Comment on attachment 8693908 [details] [diff] [review] Add a (incomplete) end-to-end build test Review of attachment 8693908 [details] [diff] [review]: ----------------------------------------------------------------- ::: python/mozbuild/mozbuild/test/backend/test_build.py @@ +109,5 @@ > + > + def validate(self, config): > + self.maxDiff = None > + test_path = mozpath.join(mozpath.dirname(mozpath.abspath(__file__)), > + 'data', 'build') I folded a change here and in the corresponding format strings below to account for Windows when landing.
Comment 12•9 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/cf71b87eafcf https://hg.mozilla.org/integration/mozilla-inbound/rev/958e2652c301
Assignee | ||
Comment 13•9 years ago
|
||
And a couple fixups: https://hg.mozilla.org/integration/mozilla-inbound/rev/cf71b87eafcf for bustage on Windows because of the backslashes in the PYTHON variable https://hg.mozilla.org/integration/mozilla-inbound/rev/958e2652c301 for bustage on OSX Universal builds because of the objdir discrepancy. I copied bits from TestMozbuildObject.
Comment 14•9 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/cdcf951c2070 https://hg.mozilla.org/mozilla-central/rev/183a19236984 https://hg.mozilla.org/mozilla-central/rev/350085f66138 https://hg.mozilla.org/mozilla-central/rev/603b6593c161 https://hg.mozilla.org/mozilla-central/rev/e03b93cbb64d https://hg.mozilla.org/mozilla-central/rev/cf71b87eafcf https://hg.mozilla.org/mozilla-central/rev/958e2652c301
Status: NEW → RESOLVED
Closed: 9 years ago
status-firefox45:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla45
Updated•6 years ago
|
Product: Core → Firefox Build System
You need to log in
before you can comment on or make changes to this bug.
Description
•