Closed
Bug 706433
Opened 13 years ago
Closed 13 years ago
Add JS shell compile flag for more determinism (differential testing/fuzzing)
Categories
(Core :: JavaScript Engine, enhancement)
Core
JavaScript Engine
Tracking
()
RESOLVED
FIXED
mozilla11
People
(Reporter: decoder, Assigned: decoder)
References
Details
Attachments
(1 file, 1 obsolete file)
2.36 KB,
patch
|
decoder
:
review+
|
Details | Diff | Splinter Review |
In differential testing we usually compare the output of two shells running with different options (e.g. TI vs. Interp) and there are quite a few functions that behave differently under those options or even completely non-deterministic. While we can remove or wrap most of those functions at runtime, some obstacles remain.
The attached patch does two things: It makes gc() return an empty string (Jesse mentioned on IRC that wrapping gc() could cause problems) and it makes js_ReportOverRecursed print out a notice on stderr when it is called. The reason for that notice is to recognize when a test hits the recursion limit so we can ignore it, as the recursion limits across different options is not consistent.
Both modifications are not enabled unless the --enable-more-deterministic flag is passed at compile time.
Attachment #577920 -
Flags: review?(jorendorff)
Comment 1•13 years ago
|
||
Comment on attachment 577920 [details] [diff] [review]
Patch
Review of attachment 577920 [details] [diff] [review]:
-----------------------------------------------------------------
r=me with the nit below.
::: js/src/shell/js.cpp
@@ +1212,5 @@
>
> char buf[256];
> +#ifdef JS_MORE_DETERMINISTIC
> + JS_snprintf(buf, sizeof(buf), "");
> +#else
Just buf[0] = '\0'; here please.
Attachment #577920 -
Flags: review?(jorendorff) → review+
Assignee | ||
Comment 2•13 years ago
|
||
Updated patch to fix the nit. Jason, can you check this in?
Attachment #577920 -
Attachment is obsolete: true
Assignee | ||
Comment 3•13 years ago
|
||
Comment on attachment 578429 [details] [diff] [review]
Updated patch
r+ taken from first patch.
Attachment #578429 -
Flags: review+
Comment 4•13 years ago
|
||
Comment 5•13 years ago
|
||
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla11
You need to log in
before you can comment on or make changes to this bug.
Description
•