Closed
Bug 745532
Opened 13 years ago
Closed 9 years ago
Use nsinstall for browserscope, not tar/untar
Categories
(Core :: DOM: Editor, enhancement)
Core
DOM: Editor
Tracking
()
RESOLVED
FIXED
People
(Reporter: ayg, Unassigned)
References
(Blocks 1 open bug)
Details
Bug 550569 added this to the makefile:
(cd $(srcdir) && tar $(TAR_CREATE_FLAGS) - browserscope 2> /dev/null) | (cd $(DEPTH)/_tests/testing/mochitest/tests/$(relativesrcdir) && tar -xf -)
This has at least two annoying side-effects:
1) It copies the files instead of symlinking them, on platforms where they'd normally be symlinked. This is surprising, and means that if you update currentStatus.js or whatever in the source, you have to copy it to the objdir before rerunning the tests.
2) It copies all the files that are lying around there, even ones you don't want. I've been bitten by this more than once when test_richtext2.html.orig or something got copied and made the test runner get confused and hang.
The files should be enumerated and installed with $(INSTALL), like all the others. I'm not actually sure what the best way to do this is -- just adding "browserscope" (the directory) to _TEST_FILES seems to fix (1), at least on Linux, but not (2).
Reporter | ||
Comment 1•13 years ago
|
||
Ted, do you know what the best way is to do this? browserscope/ is deeply nested, and we need to copy a list of files along the lines of
browserscope/test_richtext.html
browserscope/test_richtext2.html
browserscope/lib/richtext2/currentStatus.js
browserscope/lib/richtext2/richtext2/tests/selection.py
browserscope/lib/richtext2/richtext2/tests/queryState.py
browserscope/lib/richtext2/richtext2/tests/queryIndeterm.py
browserscope/lib/richtext2/richtext2/tests/queryValue.py
browserscope/lib/richtext2/richtext2/tests/forwarddelete.py
browserscope/lib/richtext2/richtext2/tests/applyCSS.py
browserscope/lib/richtext2/richtext2/tests/changeCSS.py
browserscope/lib/richtext2/richtext2/tests/queryEnabled.py
browserscope/lib/richtext2/richtext2/tests/querySupported.py
browserscope/lib/richtext2/richtext2/tests/unapplyCSS.py
browserscope/lib/richtext2/richtext2/tests/insert.py
browserscope/lib/richtext2/richtext2/tests/change.py
browserscope/lib/richtext2/richtext2/tests/delete.py
browserscope/lib/richtext2/richtext2/tests/apply.py
browserscope/lib/richtext2/richtext2/tests/unapply.py
browserscope/lib/richtext2/richtext2/static/editable-dM.html
browserscope/lib/richtext2/richtext2/static/editable.css
browserscope/lib/richtext2/richtext2/static/editable-body.html
browserscope/lib/richtext2/richtext2/static/editable-div.html
browserscope/lib/richtext2/richtext2/static/js/variables.js
browserscope/lib/richtext2/richtext2/static/js/units.js
browserscope/lib/richtext2/richtext2/static/js/canonicalize.js
browserscope/lib/richtext2/richtext2/static/js/run.js
browserscope/lib/richtext2/richtext2/static/js/compare.js
browserscope/lib/richtext2/richtext2/static/js/output.js
browserscope/lib/richtext2/richtext2/static/js/range-bootstrap.js
browserscope/lib/richtext2/richtext2/static/js/pad.js
browserscope/lib/richtext2/richtext2/static/js/range.js
browserscope/lib/richtext/currentStatus.js
browserscope/lib/richtext/richtext/richtext.html
browserscope/lib/richtext/richtext/js/range.js
browserscope/lib/richtext/richtext/editable.html
preserving directory structure.
Comment 2•13 years ago
|
||
Right. The reason why I used tar instead of nsinstall initially was to make sure that updates from upstream would not require updating the makefiles.
In hindsight, that was probably the wrong thing to optimize for. I'm not quite sure about the makefile magic we need if we want to use nsinstall, but you should try to avoid nesting makefiles in the richtext* directories. Maybe we can mkdir -p the target directories before calling nsinstall? Or maybe nsinstall takes an argument to create the target directory if needed?
Reporter | ||
Comment 3•13 years ago
|
||
Unassigning from self until it's clear how we should handle this . . .
Assignee: ayg → nobody
Status: ASSIGNED → NEW
Comment 4•12 years ago
|
||
There is a generic install rule in the build system: https://mxr.mozilla.org/mozilla-central/source/config/rules.mk#1623
See services/sync/Makefile.in for example usage.
Reporter | ||
Comment 5•9 years ago
|
||
Looks fixed now.
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•