Closed Bug 1459074 Opened 7 years ago Closed 7 years ago

Refactor test manifest handling in the build system to accommodate the tup backend

Categories

(Firefox Build System :: General, enhancement)

3 Branch
enhancement
Not set
normal

Tracking

(firefox62 fixed)

RESOLVED FIXED
mozilla62
Tracking Status
firefox62 --- fixed

People

(Reporter: chmanchester, Assigned: chmanchester)

References

Details

Attachments

(1 file)

In order to run tests against a Tup build we're going to need to figure out how to install tests. Currently we do this as a part of |./mach test|, although there's a part that goes through make to re-build the backend responsible for generating the tests database. This will work fine for a first pass, although we will need to re-write this (in python) at some point. We run into do trouble though when we try to install tests, because that relies on an install manifest that's generated by the recursivemake backend. I think a fix that will work fine here will be to move the code responsible for this install manifest out of the recursivemake backend and into the test_manifest backend. This will buck the overall trend of the tup build not using install manifests, but should work for the time being and not otherwise get in the way of anything.
My memory of this was not quite right... the install manifest that we're failing to find contains TEST_HARNESS_FILES, which we already install in the Tup backend. Test files installed during |./mach test| don't rely on the recursivemake backend writing out install manifests other than that. So if we simply ignore the install manifest for test harness files if it's missing we get as far as running a test command and failing due to a missing binary, which is about as far as I'm expecting us to get at this point and might be all we need to run tests against a tup build.
Comment on attachment 8973317 [details] Bug 1459074 - Do not fail when installing tests if the install manifest for test harness files is missing. https://reviewboard.mozilla.org/r/241790/#review247918 ::: python/mozbuild/mozbuild/testing.py:259 (Diff revision 1) > _resolve_installs(install_info.deferred_installs, topobjdir, manifest) > > + harness_files_manifest = mozpath.join(topobjdir, '_build_manifests', > + 'install', tests_root) > + if os.path.isfile(harness_files_manifest): > - # Harness files are treated as a monolith and installed each time we run tests. > + # Harness files are treated as a monolith and installed each time we run tests. Maybe update this comment to say "each time we run tests if the build backend requires it"?
Attachment #8973317 - Flags: review+
Attachment #8973317 - Flags: review?(core-build-config-reviews)
Pushed by cmanchester@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/6af5cfa13600 Do not fail when installing tests if the install manifest for test harness files is missing. r=mshal
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla62
Version: Version 3 → 3 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: