Closed Bug 1341502 Opened 4 years ago Closed 4 years ago

Changing an included xpcshell manifest doesn't cause mach to detect the changes

Categories

(Firefox Build System :: General, defect)

x86
macOS
defect
Not set
normal

Tracking

(firefox54 fixed)

RESOLVED FIXED
mozilla54
Tracking Status
firefox54 --- fixed

People

(Reporter: kmag, Assigned: kmag)

References

(Depends on 1 open bug)

Details

Attachments

(1 file)

+++ This bug was initially created as a clone of Bug #994255 +++

This was regressed by bug 1320194.
Comment on attachment 8839765 [details]
Bug 1341502: Fix automatic regeneration of backend when an included test manifest changes.

https://reviewboard.mozilla.org/r/114332/#review115906

Thanks, and sorry about that. This looks good to me, though I'm not a build peer so redirecting to mshal.
Attachment #8839765 - Flags: review?(ahalberstadt)
Attachment #8839765 - Flags: review?(mshal)
Comment on attachment 8839765 [details]
Bug 1341502: Fix automatic regeneration of backend when an included test manifest changes.

https://reviewboard.mozilla.org/r/114332/#review116412

Looks good - thanks for fixing this (again)!

::: python/mozbuild/mozbuild/backend/test_manifest.py:35
(Diff revision 1)
>          if not isinstance(obj, TestManifest):
>              return
>  
>          self.backend_input_files.add(obj.path)
>          self.backend_input_files |= obj.context_all_paths
> +        for source in obj.source_relpaths:

Ideally we'd share this code between the TestManifestBackend and the RecursiveMakeBackend, but since the former is a PartialBackend and the latter is a CommonBackend, I don't think we have a good place to do that.
Attachment #8839765 - Flags: review?(mshal) → review+
Pushed by maglione.k@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/e4e02bf4f094
Fix automatic regeneration of backend when an included test manifest changes. r=mshal
Backed out for failing TestTestManifestBackend.test_test_manifest_sources on Windows:

https://hg.mozilla.org/integration/autoland/rev/47fd19d08a8359c78149754b8c13ab17052140bc

Push showing the failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&revision=aab8d4792b9b9b4ec393620d5ec44920d701d78b&filter-resultStatus=testfailed&filter-resultStatus=busted&filter-resultStatus=exception&filter-resultStatus=retry&filter-resultStatus=usercancel&filter-resultStatus=runnable
Failure log: https://treeherder.mozilla.org/logviewer.html#?job_id=79743417&repo=autoland

20:30:51     INFO - z:\task_1487880291\build\src\python\mozbuild\mozbuild\test\backend\test_test_manifest.py
20:30:51     INFO - TEST-PASS | z:\task_1487880291\build\src\python\mozbuild\mozbuild\test\backend\test_test_manifest.py | TestTestManifestBackend.test_all_tests_metadata_file_written
20:30:51     INFO - TEST-PASS | z:\task_1487880291\build\src\python\mozbuild\mozbuild\test\backend\test_test_manifest.py | TestTestManifestBackend.test_test_defaults_metadata_file_written
20:30:51     INFO - TEST-PASS | z:\task_1487880291\build\src\python\mozbuild\mozbuild\test\backend\test_test_manifest.py | TestTestManifestBackend.test_test_installs_metadata_file_written
20:30:51  WARNING - TEST-UNEXPECTED-FAIL | z:\task_1487880291\build\src\python\mozbuild\mozbuild\test\backend\test_test_manifest.py | TestTestManifestBackend.test_test_manifest_sources, line 82: path is on drive c:, start on drive z:
20:30:51     INFO - ERROR: Ensure that backend sources are generated correctly.
20:30:51     INFO - Traceback (most recent call last):
20:30:51     INFO -   File "z:\task_1487880291\build\src\python\mozbuild\mozbuild\test\backend\test_test_manifest.py", line 82, in test_test_manifest_sources
20:30:51     INFO -     for source in fh)
20:30:51     INFO -   File "z:\task_1487880291\build\src\python\mozbuild\mozbuild\test\backend\test_test_manifest.py", line 82, in <genexpr>
20:30:51     INFO -     for source in fh)
20:30:51     INFO -   File "z:\task_1487880291\build\src\python\mozbuild\mozpack\path.py", line 31, in relpath
20:30:51     INFO -     rel = normsep(os.path.relpath(path, start))
20:30:51     INFO -   File "z:\task_1487880291\build\src\obj-firefox\_virtualenv\lib\ntpath.py", line 529, in relpath
20:30:51     INFO -     % (path_prefix, start_prefix))
20:30:51     INFO - ValueError: path is on drive c:, start on drive z:
Flags: needinfo?(kmaglione+bmo)
Looks like the source and object directories wind up in different drives for Windows on infra, and our relative path helpers don't support that. I suppose I'll just convert everything to absolute paths instead.
Flags: needinfo?(kmaglione+bmo)
https://hg.mozilla.org/integration/mozilla-inbound/rev/c7e5e32cae0a3c388b03fb2117d4d5f137be3827
Bug 1341502: Fix automatic regeneration of backend when an included test manifest changes. r=mshal
https://hg.mozilla.org/mozilla-central/rev/c7e5e32cae0a
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla54
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.