Closed
Bug 1222043
Opened 9 years ago
Closed 9 years ago
Make "mach xpcshell-test" more TSan-friendly
Categories
(Testing :: XPCShell Harness, defect)
Testing
XPCShell Harness
Tracking
(firefox45 fixed)
RESOLVED
FIXED
mozilla45
Tracking | Status | |
---|---|---|
firefox45 | --- | fixed |
People
(Reporter: jseward, Assigned: jseward)
Details
Attachments
(1 file)
6.71 KB,
patch
|
ahal
:
review+
jgraham
:
feedback+
|
Details | Diff | Splinter Review |
"mach xpcshell-test" is difficult to use for TSan builds, for two reasons: (1) a TSan-ified process returns with a non-zero exit code if any races are detected. This causes the framework to incorrectly conclude that some processes have failed. (2) mach xpcshell-test ignores any existing setting of the TSAN_OPTIONS environment variable, and sets its own value for it. This makes xpcshell-tests difficult to use in practice for TSan runs, because it is often useful to be able to specify, for example, a custom suppression file using TSAN_OPTIONS.
Assignee | ||
Comment 1•9 years ago
|
||
Comment 2•9 years ago
|
||
Comment on attachment 8683769 [details] [diff] [review] WIP patch. Addresses both issues in comment #0. Review of attachment 8683769 [details] [diff] [review]: ----------------------------------------------------------------- Seems sensible to me. Move the 66 to a global and explain it there. Put the operators in binary expressions that split over multiple lines before the linebreak rather than right after.
Attachment #8683769 -
Flags: feedback+
Assignee | ||
Updated•9 years ago
|
Attachment #8683769 -
Flags: review?(ahalberstadt)
Comment 3•9 years ago
|
||
Comment on attachment 8683769 [details] [diff] [review] WIP patch. Addresses both issues in comment #0. Review of attachment 8683769 [details] [diff] [review]: ----------------------------------------------------------------- Looks good! Please fix my nit and also address jgraham's comment (move the 66 into a global TSAN_RETURN_CODE variable or similar along with the explanation). ::: testing/xpcshell/runxpcshelltests.py @@ +936,5 @@ > + and self.env["TSAN_OPTIONS"] is not None): > + tsanExtraOpts = " " + self.env["TSAN_OPTIONS"] > + > + self.env["TSAN_OPTIONS"] = ("external_symbolizer_path=%s" % llvmsym > + + tsanExtraOpts) Just make this whole block (I assume the potential extra space at the end is ok): self.env['TSAN_OPTIONS'] = "external_symbolizer_path={} {}".format(llvmsym, self.env.get('TSAN_OPTIONS', ''))
Attachment #8683769 -
Flags: review?(ahalberstadt) → review+
Comment 5•9 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/4cb74d10a76f
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla45
You need to log in
before you can comment on or make changes to this bug.
Description
•