mads.s.ager@gmail.com | 9a4089a | 2008-09-01 08:55:01 +0000 | [diff] [blame^] | 1 | # Copyright 2008 Google Inc. All rights reserved. |
| 2 | # Redistribution and use in source and binary forms, with or without |
| 3 | # modification, are permitted provided that the following conditions are |
| 4 | # met: |
| 5 | # |
| 6 | # * Redistributions of source code must retain the above copyright |
| 7 | # notice, this list of conditions and the following disclaimer. |
| 8 | # * Redistributions in binary form must reproduce the above |
| 9 | # copyright notice, this list of conditions and the following |
| 10 | # disclaimer in the documentation and/or other materials provided |
| 11 | # with the distribution. |
| 12 | # * Neither the name of Google Inc. nor the names of its |
| 13 | # contributors may be used to endorse or promote products derived |
| 14 | # from this software without specific prior written permission. |
| 15 | # |
| 16 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
| 17 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
| 18 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
| 19 | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
| 20 | # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
| 21 | # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
| 22 | # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
| 23 | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
| 24 | # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| 25 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| 26 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| 27 | |
| 28 | # -------------------------------------------------------------------- |
| 29 | # If you add a test case to this file, please try to provide |
| 30 | # an explanation of why the test fails; this may ease future |
| 31 | # debugging. |
| 32 | # -------------------------------------------------------------------- |
| 33 | |
| 34 | prefix mozilla |
| 35 | def FAIL_OK = FAIL, OKAY |
| 36 | |
| 37 | |
| 38 | ##################### SKIPPED TESTS ##################### |
| 39 | |
| 40 | # This test checks that we behave properly in an out-of-memory |
| 41 | # situation. The test fails in V8 with an exception and takes a long |
| 42 | # time to do so. |
| 43 | js1_5/Regress/regress-271716-n: SKIP |
| 44 | |
| 45 | |
| 46 | ##################### SLOW TESTS ##################### |
| 47 | |
| 48 | # This takes a long time to run (~100 seconds). It should only be run |
| 49 | # by the really patient. |
| 50 | js1_5/GC/regress-324278: SLOW |
| 51 | |
| 52 | # This takes a long time to run because our indexOf operation is |
| 53 | # pretty slow - it causes a lot of GCs; see issue |
| 54 | # #926379. We could consider marking this SKIP because it takes a |
| 55 | # while to run to completion. |
| 56 | js1_5/GC/regress-338653: SLOW |
| 57 | |
| 58 | # This test is designed to run until it runs out of memory. This takes |
| 59 | # a very long time because it builds strings character by character |
| 60 | # and compiles a lot of regular expressions. We could consider marking |
| 61 | # this SKIP because it takes a while to run to completion. |
| 62 | js1_5/GC/regress-346794: SLOW |
| 63 | |
| 64 | # Runs out of memory while trying to build huge string of 'x' |
| 65 | # characters. This takes a long time to run (~32 seconds). |
| 66 | js1_5/GC/regress-348532: SLOW |
| 67 | |
| 68 | |
| 69 | ##################### FLAKY TESTS ##################### |
| 70 | |
| 71 | # These tests time out in debug mode but pass in product mode |
| 72 | js1_5/Regress/regress-280769-3: PASS || ($DEBUG && FAIL) |
| 73 | js1_5/Regress/regress-203278-1: PASS || ($DEBUG && FAIL) |
| 74 | js1_5/GC/regress-203278-2: PASS || ($DEBUG && FAIL) |
| 75 | js1_5/Regress/regress-244470: PASS || ($DEBUG && FAIL) |
| 76 | ecma_3/RegExp/regress-209067: PASS || ($DEBUG && FAIL) |
| 77 | js1_5/GC/regress-278725: PASS || ($DEBUG && FAIL) |
| 78 | js1_5/Regress/regress-360969-03: PASS || ($DEBUG && FAIL) |
| 79 | js1_5/Regress/regress-360969-04: PASS || ($DEBUG && FAIL) |
| 80 | js1_5/Regress/regress-360969-05: PASS || ($DEBUG && FAIL) |
| 81 | js1_5/Regress/regress-360969-06: PASS || ($DEBUG && FAIL) |
| 82 | js1_5/extensions/regress-365527: PASS || ($DEBUG && FAIL) |
| 83 | # http://b/issue?id=1206983 |
| 84 | js1_5/Regress/regress-367561-03: PASS || ($DEBUG && FAIL) |
| 85 | ecma/Date/15.9.5.10-2: PASS || ($DEBUG && FAIL) |
| 86 | |
| 87 | # These tests create two Date objects just after each other and |
| 88 | # expects them to match. Sometimes this happens on the border |
| 89 | # between one second and the next. |
| 90 | ecma/Date/15.9.2.1: PASS || FAIL |
| 91 | ecma/Date/15.9.2.2-1: PASS || FAIL |
| 92 | ecma/Date/15.9.2.2-2: PASS || FAIL |
| 93 | ecma/Date/15.9.2.2-3: PASS || FAIL |
| 94 | ecma/Date/15.9.2.2-4: PASS || FAIL |
| 95 | ecma/Date/15.9.2.2-5: PASS || FAIL |
| 96 | ecma/Date/15.9.2.2-6: PASS || FAIL |
| 97 | |
| 98 | # 1026139: These date tests fail on arm |
| 99 | ecma/Date/15.9.5.29-1: PASS || ($ARM && FAIL) |
| 100 | ecma/Date/15.9.5.34-1: PASS || ($ARM && FAIL) |
| 101 | ecma/Date/15.9.5.28-1: PASS || ($ARM && FAIL) |
| 102 | |
| 103 | # 1050186: Arm vm is broken; probably unrelated to dates |
| 104 | ecma/Array/15.4.4.5-3: PASS || ($ARM && FAIL) |
| 105 | ecma/Date/15.9.5.22-2: PASS || ($ARM && FAIL) |
| 106 | |
| 107 | # Severely brain-damaged test. Access to local variables must not |
| 108 | # be more than 2.5 times faster than access to global variables? WTF? |
| 109 | js1_5/Regress/regress-169559: PASS || FAIL |
| 110 | |
| 111 | |
| 112 | # Test that rely on specific timezone (not working in Denmark). |
| 113 | js1_5/Regress/regress-58116: PASS || FAIL |
| 114 | |
| 115 | |
| 116 | # Flaky random() test. Tests the distribution of calls to Math.random(). |
| 117 | js1_5/Regress/regress-211590: PASS || FAIL |
| 118 | |
| 119 | |
| 120 | # Flaky tests; expect BigO-order computations to yield 1, but the code |
| 121 | # cannot handle outliers. See bug #925864. |
| 122 | ecma_3/RegExp/regress-311414: PASS || FAIL |
| 123 | ecma_3/RegExp/regress-289669: PASS || FAIL |
| 124 | js1_5/String/regress-314890: PASS || FAIL |
| 125 | js1_5/String/regress-56940-01: PASS || FAIL |
| 126 | js1_5/String/regress-56940-02: PASS || FAIL |
| 127 | js1_5/String/regress-157334-01: PASS || FAIL |
| 128 | js1_5/String/regress-322772: PASS || FAIL |
| 129 | js1_5/Array/regress-99120-01: PASS || FAIL |
| 130 | js1_5/Array/regress-99120-02: PASS || FAIL |
| 131 | js1_5/Regress/regress-347306-01: PASS || FAIL |
| 132 | js1_5/Regress/regress-416628: PASS || FAIL |
| 133 | |
| 134 | |
| 135 | # The following two tests assume that daylight savings time starts first Sunday |
| 136 | # in April. This is not true when executing the tests outside California! |
| 137 | # In Denmark the adjustment starts one week earlier!. |
| 138 | # Tests based on shell that use dates in this gap are flaky. |
| 139 | ecma/Date/15.9.5.10-1: PASS || FAIL |
| 140 | ecma/Date/15.9.5.12-1: PASS || FAIL |
| 141 | ecma/Date/15.9.5.14: PASS || FAIL |
| 142 | ecma/Date/15.9.5.34-1: PASS || FAIL |
| 143 | |
| 144 | |
| 145 | # These tests sometimes pass (in particular on Windows). They build up |
| 146 | # a lot of stuff on the stack, which normally causes a stack overflow, |
| 147 | # but sometimes it makes it through? |
| 148 | js1_5/Regress/regress-290575: PASS || FAIL |
| 149 | js1_5/Regress/regress-98901: PASS || FAIL |
| 150 | |
| 151 | |
| 152 | # Tests that sorting arrays of ints is less than 3 times as fast |
| 153 | # as sorting arrays of strings. |
| 154 | js1_5/extensions/regress-371636: PASS || FAIL |
| 155 | |
| 156 | |
| 157 | # Test depends on GC timings. Inherently flaky. |
| 158 | js1_5/GC/regress-383269-01: PASS || FAIL |
| 159 | |
| 160 | |
| 161 | ##################### INCOMPATIBLE TESTS ##################### |
| 162 | |
| 163 | # This section is for tests that fail in both V8 and KJS. Thus they |
| 164 | # have been determined to be incompatible between Mozilla and V8/KJS. |
| 165 | |
| 166 | # Fail because of toLowerCase and toUpperCase conversion. |
| 167 | ecma/String/15.5.4.11-2: FAIL_OK |
| 168 | ecma/String/15.5.4.11-5: FAIL_OK |
| 169 | ecma/String/15.5.4.12-1: FAIL_OK |
| 170 | ecma/String/15.5.4.12-4: FAIL_OK |
| 171 | |
| 172 | # This test uses an older version of the unicode standard that fails |
| 173 | # us because we correctly convert the armenian small ligature ech-yiwn |
| 174 | # to the two upper-case characters ECH and YIWN, whereas the older |
| 175 | # unicode version converts it to itself. |
| 176 | ecma/String/15.5.4.12-5: FAIL_OK |
| 177 | |
| 178 | # Creates a linked list of arrays until we run out of memory. |
| 179 | js1_5/Regress/regress-312588: FAIL_OK |
| 180 | |
| 181 | |
| 182 | # Runs out of memory because it compiles huge functions. |
| 183 | js1_5/Function/regress-338001: FAIL_OK |
| 184 | js1_5/Function/regress-338121-01: FAIL_OK |
| 185 | js1_5/Function/regress-338121-02: FAIL_OK |
| 186 | js1_5/Function/regress-338121-03: FAIL_OK |
| 187 | |
| 188 | |
| 189 | # Length of objects whose prototype chain includes a function |
| 190 | ecma_3/Function/regress-313570: FAIL_OK |
| 191 | |
| 192 | |
| 193 | #:=== RegExp:=== |
| 194 | # To be compatible with KJS we silently ignore flags that do not make |
| 195 | # sense. This test expects us to throw exceptions. |
| 196 | ecma_3/RegExp/regress-57631: FAIL_OK |
| 197 | |
| 198 | # PCRE doesn't allow subpattern nesting deeper than 200, this tests |
| 199 | # depth 500. KJS detects the case, and return null from the match, |
| 200 | # and passes this test (the test doesn't check for a correct return |
| 201 | # value). |
| 202 | ecma_3/RegExp/regress-119909: FAIL_OK |
| 203 | |
| 204 | |
| 205 | # Difference in the way capturing subpatterns work. In JS, when the |
| 206 | # 'minimum repeat count' is reached, the empty string must not match. |
| 207 | # In this case, we are similar but not identical to KJS. Hard to |
| 208 | # support the JS behavior with PCRE, so maybe emulate KJS? |
| 209 | # |
| 210 | # Note: We do not support toSource currently so we cannot run this |
| 211 | # test. We should make an isolated test case for the regexp issue. |
| 212 | ecma_3/RegExp/regress-209919: FAIL_OK |
| 213 | |
| 214 | |
| 215 | # PCRE's match limit is reached. SpiderMonkey hangs on the first one, |
| 216 | # KJS returns true somehow. Maybe they up the match limit? There is |
| 217 | # an open V8 bug 676063 about this. |
| 218 | ecma_3/RegExp/regress-330684: FAIL_OK |
| 219 | |
| 220 | |
| 221 | # We do not detect overflow in bounds for back references and {} |
| 222 | # quantifiers. Might fix by parsing numbers differently? |
| 223 | js1_5/Regress/regress-230216-2: FAIL_OK |
| 224 | |
| 225 | |
| 226 | # According to ECMA-262, \b is a 'word' boundary, where words are only |
| 227 | # ASCII characters. PCRE supports non-ASCII word characters. |
| 228 | js1_5/Regress/regress-247179: FAIL_OK |
| 229 | |
| 230 | |
| 231 | # Regexp too long for PCRE. |
| 232 | js1_5/Regress/regress-280769: FAIL_OK |
| 233 | js1_5/Regress/regress-280769-1: FAIL_OK |
| 234 | js1_5/Regress/regress-280769-2: FAIL_OK |
| 235 | js1_5/Regress/regress-280769-4: FAIL_OK |
| 236 | js1_5/Regress/regress-280769-5: FAIL_OK |
| 237 | |
| 238 | |
| 239 | # We do not support static RegExp.multiline - should we?. |
| 240 | js1_2/regexp/RegExp_multiline: FAIL_OK |
| 241 | js1_2/regexp/RegExp_multiline_as_array: FAIL_OK |
| 242 | js1_2/regexp/beginLine: FAIL_OK |
| 243 | js1_2/regexp/endLine: FAIL_OK |
| 244 | |
| 245 | |
| 246 | # Date trouble? |
| 247 | js1_5/Date/regress-301738-02: FAIL_OK |
| 248 | |
| 249 | |
| 250 | # This test fails for all browsers on in the CET timezone. |
| 251 | ecma/Date/15.9.5.35-1: PASS || FAIL_OK |
| 252 | |
| 253 | |
| 254 | # Spidermonkey allows stuff in parenthesis directly after the minutes |
| 255 | # in a date. KJS does not, so we don't either. |
| 256 | js1_5/Date/regress-309925-02: FAIL_OK |
| 257 | |
| 258 | |
| 259 | # Print string after deleting array element? |
| 260 | js1_5/Expressions/regress-96526-delelem: FAIL_OK |
| 261 | |
| 262 | |
| 263 | # Stack overflows should be InternalError: too much recursion? |
| 264 | js1_5/Regress/regress-234389: FAIL_OK |
| 265 | |
| 266 | |
| 267 | # This may very well be a bogus test. I'm not sure yet. |
| 268 | js1_5/Regress/regress-320119: FAIL_OK |
| 269 | |
| 270 | |
| 271 | # We do not support explicit global evals through <global>.eval(...). |
| 272 | js1_5/Regress/regress-68498-003: FAIL_OK |
| 273 | |
| 274 | |
| 275 | # No support for toSource(). |
| 276 | js1_5/Regress/regress-248444: FAIL_OK |
| 277 | js1_5/Regress/regress-313967-01: FAIL_OK |
| 278 | js1_5/Regress/regress-313967-02: FAIL_OK |
| 279 | |
| 280 | # This fails because we don't have stack space for Function.prototype.apply |
| 281 | # with very large numbers of arguments. The test uses 2^24 arguments. |
| 282 | js1_5/Array/regress-350256-03: FAIL_OK |
| 283 | |
| 284 | |
| 285 | # Extra arguments not handled properly in String.prototype.match |
| 286 | js1_5/Regress/regress-179524: FAIL_OK |
| 287 | |
| 288 | |
| 289 | # Uncategorized failures. Please help categorize (or fix) these failures. |
| 290 | js1_5/Regress/regress-172699: FAIL_OK |
| 291 | |
| 292 | |
| 293 | # Calls regexp objects with function call syntax; non-ECMA behavior. |
| 294 | js1_2/Objects/toString-001: FAIL_OK |
| 295 | |
| 296 | |
| 297 | # Assumes that the prototype of a function is enumerable. Non-ECMA, |
| 298 | # see section 15.3.3.1, page 86. |
| 299 | ecma/GlobalObject/15.1.2.2-1: FAIL_OK |
| 300 | ecma/GlobalObject/15.1.2.3-1: FAIL_OK |
| 301 | ecma/GlobalObject/15.1.2.4: FAIL_OK |
| 302 | ecma/GlobalObject/15.1.2.5-1: FAIL_OK |
| 303 | ecma/GlobalObject/15.1.2.6: FAIL_OK |
| 304 | ecma/GlobalObject/15.1.2.7: FAIL_OK |
| 305 | |
| 306 | |
| 307 | # Tests that rely on specific details of function decompilation or |
| 308 | # print strings for errors. Non-ECMA behavior. |
| 309 | js1_2/function/tostring-2: FAIL_OK |
| 310 | js1_5/Exceptions/regress-332472: FAIL_OK |
| 311 | js1_5/Regress/regress-173067: FAIL_OK |
| 312 | js1_5/Regress/regress-355556: FAIL_OK |
| 313 | js1_5/Regress/regress-328664: FAIL_OK |
| 314 | js1_5/Regress/regress-252892: FAIL_OK |
| 315 | js1_5/Regress/regress-352208: FAIL_OK |
| 316 | ecma_3/Array/15.4.5.1-01: FAIL_OK |
| 317 | ecma_3/Array/regress-387501: FAIL_OK |
| 318 | ecma_3/LexicalConventions/7.9.1: FAIL_OK |
| 319 | ecma_3/RegExp/regress-375711: FAIL_OK |
| 320 | ecma_3/Unicode/regress-352044-01: FAIL_OK |
| 321 | ecma_3/extensions/regress-274152: FAIL_OK |
| 322 | js1_5/Regress/regress-372364: FAIL_OK |
| 323 | js1_5/Regress/regress-420919: FAIL_OK |
| 324 | js1_5/Regress/regress-422348: FAIL_OK |
| 325 | ecma_3/RegExp/regress-375715-04: FAIL_OK |
| 326 | |
| 327 | |
| 328 | # Uses Mozilla-specific QName, XML, XMLList and Iterator. |
| 329 | js1_5/Regress/regress-407323: FAIL_OK |
| 330 | js1_5/Regress/regress-407957: FAIL_OK |
| 331 | |
| 332 | |
| 333 | # Relies on JavaScript 1.2 / 1.3 deprecated features. |
| 334 | js1_2/function/String: FAIL_OK |
| 335 | js1_2/operator/equality: FAIL_OK |
| 336 | js1_2/version120/boolean-001: FAIL_OK |
| 337 | js1_2/String/concat: FAIL_OK |
| 338 | js1_2/function/Function_object: FAIL_OK |
| 339 | js1_2/function/tostring-1: FAIL_OK |
| 340 | js1_2/version120/regress-99663: FAIL_OK |
| 341 | js1_2/regexp/RegExp_lastIndex: FAIL_OK |
| 342 | js1_2/regexp/string_split: FAIL_OK |
| 343 | |
| 344 | |
| 345 | # We do not check for bad surrogate pairs when quoting strings. |
| 346 | js1_5/Regress/regress-315974: FAIL_OK |
| 347 | |
| 348 | |
| 349 | # Use unsupported "watch". |
| 350 | js1_5/Regress/regress-213482: FAIL_OK |
| 351 | js1_5/Regress/regress-240577: FAIL_OK |
| 352 | js1_5/Regress/regress-355344: FAIL_OK |
| 353 | js1_5/Object/regress-362872-01: FAIL_OK |
| 354 | js1_5/Object/regress-362872-02: FAIL_OK |
| 355 | js1_5/Regress/regress-361467: FAIL_OK |
| 356 | js1_5/Regress/regress-385393-06: FAIL_OK |
| 357 | |
| 358 | |
| 359 | # Use special Mozilla getter/setter syntax |
| 360 | js1_5/Regress/regress-354924: FAIL_OK |
| 361 | js1_5/Regress/regress-355341: FAIL_OK |
| 362 | js1_5/GC/regress-316885-01: FAIL_OK |
| 363 | js1_5/GetSet/getset-002: FAIL_OK |
| 364 | js1_5/GetSet/regress-353264: FAIL_OK |
| 365 | js1_5/Regress/regress-361617: FAIL_OK |
| 366 | js1_5/Regress/regress-362583: FAIL_OK |
| 367 | |
| 368 | |
| 369 | # 'native' *is* a keyword in V8. |
| 370 | js1_5/Regress/regress-240317: FAIL_OK |
| 371 | |
| 372 | |
| 373 | # Requires Mozilla-specific strict mode or options() function. |
| 374 | ecma_3/Object/8.6.1-01: FAIL_OK |
| 375 | js1_5/Exceptions/regress-315147: FAIL_OK |
| 376 | js1_5/Regress/regress-106244: FAIL_OK |
| 377 | js1_5/Regress/regress-317533: FAIL_OK |
| 378 | js1_5/Regress/regress-323314-1: FAIL_OK |
| 379 | js1_5/Regress/regress-352197: FAIL_OK |
| 380 | js1_5/Regress/regress-115436: FAIL_OK |
| 381 | js1_5/Regress/regress-214761: FAIL_OK |
| 382 | js1_5/Regress/regress-253150: FAIL_OK |
| 383 | js1_5/Regress/regress-306727: FAIL_OK |
| 384 | js1_5/Regress/regress-308566: FAIL_OK |
| 385 | js1_5/Regress/regress-312260: FAIL_OK |
| 386 | js1_5/Regress/regress-322430: FAIL_OK |
| 387 | js1_5/Regress/regress-383674: FAIL_OK |
| 388 | |
| 389 | |
| 390 | # Equivalent to assert(false). |
| 391 | ecma_2/RegExp/exec-001: FAIL_OK |
| 392 | ecma_2/String/replace-001: FAIL_OK |
| 393 | |
| 394 | |
| 395 | # We do not strip unicode format control characters. This is really |
| 396 | # required for working with non-latin character sets. We match KJS |
| 397 | # and IE here. Firefox matches the spec (section 7.1). |
| 398 | ecma_3/Unicode/uc-001: FAIL_OK |
| 399 | |
| 400 | |
| 401 | # A non-breaking space doesn't match \s in a regular expression. This behaviour |
| 402 | # matches KJS. All the VMs have different behaviours in which characters match |
| 403 | # \s so we do the same as KJS until they change. |
| 404 | ecma_3/Unicode/uc-002: FAIL_OK |
| 405 | |
| 406 | |
| 407 | # String.prototype.split on empty strings always returns an array |
| 408 | # with one element (as specified in ECMA-262). |
| 409 | js1_2/Array/array_split_1: FAIL_OK |
| 410 | |
| 411 | |
| 412 | # The concat() method is defined in Array.prototype; not Array. |
| 413 | js1_5/Array/regress-313153: FAIL_OK |
| 414 | |
| 415 | |
| 416 | # Properties stack, fileName, and lineNumber of Error instances are |
| 417 | # not supported. Mozilla specific extension. |
| 418 | js1_5/Exceptions/errstack-001: FAIL_OK |
| 419 | js1_5/Exceptions/regress-257751: FAIL_OK |
| 420 | js1_5/Regress/regress-119719: FAIL_OK |
| 421 | js1_5/Regress/regress-139316: FAIL_OK |
| 422 | js1_5/Regress/regress-167328: FAIL_OK |
| 423 | js1_5/Regress/regress-243869: FAIL_OK |
| 424 | |
| 425 | |
| 426 | # Unsupported import/export and <xml> literals. Mozilla extensions. |
| 427 | js1_5/Regress/regress-249211: FAIL_OK |
| 428 | js1_5/Regress/regress-309242: FAIL_OK |
| 429 | js1_5/Regress/regress-350692: FAIL_OK |
| 430 | |
| 431 | |
| 432 | # The length of Error functions is 1 not 3. |
| 433 | js1_5/Exceptions/regress-123002: FAIL_OK |
| 434 | |
| 435 | |
| 436 | # Reserved keywords as function names, etc is not supported. |
| 437 | js1_5/LexicalConventions/regress-343675: FAIL_OK |
| 438 | |
| 439 | |
| 440 | # Unsupported list comprehensions: [ ... for ... ] and for each. |
| 441 | js1_5/Regress/regress-352009: FAIL_OK |
| 442 | js1_5/Regress/regress-349648: FAIL_OK |
| 443 | |
| 444 | |
| 445 | # Expects top level arguments (passed on command line?) to be |
| 446 | # the empty string? |
| 447 | js1_5/Regress/regress-336100: FAIL_OK |
| 448 | |
| 449 | |
| 450 | # Regular expression test failures due to PCRE. We match KJS (ie, perl) |
| 451 | # behavior and not the ECMA spec. |
| 452 | ecma_3/RegExp/15.10.2-1: FAIL_OK |
| 453 | ecma_3/RegExp/perlstress-001: FAIL_OK |
| 454 | ecma_3/RegExp/regress-334158: FAIL_OK |
| 455 | |
| 456 | |
| 457 | # This test requires a failure if we try to compile a function with more |
| 458 | # than 65536 arguments. This seems to be a Mozilla restriction. |
| 459 | js1_5/Regress/regress-290575: FAIL_OK |
| 460 | |
| 461 | |
| 462 | # Fails because of the way function declarations are |
| 463 | # handled in V8/KJS. V8 follows IE behavior and introduce |
| 464 | # all nested function declarations when entering the |
| 465 | # surrounding function, whereas Spidermonkey declares |
| 466 | # them dynamically when the statement is executed. |
| 467 | ecma_3/Function/scope-001: FAIL_OK |
| 468 | ecma_3/FunExpr/fe-001: FAIL_OK |
| 469 | js1_5/Scope/regress-184107: FAIL_OK |
| 470 | |
| 471 | |
| 472 | # Function is deletable in V8 and KJS. |
| 473 | js1_5/Regress/regress-352604: FAIL_OK |
| 474 | |
| 475 | |
| 476 | # Cannot call strings as functions. Expects not to crash. |
| 477 | js1_5/Regress/regress-417893: FAIL_OK |
| 478 | |
| 479 | |
| 480 | |
| 481 | ##################### FAILING TESTS ##################### |
| 482 | |
| 483 | # This section is for tests that fail in V8 and pass in KJS. |
| 484 | # Tests that fail in both V8 and KJS belong in the FAIL_OK |
| 485 | # category. |
| 486 | |
| 487 | # This fails because we don't handle Function.prototype.apply with very large |
| 488 | # numbers of arguments (depending on max stack size). 350256-02 needs more than |
| 489 | # 4Mbytes of stack space. |
| 490 | js1_5/Array/regress-350256-02: FAIL |
| 491 | |
| 492 | |
| 493 | # This fails because 'delete arguments[i]' does not disconnect the |
| 494 | # argument from the arguments array. See issue #900066. |
| 495 | ecma_3/Function/regress-137181: FAIL |
| 496 | |
| 497 | |
| 498 | # Calls regexp objects with function call syntax; non-ECMA behavior. |
| 499 | ecma_2/RegExp/regress-001: FAIL |
| 500 | js1_2/regexp/regress-6359: FAIL |
| 501 | js1_2/regexp/regress-9141: FAIL |
| 502 | js1_5/Regress/regress-224956: FAIL |
| 503 | js1_5/Regress/regress-325925: FAIL |
| 504 | js1_2/regexp/simple_form: FAIL |
| 505 | |
| 506 | |
| 507 | # Tests that rely on specific details of function decompilation or |
| 508 | # print strings for errors. Non-ECMA behavior. |
| 509 | js1_4/Regress/function-003: FAIL |
| 510 | |
| 511 | |
| 512 | # Relies on JavaScript 1.2 / 1.3 deprecated features. |
| 513 | js1_2/function/regexparg-1: FAIL |
| 514 | |
| 515 | |
| 516 | # 'export' and 'import' are not keywords in V8. |
| 517 | ecma_2/Exceptions/lexical-010: FAIL |
| 518 | ecma_2/Exceptions/lexical-022: FAIL |
| 519 | |
| 520 | |
| 521 | # Requires Mozilla-specific strict mode. |
| 522 | ecma_2/Exceptions/lexical-011: FAIL |
| 523 | ecma_2/Exceptions/lexical-014: FAIL |
| 524 | ecma_2/Exceptions/lexical-016: FAIL |
| 525 | ecma_2/Exceptions/lexical-021: FAIL |
| 526 | ecma_2/LexicalConventions/keywords-001: FAIL |
| 527 | js1_5/Regress/regress-306633: FAIL |
| 528 | |
| 529 | |
| 530 | # This test seems designed to fail (it produces a 700Mbyte string). |
| 531 | # We fail on out of memory. The important thing is not to crash. |
| 532 | js1_5/Regress/regress-303213: FAIL |
| 533 | |
| 534 | |
| 535 | # Bug 1193440: Ignore Unicode BOM characters when scanning. |
| 536 | ecma_3/extensions/regress-368516: FAIL |
| 537 | |
| 538 | # Bug 1202592:New ecma_3/String/15.5.4.11 is failing. |
| 539 | ecma_3/String/15.5.4.11: FAIL |
| 540 | |
| 541 | # Bug 1202597: New js1_5/Expressions/regress-394673 is failing. |
| 542 | # Marked as: Will not fix. V8 throws an acceptable RangeError. |
| 543 | js1_5/Expressions/regress-394673: FAIL |
| 544 | |
| 545 | # Bug 1202598: New mozilla test js1_5/Regress/regress-383682 fails. |
| 546 | js1_5/Regress/regress-383682: FAIL |
| 547 | |
| 548 | |
| 549 | ##################### MOZILLA EXTENSION TESTS ##################### |
| 550 | |
| 551 | ecma/extensions/15.1.2.1-1: FAIL_OK |
| 552 | ecma_3/extensions/regress-385393-03: FAIL_OK |
| 553 | ecma_3/extensions/7.9.1: FAIL_OK |
| 554 | js1_5/extensions/catchguard-001: FAIL_OK |
| 555 | js1_5/extensions/catchguard-002: FAIL_OK |
| 556 | js1_5/extensions/catchguard-003: FAIL_OK |
| 557 | js1_5/extensions/getset-001: FAIL_OK |
| 558 | js1_5/extensions/getset-003: FAIL_OK |
| 559 | js1_5/extensions/no-such-method: FAIL_OK |
| 560 | js1_5/extensions/regress-104077: FAIL_OK |
| 561 | js1_5/extensions/regress-226078: FAIL_OK |
| 562 | js1_5/extensions/regress-303277: FAIL_OK |
| 563 | js1_5/extensions/regress-304897: FAIL_OK |
| 564 | js1_5/extensions/regress-306738: FAIL_OK |
| 565 | js1_5/extensions/regress-311161: FAIL_OK |
| 566 | js1_5/extensions/regress-311583: FAIL_OK |
| 567 | js1_5/extensions/regress-311792-01: FAIL_OK |
| 568 | js1_5/extensions/regress-312278: FAIL_OK |
| 569 | js1_5/extensions/regress-313630: FAIL_OK |
| 570 | js1_5/extensions/regress-313763: FAIL_OK |
| 571 | js1_5/extensions/regress-313803: FAIL_OK |
| 572 | js1_5/extensions/regress-314874: FAIL_OK |
| 573 | js1_5/extensions/regress-322957: FAIL_OK |
| 574 | js1_5/extensions/regress-328556: FAIL_OK |
| 575 | js1_5/extensions/regress-330569: FAIL_OK |
| 576 | js1_5/extensions/regress-333541: FAIL_OK |
| 577 | js1_5/extensions/regress-335700: FAIL_OK |
| 578 | js1_5/extensions/regress-336409-1: FAIL_OK |
| 579 | js1_5/extensions/regress-336409-2: FAIL_OK |
| 580 | js1_5/extensions/regress-336410-1: FAIL_OK |
| 581 | js1_5/extensions/regress-336410-2: FAIL_OK |
| 582 | js1_5/extensions/regress-341956-01: FAIL_OK |
| 583 | js1_5/extensions/regress-341956-02: FAIL_OK |
| 584 | js1_5/extensions/regress-341956-03: FAIL_OK |
| 585 | js1_5/extensions/regress-342960: FAIL_OK |
| 586 | js1_5/extensions/regress-345967: FAIL_OK |
| 587 | js1_5/extensions/regress-346494-01: FAIL_OK |
| 588 | js1_5/extensions/regress-346494: FAIL_OK |
| 589 | js1_5/extensions/regress-347306-02: FAIL_OK |
| 590 | js1_5/extensions/regress-348986: FAIL_OK |
| 591 | js1_5/extensions/regress-349616: FAIL_OK |
| 592 | js1_5/extensions/regress-350312-02: FAIL_OK |
| 593 | js1_5/extensions/regress-350312-03: FAIL_OK |
| 594 | js1_5/extensions/regress-350531: FAIL_OK |
| 595 | js1_5/extensions/regress-351102-01: FAIL_OK |
| 596 | js1_5/extensions/regress-351102-02: FAIL_OK |
| 597 | js1_5/extensions/regress-351102-06: FAIL_OK |
| 598 | js1_5/extensions/regress-351448: FAIL_OK |
| 599 | js1_5/extensions/regress-351973: FAIL_OK |
| 600 | js1_5/extensions/regress-352060: FAIL_OK |
| 601 | js1_5/extensions/regress-352094: FAIL_OK |
| 602 | js1_5/extensions/regress-352261: FAIL_OK |
| 603 | js1_5/extensions/regress-352281: FAIL_OK |
| 604 | js1_5/extensions/regress-352372: FAIL_OK |
| 605 | js1_5/extensions/regress-352455: FAIL_OK |
| 606 | js1_5/extensions/regress-352604: FAIL_OK |
| 607 | js1_5/extensions/regress-353214: FAIL_OK |
| 608 | js1_5/extensions/regress-355339: FAIL_OK |
| 609 | js1_5/extensions/regress-355497: FAIL_OK |
| 610 | js1_5/extensions/regress-355622: FAIL_OK |
| 611 | js1_5/extensions/regress-355736: FAIL_OK |
| 612 | js1_5/extensions/regress-356085: FAIL_OK |
| 613 | js1_5/extensions/regress-356106: FAIL_OK |
| 614 | js1_5/extensions/regress-358594-01: FAIL_OK |
| 615 | js1_5/extensions/regress-358594-02: FAIL_OK |
| 616 | js1_5/extensions/regress-358594-03: FAIL_OK |
| 617 | js1_5/extensions/regress-358594-04: FAIL_OK |
| 618 | js1_5/extensions/regress-358594-05: FAIL_OK |
| 619 | js1_5/extensions/regress-358594-06: FAIL_OK |
| 620 | js1_5/extensions/regress-361346: FAIL_OK |
| 621 | js1_5/extensions/regress-361360: FAIL_OK |
| 622 | js1_5/extensions/regress-361558: FAIL_OK |
| 623 | js1_5/extensions/regress-361571: FAIL_OK |
| 624 | js1_5/extensions/regress-361856: FAIL_OK |
| 625 | js1_5/extensions/regress-361964: FAIL_OK |
| 626 | js1_5/extensions/regress-363988: FAIL_OK |
| 627 | js1_5/extensions/regress-365869: FAIL_OK |
| 628 | js1_5/extensions/regress-367630: FAIL_OK |
| 629 | js1_5/extensions/regress-367923: FAIL_OK |
| 630 | js1_5/extensions/regress-368859: FAIL_OK |
| 631 | js1_5/extensions/regress-374589: FAIL_OK |
| 632 | js1_5/extensions/regress-375801: FAIL_OK |
| 633 | js1_5/extensions/regress-376052: FAIL_OK |
| 634 | js1_5/extensions/regress-379523: FAIL_OK |
| 635 | js1_5/extensions/regress-380581: FAIL_OK |
| 636 | js1_5/extensions/regress-380831: FAIL_OK |
| 637 | js1_5/extensions/regress-381205: FAIL_OK |
| 638 | js1_5/extensions/regress-381211: FAIL_OK |
| 639 | js1_5/extensions/regress-381304: FAIL_OK |
| 640 | js1_5/extensions/regress-382509: FAIL_OK |
| 641 | js1_5/extensions/regress-383965: FAIL_OK |
| 642 | js1_5/extensions/regress-384680: FAIL_OK |
| 643 | js1_5/extensions/regress-385393-09: FAIL_OK |
| 644 | js1_5/extensions/regress-407501: FAIL_OK |
| 645 | js1_5/extensions/regress-418730: FAIL_OK |
| 646 | js1_5/extensions/regress-420612: FAIL_OK |
| 647 | js1_5/extensions/regress-420869-01: FAIL_OK |
| 648 | js1_5/extensions/regress-424257: FAIL_OK |
| 649 | js1_5/extensions/regress-424683-01: FAIL_OK |
| 650 | js1_5/extensions/regress-44009: FAIL_OK |
| 651 | js1_5/extensions/regress-50447-1: FAIL_OK |
| 652 | js1_5/extensions/regress-50447: FAIL_OK |
| 653 | js1_5/extensions/regress-90596-001: FAIL_OK |
| 654 | js1_5/extensions/regress-90596-002: FAIL_OK |
| 655 | js1_5/extensions/regress-96284-001: FAIL_OK |
| 656 | js1_5/extensions/regress-96284-002: FAIL_OK |
| 657 | js1_5/extensions/scope-001: FAIL_OK |
| 658 | js1_5/extensions/toLocaleFormat-01: FAIL_OK |
| 659 | js1_5/extensions/toLocaleFormat-02: FAIL_OK |
| 660 | |
| 661 | |
| 662 | ##################### DECOMPILATION TESTS ##################### |
| 663 | |
| 664 | # We don't really about the outcome of running the |
| 665 | # decompilation tests as long as they don't crash or |
| 666 | # timeout. |
| 667 | |
| 668 | js1_5/decompilation/regress-344120: PASS || FAIL |
| 669 | js1_5/decompilation/regress-346892: PASS || FAIL |
| 670 | js1_5/decompilation/regress-346902: PASS || FAIL |
| 671 | js1_5/decompilation/regress-346904: PASS || FAIL |
| 672 | js1_5/decompilation/regress-346915: PASS || FAIL |
| 673 | js1_5/decompilation/regress-349484: PASS || FAIL |
| 674 | js1_5/decompilation/regress-349489: PASS || FAIL |
| 675 | js1_5/decompilation/regress-349491: PASS || FAIL |
| 676 | js1_5/decompilation/regress-349596: PASS || FAIL |
| 677 | js1_5/decompilation/regress-349650: PASS || FAIL |
| 678 | js1_5/decompilation/regress-349663: PASS || FAIL |
| 679 | js1_5/decompilation/regress-350242: PASS || FAIL |
| 680 | js1_5/decompilation/regress-350263: PASS || FAIL |
| 681 | js1_5/decompilation/regress-350271: PASS || FAIL |
| 682 | js1_5/decompilation/regress-350666: PASS || FAIL |
| 683 | js1_5/decompilation/regress-350670: PASS || FAIL |
| 684 | js1_5/decompilation/regress-351104: PASS || FAIL |
| 685 | js1_5/decompilation/regress-351219: PASS || FAIL |
| 686 | js1_5/decompilation/regress-351336: PASS || FAIL |
| 687 | js1_5/decompilation/regress-351597: PASS || FAIL |
| 688 | js1_5/decompilation/regress-351625: PASS || FAIL |
| 689 | js1_5/decompilation/regress-351626: PASS || FAIL |
| 690 | js1_5/decompilation/regress-351693: PASS || FAIL |
| 691 | js1_5/decompilation/regress-351705: PASS || FAIL |
| 692 | js1_5/decompilation/regress-351793: PASS || FAIL |
| 693 | js1_5/decompilation/regress-352013: PASS || FAIL |
| 694 | js1_5/decompilation/regress-352022: PASS || FAIL |
| 695 | js1_5/decompilation/regress-352073: PASS || FAIL |
| 696 | js1_5/decompilation/regress-352202: PASS || FAIL |
| 697 | js1_5/decompilation/regress-352312: PASS || FAIL |
| 698 | js1_5/decompilation/regress-352360: PASS || FAIL |
| 699 | js1_5/decompilation/regress-352375: PASS || FAIL |
| 700 | js1_5/decompilation/regress-352453: PASS || FAIL |
| 701 | js1_5/decompilation/regress-352649: PASS || FAIL |
| 702 | js1_5/decompilation/regress-352873-01: PASS || FAIL |
| 703 | js1_5/decompilation/regress-352873-02: PASS || FAIL |
| 704 | js1_5/decompilation/regress-353000: PASS || FAIL |
| 705 | js1_5/decompilation/regress-353120: PASS || FAIL |
| 706 | js1_5/decompilation/regress-353146: PASS || FAIL |
| 707 | js1_5/decompilation/regress-354878: PASS || FAIL |
| 708 | js1_5/decompilation/regress-354910: PASS || FAIL |
| 709 | js1_5/decompilation/regress-355992: PASS || FAIL |
| 710 | js1_5/decompilation/regress-356083: PASS || FAIL |
| 711 | js1_5/decompilation/regress-356248: PASS || FAIL |
| 712 | js1_5/decompilation/regress-371692: PASS || FAIL |
| 713 | js1_5/decompilation/regress-373678: PASS || FAIL |
| 714 | js1_5/decompilation/regress-375639: PASS || FAIL |
| 715 | js1_5/decompilation/regress-375882: PASS || FAIL |
| 716 | js1_5/decompilation/regress-376564: PASS || FAIL |
| 717 | js1_5/decompilation/regress-383721: PASS || FAIL |
| 718 | js1_5/decompilation/regress-406555: PASS || FAIL |
| 719 | |
| 720 | |
| 721 | [ $FAST == yes ] |
| 722 | |
| 723 | # These tests take an unreasonable amount of time so we skip them |
| 724 | # in fast mode. |
| 725 | |
| 726 | js1_5/Regress/regress-312588: SKIP |
| 727 | js1_5/Regress/regress-271716-n: SKIP |
| 728 | |
| 729 | [ $FAST == yes && $ARCH == arm ] |
| 730 | |
| 731 | # In fast mode on arm we try to skip all tests that would time out, |
| 732 | # since running the tests takes so long in the first place. |
| 733 | |
| 734 | js1_5/Regress/regress-280769-2: SKIP |
| 735 | js1_5/Regress/regress-280769-3: SKIP |
| 736 | js1_5/Regress/regress-244470: SKIP |
| 737 | js1_5/Regress/regress-203278-1: SKIP |
| 738 | js1_5/Regress/regress-290575: SKIP |
| 739 | js1_5/Regress/regress-159334: SKIP |
| 740 | js1_5/Regress/regress-321971: SKIP |
| 741 | js1_5/Regress/regress-347306-01: SKIP |
| 742 | js1_5/Regress/regress-280769-1: SKIP |
| 743 | js1_5/Regress/regress-280769-5: SKIP |
| 744 | js1_5/GC/regress-306788: SKIP |
| 745 | js1_5/GC/regress-203278-2: SKIP |
| 746 | js1_5/GC/regress-278725: SKIP |
| 747 | js1_5/GC/regress-203278-3: SKIP |
| 748 | js1_5/GC/regress-311497: SKIP |
| 749 | js1_5/Array/regress-99120-02: SKIP |
| 750 | ecma/Date/15.9.5.22-1: SKIP |
| 751 | ecma/Date/15.9.5.20: SKIP |
| 752 | ecma/Date/15.9.5.12-2: SKIP |
| 753 | ecma/Date/15.9.5.8: SKIP |
| 754 | ecma/Date/15.9.5.9: SKIP |
| 755 | ecma/Date/15.9.5.10-2: SKIP |
| 756 | ecma/Date/15.9.5.11-2: SKIP |
| 757 | ecma/Expressions/11.7.2: SKIP |
| 758 | ecma/Expressions/11.10-2: SKIP |
| 759 | ecma/Expressions/11.7.3: SKIP |
| 760 | ecma/Expressions/11.10-3: SKIP |
| 761 | ecma/Expressions/11.7.1: SKIP |
| 762 | ecma_3/RegExp/regress-209067: SKIP |