Code coverage build should run SpiderMonkey tests
Categories
(Testing :: Code Coverage, enhancement)
Tracking
(Not tracked)
People
(Reporter: marco, Unassigned, NeedInfo)
References
(Blocks 1 open bug)
Details
Attachments
(1 file)
(deleted),
patch
|
dustin
:
feedback+
|
Details | Diff | Splinter Review |
Comment 1•7 years ago
|
||
Comment 2•7 years ago
|
||
Comment 3•7 years ago
|
||
Comment 4•7 years ago
|
||
Updated•7 years ago
|
Comment 5•7 years ago
|
||
Comment 6•7 years ago
|
||
Comment 7•7 years ago
|
||
Reporter | ||
Comment 8•7 years ago
|
||
Comment 9•7 years ago
|
||
Comment 10•6 years ago
|
||
Reporter | ||
Comment 11•6 years ago
|
||
Steve, would you have time to work on this? Most of this should just be duplicating the current SM jobs, and I could help you with the coverage parts (just need a few build options and to run a script at the end).
Comment 12•6 years ago
|
||
(In reply to Marco Castelluccio [:marco] from comment #11)
Steve, would you have time to work on this? Most of this should just be duplicating the current SM jobs, and I could help you with the coverage parts (just need a few build options and to run a script at the end).
I won't have time immediately. I have a couple of things I need to work on right away, then I would have some bandwidth available.
But you don't need to manually duplicate the SM job configuration, which feels unnecessarily error-prone to me. The patch attached to this bug (probably somewhat bitrotted at this point) duplicates the job names, but automatically creates the task configurations (based on a YAML field.) Dustin had some comments and change requests, but if someone wanted to take it over then that part could probably be beaten into shape relatively easily.
Can you comment here with the build options? I could at least add those to the spidermonkey autospider.py run script, using either platform names (as with the patch currently attached here) or an environment variable. Or even a command-line option, though that would require some more taskgraph plumbing work too.
Reporter | ||
Comment 13•6 years ago
|
||
(In reply to Steve Fink [:sfink] [:s:] from comment #12)
Can you comment here with the build options? I could at least add those to the spidermonkey autospider.py run script, using either platform names (as with the patch currently attached here) or an environment variable. Or even a command-line option, though that would require some more taskgraph plumbing work too.
The first step would be to enable C/C++ coverage, which only requires adding "--coverage" to CFLAGS, CXXFLAGS and LDFLAGS. You'll probably also want to define MOZ_CODE_COVERAGE (as done at https://searchfox.org/mozilla-central/source/build/moz.configure/toolchain.configure#1785).
Here are the options we use in the linux64 build (https://searchfox.org/mozilla-central/source/browser/config/mozconfigs/linux64/code-coverage), but I assume most of them are unrelated to SM builds.
Then, we can enable Rust coverage later on.
At the end of the build and the tests execution, we'll need to parse the results doing something like https://searchfox.org/mozilla-central/source/testing/parse_build_tests_ccov.py.
Updated•2 years ago
|
Description
•