nashorn/test/script/basic/runsunspider.js
author sundar
Thu, 13 Mar 2014 15:58:24 +0530
changeset 23374 f470afc89c6c
parent 20947 ab64f6cdcad0
child 24719 f726e9d67629
permissions -rw-r--r--
8015958: DataView constructor is not defined Reviewed-by: attila, hannesw, lagergren
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
16147
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
     1
/*
16151
97c1e756ae1e 8005663: Update copyright year to 2013
jlaskey
parents: 16147
diff changeset
     2
 * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
16147
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
     3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
     4
 *
16147
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
     5
 * This code is free software; you can redistribute it and/or modify it
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
     6
 * under the terms of the GNU General Public License version 2 only, as
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
     7
 * published by the Free Software Foundation.
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
     8
 *
16147
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
     9
 * This code is distributed in the hope that it will be useful, but WITHOUT
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
    10
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
    11
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
    12
 * version 2 for more details (a copy is included in the LICENSE file that
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
    13
 * accompanied this code).
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
    14
 *
16147
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
    15
 * You should have received a copy of the GNU General Public License version
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
    16
 * 2 along with this work; if not, write to the Free Software Foundation,
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
    17
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
    18
 *
16147
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
    19
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
    20
 * or visit www.oracle.com if you need additional information or have any
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
    21
 * questions.
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
    22
 */
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
    23
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
    24
/**
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
    25
 * runsunspider : runs the sunspider tests and checks for compliance
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
    26
 *
16525
1409942e618e 8009982: Lazy execution bugfix. Added lazy sunspider unit test. Added mandreel to compile-octane test. Fixed warnings
lagergren
parents: 16164
diff changeset
    27
 * @subtest
16147
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
    28
 */
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
    29
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
    30
/**
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
    31
 * This is not a test, but a test "framework" for running sunspider tests.
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
    32
 */
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
    33
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
    34
function assertEq(a, b) {
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
    35
    if (a !== b) {
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
    36
        throw "ASSERTION FAILED: " + a + " should be " + b;
16147
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
    37
    }
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
    38
}
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
    39
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
    40
var runs = 0;
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
    41
var iterations__ = 1;
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
    42
var total_time = 0;
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
    43
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
    44
function runbench(name) {
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
    45
    var filename = name.split("/").pop();
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
    46
    if (verbose_run) {
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
    47
        print("Running " + filename);
16147
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
    48
    }
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
    49
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
    50
    var start = new Date;
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
    51
    for (var i = 0; i < iterations__; i++) {
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
    52
        load(name);
16147
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
    53
    }
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
    54
    var stop = new Date - start;
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
    55
    total_time += stop;
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
    56
16147
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
    57
    if (verbose_run) {
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
    58
        print(filename + " done in " + stop + " ms");
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
    59
    }
16147
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
    60
    runs++;
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
    61
}
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
    62
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
    63
var m_w = 4711;
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
    64
var m_z = 17;
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
    65
var MAXINT = 0x7fffffff;
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
    66
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
    67
//produce deterministic random numbers for test suite
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
    68
function pseudorandom() {
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
    69
    m_z = 36969 * (m_z & 65535) + (m_z >> 16);
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
    70
    m_w = 18000 * (m_w & 65535) + (m_w >> 16);
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
    71
    return (Math.abs((m_z << 16) + m_w) & MAXINT) / MAXINT;
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
    72
}
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
    73
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
    74
function runsuite(tests) {
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
    75
    var changed = false;
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
    76
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
    77
    var oldRandom = Math.random;
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
    78
    Math.random = pseudorandom;
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
    79
16147
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
    80
    try {
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
    81
        for (var n = 0; n < tests.length; n++) {
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
    82
            path = dir + '../external/sunspider/tests/sunspider-1.0/' + tests[n].name
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
    83
            runbench(path);
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
    84
            if (typeof tests[n].actual !== 'undefined') {
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
    85
                assertEq(tests[n].actual(), tests[n].expected());
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
    86
            }
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
    87
            changed = true;
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
    88
        }
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
    89
        // no scripting or something, silently fail
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
    90
    } finally {
16147
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
    91
    }
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
    92
    Math.random = oldRandom;
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
    93
16147
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
    94
    return changed;
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
    95
}
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
    96
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
    97
function hash(str) {
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
    98
    var s = "" + str;
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
    99
    var h = 0;
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   100
    var off = 0;
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   101
    for (var i = 0; i < s.length; i++) {
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   102
        h = 31 * h + s.charCodeAt(off++);
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   103
        h &= 0x7fffffff;
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   104
    }
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   105
    return h ^ s.length;
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   106
}
16147
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
   107
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
   108
var tests = [
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   109
    { name: 'string-base64.js',
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   110
      actual: function() {
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   111
          return hash(str);
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   112
      },
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   113
      expected: function() {
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   114
          return 1544571068;
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   115
      }
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   116
    },
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   117
    { name: 'string-validate-input.js',
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   118
      actual: function() {
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   119
          return hash(endResult);
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   120
      },
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   121
      expected: function() {
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   122
          return 2016572373;
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   123
      }
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   124
    },
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   125
    { name: 'date-format-xparb.js',
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   126
      actual: function() {
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   127
          return shortFormat + longFormat;
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   128
      },
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   129
      expected: function() {
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   130
          return "2017-09-05Tuesday, September 05, 2017 8:43:48 AM";
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   131
      }
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   132
    },
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   133
    { name: '3d-morph.js',
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   134
      actual: function() {
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   135
          var acceptableDelta = 4e-15;
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   136
          return (testOutput - 6.394884621840902e-14) < acceptableDelta;
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   137
      },
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   138
      expected: function() {
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   139
          return true;
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   140
      }
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   141
    },
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   142
    { name: 'crypto-aes.js',
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   143
      actual: function() {
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   144
          return plainText;
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   145
      },
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   146
      expected: function() {
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   147
          return decryptedText;
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   148
      }
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   149
    },
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   150
    { name: 'crypto-md5.js',
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   151
      actual: function() {
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   152
          return md5Output;
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   153
      },
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   154
      expected: function() {
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   155
          return "a831e91e0f70eddcb70dc61c6f82f6cd";
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   156
      }
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   157
    },
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   158
    { name: 'crypto-sha1.js',
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   159
      actual: function() {
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   160
          return sha1Output;
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   161
      },
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   162
      expected: function() {
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   163
          return "2524d264def74cce2498bf112bedf00e6c0b796d";
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   164
      }
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   165
    },
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   166
    { name: 'bitops-bitwise-and.js',
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   167
      actual: function() {
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   168
          return result;
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   169
      },
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   170
      expected: function() {
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   171
          return 0;
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   172
      }
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   173
    },
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   174
    { name: 'bitops-bits-in-byte.js',
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   175
      actual: function() {
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   176
          return result;
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   177
      },
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   178
      expected: function() {
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   179
          return 358400;
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   180
      }
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   181
    },
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   182
    { name: 'bitops-nsieve-bits.js',
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   183
      actual: function() {
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   184
          var ret = 0;
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   185
          for (var i = 0; i < result.length; ++i) {
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   186
              ret += result[i];
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   187
          }
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   188
          ret += result.length;
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   189
          return ret;
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   190
      },
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   191
      expected: function() {
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   192
          return -1286749539853;
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   193
      }
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   194
    },
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   195
    { name: 'bitops-3bit-bits-in-byte.js',
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   196
      actual: function() {
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   197
          return sum;
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   198
      },
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   199
      expected: function() {
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   200
          return 512000;
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   201
      }
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   202
    },
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   203
    { name: 'access-nbody.js',
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   204
      actual: function() {
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   205
          return ret;
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   206
      },
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   207
      expected: function() {
20947
ab64f6cdcad0 8026498: Revert: latest runsunspider.js tests contains several bugs
jlaskey
parents: 20942
diff changeset
   208
            return -1.3524862408537381;
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   209
      }
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   210
    },
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   211
    { name: 'access-binary-trees.js',
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   212
      actual: function() {
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   213
          return ret;
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   214
      },
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   215
      expected: function() {
20947
ab64f6cdcad0 8026498: Revert: latest runsunspider.js tests contains several bugs
jlaskey
parents: 20942
diff changeset
   216
          return -4;
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   217
      }
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   218
    },
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   219
    { name: 'access-fannkuch.js',
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   220
      actual: function() {
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   221
          return ret;
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   222
      },
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   223
      expected: function() {
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   224
          return 22;
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   225
      }
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   226
    },
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   227
    { name: 'math-spectral-norm.js',
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   228
      actual: function() {
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   229
          var ret = '';
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   230
          for (var i = 6; i <= 48; i *= 2) {
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   231
              ret += spectralnorm(i) + ',';
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   232
          }
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   233
          return ret;
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   234
      },
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   235
      expected: function() {
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   236
          return "1.2657786149754053,1.2727355112619148,1.273989979775574,1.274190125290389,";
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   237
      }
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   238
    },
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   239
    { name: '3d-raytrace.js',
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   240
      actual: function() {
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   241
          return hash(testOutput);
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   242
      },
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   243
      expected: function() {
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   244
          return 230692593;
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   245
      }
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   246
    },
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   247
    { name: 'regexp-dna.js',
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   248
      actual: function() {
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   249
          return dnaOutputString;
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   250
      },
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   251
      expected: function() {
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   252
          return "agggtaaa|tttaccct 0\n[cgt]gggtaaa|tttaccc[acg] 9\na[act]ggtaaa|tttacc[agt]t 27\nag[act]gtaaa|tttac[agt]ct 24\nagg[act]taaa|ttta[agt]cct 30\naggg[acg]aaa|ttt[cgt]ccct 9\nagggt[cgt]aa|tt[acg]accct 12\nagggta[cgt]a|t[acg]taccct 9\nagggtaa[cgt]|[acg]ttaccct 15\n";
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   253
      }
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   254
    },
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   255
    { name: 'math-cordic.js',
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   256
      actual: function() {
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   257
          return total;
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   258
      },
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   259
      expected: function() {
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   260
          return 10362.570468755888;
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   261
      }
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   262
    },
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   263
    { name: 'controlflow-recursive.js',
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   264
      actual: function() {
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   265
          var ret = 0;
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   266
          for (var i = 3; i <= 5; i++) {
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   267
              ret += ack(3,i);
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   268
              ret += fib(17.0+i);
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   269
              ret += tak(3*i+3,2*i+2,i+1);
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   270
          }
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   271
          return ret;
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   272
      },
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   273
      expected: function() {
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   274
          return 57775;
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   275
      }
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   276
    },
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   277
    { name: 'date-format-tofte.js',
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   278
      actual: function() {
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   279
          return shortFormat + longFormat;
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   280
      },
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   281
      expected: function() {
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   282
          return "2008-05-01Thursday, May 01, 2008 6:31:22 PM";
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   283
      }
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   284
    },
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   285
    { name: 'string-tagcloud.js',
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   286
      actual: function() {
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   287
          // The result string embeds floating-point numbers, which can vary a bit on different platforms,
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   288
          // so we truncate them a bit before comparing.
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   289
          var tagcloud_norm = tagcloud.replace(/([0-9.]+)px/g, function(str, p1) { return p1.substr(0, 10) + 'px' })
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   290
          return tagcloud_norm.length;
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   291
      },
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   292
      expected: function() {
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   293
          return 295906;
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   294
      }
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   295
    },
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   296
    { name: 'string-unpack-code.js',
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   297
      actual: function() {
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   298
          return decompressedMochiKit.length == 106415 &&
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   299
              decompressedMochiKit[2000] == '5' &&
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   300
              decompressedMochiKit[12000] == '_' &&
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   301
              decompressedMochiKit[82556] == '>';
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   302
      },
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   303
      expected: function() {
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   304
          return true;
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   305
      }
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   306
    },
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   307
    //TODO no easy way to sanity check result
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   308
    { name: 'string-fasta.js' },
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   309
    //TODO no easy way to sanity check result
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   310
    { name: 'math-partial-sums.js' },
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   311
    //TODO no easy way to sanity check result
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   312
    { name: 'access-nsieve.js' },
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   313
    //TODO no easy way to sanity check result
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   314
    { name: '3d-cube.js' },
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   315
];
16147
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
   316
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
   317
// handle the case this script may be run by a JS engine that doesn't
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
   318
// support __DIR__ global variable.
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   319
var dir = (typeof(__DIR__) == 'undefined') ? "test/script/basic/" : __DIR__;
16147
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
   320
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
   321
var verbose_run = false;
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
   322
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   323
var args = [];
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   324
if (typeof $ARGS !== 'undefined') {
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   325
    args = $ARGS;
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   326
} else if (typeof arguments !== 'undefined' && arguments.length != 0) {
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   327
    args = arguments;
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   328
}
16147
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
   329
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
   330
for (i in args) {
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   331
    if (args[i] === '--verbose') {
19104
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   332
        verbose_run = true;
6fe18e748f74 8021321: Two runsunspider tests fail after updating sunspider to 1.0
jlaskey
parents: 17518
diff changeset
   333
        break;
16147
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
   334
    }
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
   335
}
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
   336
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   337
runsuite(tests);
16147
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
   338
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
   339
if (verbose_run) {
16164
1899aada11f8 8005971: runsunspider.js should check results of benchmarks
lagergren
parents: 16163
diff changeset
   340
    print('\n' + runs + "/" + tests.length + " tests were successfully run in " + total_time + " ms ");
16147
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
   341
}
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
   342
e63b63819133 8005403: Open-source Nashorn
jlaskey
parents:
diff changeset
   343
print("Sunspider finished!");