1 # Copyright 2012 the V8 project authors. 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 [ALWAYS, { 30 # All tests in the bug directory are expected to fail. 31 'bugs/*': [FAIL], 32 33 ############################################################################## 34 # Flaky tests. 35 # BUG(v8:2921). 36 'debug-step-4-in-frame': [PASS, FAIL, SLOW], 37 38 ############################################################################## 39 # Fails. 40 'regress/regress-1119': [FAIL], 41 42 # Issue 1719: Slow to collect arrays over several contexts. 43 'regress/regress-524': [SKIP], 44 # When that bug is fixed, revert the expectation to: 45 # Skip long running test in debug and allow it to timeout in release mode. 46 # regress/regress-524: [PASS, TIMEOUT, ['mode == debug', SKIP]], 47 48 # This test non-deterministically runs out of memory on Windows ia32. 49 'regress/regress-crbug-160010': [SKIP], 50 51 # Issue 3389: deopt_every_n_garbage_collections is unsafe 52 'regress/regress-2653': [SKIP], 53 54 ############################################################################## 55 # Too slow in debug mode with --stress-opt mode. 56 'compiler/regress-stacktrace-methods': [PASS, ['mode == debug', SKIP]], 57 'compiler/regress-funcaller': [PASS, ['mode == debug', SKIP]], 58 'regress/regress-2318': [PASS, ['mode == debug', SKIP]], 59 'regress/regress-create-exception': [PASS, ['mode == debug', SKIP]], 60 61 ############################################################################## 62 # Too slow in debug mode for GC stress mode. 63 'regress/regress-crbug-217858': [PASS, ['mode == debug', SKIP]], 64 65 ############################################################################## 66 # Only regexp stuff tested, no need for extensive Crankshaft tests. 67 'regexp-global': [PASS, NO_VARIANTS], 68 69 ############################################################################## 70 # No need to waste time for this test. 71 'd8-performance-now': [PASS, NO_VARIANTS], 72 73 ############################################################################## 74 'big-object-literal': [PASS, ['arch == arm or arch == android_arm or arch == android_arm64', SKIP]], 75 76 # Issue 488: this test sometimes times out. 77 'array-constructor': [PASS, TIMEOUT], 78 79 # Very slow on ARM and MIPS, contains no architecture dependent code. 80 'unicode-case-overoptimization': [PASS, NO_VARIANTS, ['arch == arm or arch == android_arm or arch == android_arm64 or arch == mipsel or arch == mips', TIMEOUT]], 81 82 ############################################################################## 83 # This test expects to reach a certain recursion depth, which may not work 84 # for debug mode. 85 'json-recursive': [PASS, ['mode == debug', PASS, FAIL]], 86 87 ############################################################################## 88 # Skip long running tests that time out in debug mode. 89 'generated-transition-stub': [PASS, ['mode == debug', SKIP]], 90 91 ############################################################################## 92 # This test sets the umask on a per-process basis and hence cannot be 93 # used in multi-threaded runs. 94 # On android there is no /tmp directory. 95 # Currently d8-os generates a temporary directory name using Math.random(), so 96 # we cannot run several variants of d8-os simultaneously, since all of them 97 # get the same random seed and would generate the same directory name. Besides 98 # that, it doesn't make sense to run several variants of d8-os anyways. 99 'd8-os': [PASS, NO_VARIANTS, ['isolates or arch == android_arm or arch == android_arm64 or arch == android_ia32', SKIP]], 100 'tools/tickprocessor': [PASS, ['arch == android_arm or arch == android_arm64 or arch == android_ia32', SKIP]], 101 102 ############################################################################## 103 # Long running test that reproduces memory leak and should be run manually. 104 'regress/regress-2073': [SKIP], 105 106 ############################################################################## 107 # Tests verifying CHECK and ASSERT. 108 'verify-check-false': [FAIL, NO_VARIANTS], 109 'verify-assert-false': [NO_VARIANTS, ['mode == release', PASS], ['mode == debug', FAIL]], 110 111 ############################################################################## 112 # Tests with different versions for release and debug. 113 'compiler/alloc-number': [PASS, ['mode == debug', SKIP]], 114 'compiler/alloc-number-debug': [PASS, ['mode == release', SKIP]], 115 'regress/regress-634': [PASS, ['mode == debug', SKIP]], 116 'regress/regress-634-debug': [PASS, ['mode == release', SKIP]], 117 118 # BUG(336820). TODO(bmeurer): Investigate. 119 'regress/regress-336820': [PASS, FAIL], 120 121 # BUG(v8:2989). PASS/FAIL on linux32 because crankshaft is turned off for 122 # nosse2. Also for arm novfp3. 123 'regress/regress-2989': [FAIL, NO_VARIANTS, ['system == linux and arch == x87 or arch == arm and simulator == True', PASS]], 124 125 # Skip endain dependent test for mips due to different typed views of the same 126 # array buffer. 127 'nans': [PASS, ['arch == mips', SKIP]], 128 129 }], # ALWAYS 130 131 ############################################################################## 132 ['gc_stress == True', { 133 # Skip tests not suitable for GC stress. 134 'allocation-site-info': [SKIP], 135 'array-constructor-feedback': [SKIP], 136 'array-feedback': [SKIP], 137 'array-literal-feedback': [SKIP], 138 'd8-performance-now': [SKIP], 139 'elements-kind': [SKIP], 140 'fast-prototype': [SKIP], 141 'opt-elements-kind': [SKIP], 142 'osr-elements-kind': [SKIP], 143 'regress/regress-165637': [SKIP], 144 'regress/regress-2249': [SKIP], 145 'debug-stepout-scope-part8': [PASS, ['arch == arm ', FAIL]], 146 }], # 'gc_stress == True' 147 148 ############################################################################## 149 ['no_i18n', { 150 # Don't call runtime functions that don't exist without i18n support. 151 'runtime-gen/availablelocalesof': [SKIP], 152 'runtime-gen/breakiteratoradopttext': [SKIP], 153 'runtime-gen/breakiteratorbreaktype': [SKIP], 154 'runtime-gen/breakiteratorbreaktype': [SKIP], 155 'runtime-gen/breakiteratorcurrent': [SKIP], 156 'runtime-gen/breakiteratorfirst': [SKIP], 157 'runtime-gen/breakiteratornext': [SKIP], 158 'runtime-gen/canonicalizelanguagetag': [SKIP], 159 'runtime-gen/createbreakiterator': [SKIP], 160 'runtime-gen/createcollator': [SKIP], 161 'runtime-gen/getdefaulticulocale': [SKIP], 162 'runtime-gen/getimplfrominitializedintlobject': [SKIP], 163 'runtime-gen/getlanguagetagvariants': [SKIP], 164 'runtime-gen/internalcompare': [SKIP], 165 'runtime-gen/internaldateformat': [SKIP], 166 'runtime-gen/internaldateparse': [SKIP], 167 'runtime-gen/internalnumberformat': [SKIP], 168 'runtime-gen/internalnumberparse': [SKIP], 169 'runtime-gen/isinitializedintlobject': [SKIP], 170 'runtime-gen/isinitializedintlobjectoftype': [SKIP], 171 'runtime-gen/markasinitializedintlobjectoftype': [SKIP], 172 'runtime-gen/stringnormalize': [SKIP], 173 }], 174 175 ############################################################################## 176 ['arch == arm64 or arch == android_arm64', { 177 178 # Requires bigger stack size in the Genesis and if stack size is increased, 179 # the test requires too much time to run. However, the problem test covers 180 # should be platform-independent. 181 'regress/regress-1132': [SKIP], 182 183 # Pass but take too long to run. Skip. 184 # Some similar tests (with fewer iterations) may be included in arm64-js 185 # tests. 186 'compiler/regress-arguments': [SKIP], 187 'compiler/regress-gvn': [SKIP], 188 'compiler/regress-max-locals-for-osr': [SKIP], 189 'compiler/regress-4': [SKIP], 190 'compiler/regress-or': [SKIP], 191 'compiler/regress-rep-change': [SKIP], 192 'regress/regress-1117': [SKIP], 193 'regress/regress-1145': [SKIP], 194 'regress/regress-1849': [SKIP], 195 'regress/regress-3247124': [SKIP], 196 'regress/regress-634': [SKIP], 197 'regress/regress-91008': [SKIP], 198 'regress/regress-91010': [SKIP], 199 'regress/regress-91013': [SKIP], 200 'regress/regress-99167': [SKIP], 201 202 # Long running tests. 203 'regress/regress-2185': [PASS, ['mode == debug', PASS, TIMEOUT]], 204 'regress/regress-2185-2': [PASS, TIMEOUT], 205 'whitespaces': [PASS, TIMEOUT, SLOW], 206 207 # Stack manipulations in LiveEdit is not implemented for this arch. 208 'debug-liveedit-check-stack': [SKIP], 209 'debug-liveedit-stack-padding': [SKIP], 210 'debug-liveedit-restart-frame': [SKIP], 211 'debug-liveedit-double-call': [SKIP], 212 'harmony/generators-debug-liveedit': [SKIP], 213 214 # BUG(v8:3147). It works on other architectures by accident. 215 'regress/regress-conditional-position': [FAIL], 216 217 # Slow tests. 218 'array-concat': [PASS, SLOW], 219 'array-constructor': [PASS, SLOW], 220 'array-indexing': [PASS, SLOW], 221 'array-reduce': [PASS, SLOW], 222 'array-sort': [PASS, SLOW], 223 'array-splice': [PASS, SLOW], 224 'bit-not': [PASS, SLOW], 225 'compiler/alloc-number': [PASS, SLOW], 226 'compiler/osr-assert': [PASS, SLOW], 227 'compiler/osr-warm': [PASS, SLOW], 228 'compiler/osr-with-args': [PASS, SLOW], 229 'debug-scopes': [PASS, SLOW], 230 'generated-transition-stub': [PASS, SLOW], 231 'json2': [PASS, SLOW], 232 'math-floor-of-div-nosudiv': [PASS, SLOW], 233 'math-floor-of-div': [PASS, SLOW], 234 'mirror-object': [PASS, SLOW], 235 'packed-elements': [PASS, SLOW], 236 'regress/regress-1122': [PASS, SLOW], 237 'regress/regress-2185-2': [PASS, SLOW], 238 'regress/regress-2185': [PASS, SLOW], 239 'regress/regress-2790': [PASS, SLOW], 240 'regress/regress-331444': [PASS, SLOW], 241 'regress/regress-490': [PASS, SLOW], 242 'regress/regress-crbug-217858': [PASS, SLOW], 243 'regress/regress-create-exception': [PASS, SLOW], 244 'regress/regress-json-stringify-gc': [PASS, SLOW], 245 'string-indexof-2': [PASS, SLOW], 246 'unicodelctest-no-optimization': [PASS, SLOW], 247 'unicodelctest': [PASS, SLOW], 248 'unicode-test': [PASS, SLOW], 249 }], # 'arch == arm64' 250 251 ['arch == arm64 and mode == debug and simulator_run == True', { 252 253 # Pass but take too long with the simulator in debug mode. 254 'array-sort': [PASS, TIMEOUT], 255 'packed-elements': [SKIP], 256 'regexp-global': [SKIP], 257 'compiler/alloc-numbers': [SKIP], 258 'harmony/symbols': [SKIP], 259 # Issue 3219: 260 'getters-on-elements': [PASS, ['gc_stress == True', FAIL]], 261 }], # 'arch == arm64 and mode == debug and simulator_run == True' 262 263 ############################################################################## 264 ['asan == True', { 265 # Skip tests not suitable for ASAN. 266 'big-array-literal': [SKIP], 267 'big-object-literal': [SKIP], 268 'regress/regress-crbug-178790': [SKIP], 269 }], # 'asan == True' 270 271 ############################################################################## 272 ['arch == arm or arch == android_arm', { 273 274 # Slow tests which times out in debug mode. 275 'try': [PASS, ['mode == debug', SKIP]], 276 'debug-scripts-request': [PASS, ['mode == debug', SKIP]], 277 'array-constructor': [PASS, ['mode == debug', SKIP]], 278 'regress/regress-1122': [PASS, ['mode == debug and arch == android_arm', SKIP]], 279 280 # Flaky test that can hit compilation-time stack overflow in debug mode. 281 'unicode-test': [PASS, ['mode == debug', PASS, FAIL]], 282 283 # Times out often in release mode on ARM. 284 'compiler/regress-stacktrace-methods': [PASS, ['mode == release', TIMEOUT]], 285 'array-splice': [PASS, TIMEOUT], 286 287 # Long running test. 288 'string-indexof-2': [PASS, TIMEOUT], 289 'mirror-object': [PASS, TIMEOUT], 290 291 # Long running tests. Skipping because having them timeout takes too long on 292 # the buildbot. 293 'compiler/alloc-number': [SKIP], 294 'regress/regress-490': [SKIP], 295 'regress/regress-634': [SKIP], 296 'regress/regress-create-exception': [SKIP], 297 'regress/regress-3247124': [SKIP], 298 299 # Requires bigger stack size in the Genesis and if stack size is increased, 300 # the test requires too much time to run. However, the problem test covers 301 # should be platform-independent. 302 'regress/regress-1132': [SKIP], 303 304 # Stack manipulations in LiveEdit is not implemented for this arch. 305 'debug-liveedit-check-stack': [SKIP], 306 'debug-liveedit-stack-padding': [SKIP], 307 'debug-liveedit-restart-frame': [SKIP], 308 'debug-liveedit-double-call': [SKIP], 309 'harmony/generators-debug-liveedit': [SKIP], 310 311 # Currently always deopt on minus zero 312 'math-floor-of-div-minus-zero': [SKIP], 313 314 ############################################################################ 315 # Slow tests. 316 'regress/regress-2185-2': [PASS, SLOW], 317 'mirror-object': [PASS, SLOW], 318 'compiler/osr-with-args': [PASS, SLOW], 319 'array-sort': [PASS, SLOW], 320 'packed-elements': [PASS, SLOW], 321 'regress/regress-91008': [PASS, SLOW], 322 'regress/regress-2790': [PASS, SLOW], 323 'regress/regress-json-stringify-gc': [PASS, SLOW], 324 'regress/regress-1122': [PASS, SLOW], 325 }], # 'arch == arm or arch == android_arm' 326 327 ############################################################################## 328 ['arch == mipsel or arch == mips', { 329 330 # Slow tests which times out in debug mode. 331 'try': [PASS, ['mode == debug', SKIP]], 332 'debug-scripts-request': [PASS, ['mode == debug', SKIP]], 333 'array-constructor': [PASS, ['mode == debug', SKIP]], 334 335 # Times out often in release mode on MIPS. 336 'compiler/regress-stacktrace-methods': [PASS, ['mode == release', TIMEOUT]], 337 'array-splice': [PASS, TIMEOUT], 338 339 # Long running test. 340 'mirror-object': [PASS, TIMEOUT], 341 'string-indexof-2': [PASS, TIMEOUT], 342 343 # Long running tests. Skipping because having them timeout takes too long on 344 # the buildbot. 345 'compiler/alloc-number': [SKIP], 346 'regress/regress-490': [SKIP], 347 'regress/regress-634': [SKIP], 348 'regress/regress-create-exception': [SKIP], 349 'regress/regress-3247124': [SKIP], 350 351 # Requires bigger stack size in the Genesis and if stack size is increased, 352 # the test requires too much time to run. However, the problem test covers 353 # should be platform-independent. 354 'regress/regress-1132': [SKIP], 355 356 # Stack manipulations in LiveEdit is not implemented for this arch. 357 'debug-liveedit-check-stack': [SKIP], 358 'debug-liveedit-stack-padding': [SKIP], 359 'debug-liveedit-restart-frame': [SKIP], 360 'debug-liveedit-double-call': [SKIP], 361 'harmony/generators-debug-liveedit': [SKIP], 362 363 # Currently always deopt on minus zero 364 'math-floor-of-div-minus-zero': [SKIP], 365 }], # 'arch == mipsel or arch == mips' 366 367 ############################################################################## 368 # Native Client uses the ARM simulator so will behave similarly to arm 369 # on mjsunit tests. 370 # TODO(bradchen): enable more tests for NaCl V8 when it stops using 371 # the ARM simulator. 372 ############################################################################## 373 ['arch == nacl_ia32 or arch == nacl_x64', { 374 # There is no /tmp directory for NaCl runs 375 'd8-os': [SKIP], 376 377 # Stack manipulations in LiveEdit is not implemented for this arch. 378 'debug-liveedit-check-stack': [SKIP], 379 'debug-liveedit-stack-padding': [SKIP], 380 'debug-liveedit-restart-frame': [SKIP], 381 'debug-liveedit-double-call': [SKIP], 382 'harmony/generators-debug-liveedit': [SKIP], 383 384 # NaCl builds have problems with this test since Pepper_28. 385 # V8 Issue 2786 386 'math-exp-precision': [SKIP], 387 388 # Requires bigger stack size in the Genesis and if stack size is increased, 389 # the test requires too much time to run. However, the problem test covers 390 # should be platform-independent. 391 'regress/regress-1132': [SKIP], 392 393 # Poor performance for NaCl V8 causes an assertion failure for this test. 394 'regress/regress-165637': [SKIP], 395 396 # Skip long running test that times out in debug mode and goes OOM on NaCl. 397 'regress/regress-crbug-160010': [SKIP], 398 399 # Bug(v8:2978). 400 'lithium/MathExp': [PASS, FAIL], 401 402 # Lead to OOM: 403 'string-oom-*': [SKIP], 404 405 # Crashes. 406 'harmony/private': [SKIP], 407 'harmony/symbols': [SKIP], 408 }], # 'arch == nacl_ia32 or arch == nacl_x64' 409 410 ############################################################################## 411 ['deopt_fuzzer == True', { 412 413 # Skip tests that are not suitable for deoptimization fuzzing. 414 'assert-opt-and-deopt': [SKIP], 415 'never-optimize': [SKIP], 416 'regress/regress-2185-2': [SKIP], 417 'harmony/object-observe': [SKIP], 418 'readonly': [SKIP], 419 'array-feedback': [SKIP], 420 421 # Deopt every n garbage collections collides with deopt every n times. 422 'regress/regress-2653': [SKIP], 423 }], # 'deopt_fuzzer == True' 424 ] 425