Open Bug 1081323 Opened 10 years ago Updated 2 years ago

Bug 1080922 required a clobber due to removing a file from a test manifest

Categories

(Firefox Build System :: General, defect)

x86_64
Linux
defect

Tracking

(Not tracked)

People

(Reporter: jgilbert, Unassigned)

References

(Blocks 1 open bug)

Details

I removed a file, and removed references to it from its mochitest manifest, but the build complained about not being able to find the file.
https://treeherder.mozilla.org/ui/logviewer.html#?job_id=2922689&repo=mozilla-inbound

> /builds/slave/m-in-l64-d-0000000000000000000/build/obj-firefox/_virtualenv/bin/python -m mozbuild.action.process_install_manifest _tests _build_manifests/install/tests
> From dist/sdk: Kept 0 existing; Added/updated 0; Removed 30 files and 4 directories.
> From dist/bin: Kept 57 existing; Added/updated 0; Removed 3759 files and 414 directories.
> From dist/include: Kept 4316 existing; Added/updated 0; Removed 192 files and 6 directories.
> Traceback (most recent call last):
> File "/tools/python27/lib/python2.7/runpy.py", line 162, in _run_module_as_main
> "__main__", fname, loader, pkg_name)
> File "/tools/python27/lib/python2.7/runpy.py", line 72, in _run_code
> exec code in run_globals
> File "/builds/slave/m-in-l64-d-0000000000000000000/build/python/mozbuild/mozbuild/action/process_install_manifest.py", line 60, in <module>
> main(sys.argv[1:])
> File "/builds/slave/m-in-l64-d-0000000000000000000/build/python/mozbuild/mozbuild/action/process_install_manifest.py", line 51, in main
> remove_empty_directories=not args.no_remove_empty_directories)
> File "/builds/slave/m-in-l64-d-0000000000000000000/build/python/mozbuild/mozbuild/action/process_install_manifest.py", line 30, in process_manifest
> remove_empty_directories=remove_empty_directories)
> File "/builds/slave/m-in-l64-d-0000000000000000000/build/python/mozbuild/mozpack/copier.py", line 333, in copy
> if f.copy(destfile, skip_if_older):
> File "/builds/slave/m-in-l64-d-0000000000000000000/build/python/mozbuild/mozpack/files.py", line 260, in copy
> raise ErrorMessage('Symlink target path does not exist: %s' % self.path)
> mozpack.errors.ErrorMessage: Symlink target path does not exist: /builds/slave/m-in-l64-d-0000000000000000000/build/dom/canvas/test/webgl-conformance/mochi-wrapper.css
> make[3]: *** [install-_tests] Error 1
> make[3]: Leaving directory `/builds/slave/m-in-l64-d-0000000000000000000/build/obj-firefox'
> make[2]: *** [default] Error 2
> make[2]: Leaving directory `/builds/slave/m-in-l64-d-0000000000000000000/build/obj-firefox'
> make[1]: *** [realbuild] Error 2
> make[1]: Leaving directory `/builds/slave/m-in-l64-d-0000000000000000000/build'
> make: *** [build] Error 2
> State Changed: unlock buildroot
> program finished with exit code 2
> elapsedTime=10.733811
> ========= Finished compile failed (results: 2, elapsed: 10 secs) (at 2014-10-10 13:51:52.324716) =========
Presumably the test manifest containing the change wasn't included in the build backend dependencies. That would definitely be a regression if true.
Summary: Bug 1080922 required a clobber → Bug 1080922 required a clobber due to removing a file from a test manifest
Bug 1080922 is fixed.
Leave open as per bug 1114669 comment 2.
(In reply to Gregory Szorc [:gps] from comment #2)
> Presumably the test manifest containing the change wasn't included in the
> build backend dependencies. That would definitely be a regression if true.

It looks like backend.RecursiveMake.pp lists mochitest-subsuite-webgl.ini as a dependency, which is the file listed in MOCHITEST_MANIFESTS. However, mochitest-subsuite-webgl.ini does:

[include:_webgl-conformance.ini]
[include:webgl-mochitest.ini]

And these included files aren't listed in backend.RecursiveMake.pp, so if they are changed, the backend doesn't get updated. Were these included files ever listed as part of the backend build dependencies?
Product: Core → Firefox Build System
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.