testsrc.jstests.688458.jstest Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of rhino Show documentation
Show all versions of rhino Show documentation
A distribution of rhino which releases snapshots from a submodule folder containing forked sources.
The newest version!
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
// https://bugzilla.mozilla.org/show_bug.cgi?id=688458
var x = {NEGATIVE_INFINITY: 1, POSITIVE_INFINITY: 1};
var count1 = 0;
var count2 = 0;
var n = 100000;
var running = true;
new java.lang.Thread(function() {
while (running) {
x = {NEGATIVE_INFINITY: 1, POSITIVE_INFINITY: 1};
for (var i = 0; i < 16; i++) x["i" + i] = i;
}
}).start();
// Test for original read bug first
for(var k = 0; k < n; k++) {
if (!x.POSITIVE_INFINITY || !x.NEGATIVE_INFINITY)
count1++;
}
// Now test for write bug introduced by first fix
for(var k = 0; k < n; k++) {
var M = x.k;
if (M && M != k - 1)
count2++;
x.k = k;
}
running = false;
if (count1 > 0 || count2 > 0) {
throw new Error(count1 + " read bugs, " + count2 + " write bugs");
}
"success";