All Downloads are FREE. Search and download functionalities are using the official Maven repository.

rhino1.7.7.testsrc.jstests.688458.jstest Maven / Gradle / Ivy

Go to download

Rhino is an open-source implementation of JavaScript written entirely in Java. It is typically embedded into Java applications to provide scripting to end users.

There is a newer version: 1.7.15
Show 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";




© 2015 - 2024 Weber Informatics LLC | Privacy Policy