ager@chromium.org | c4c9272 | 2009-11-18 14:12:51 +0000 | [diff] [blame] | 1 | # Copyright 2009 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 | prefix sputnik |
| 29 | def FAIL_OK = FAIL, OKAY |
| 30 | |
| 31 | ##################### DELIBERATE INCOMPATIBILITIES ##################### |
| 32 | |
| 33 | # 900066: Deleting elements in .arguments should disconnect the |
| 34 | # element from the actual arguments. Implementing this is nontrivial |
| 35 | # and we have no indication that anything on the web depends on this |
| 36 | # feature. |
| 37 | S13_A13_T1: FAIL_OK |
| 38 | S13_A13_T2: FAIL_OK |
| 39 | S13_A13_T3: FAIL_OK |
| 40 | |
| 41 | # This tests precision of trignometric functions. We're slightly off |
| 42 | # from the implementation in libc (~ 1e-17) but it's not clear if we |
| 43 | # or they are closer to the right answer, or if it even matters. |
| 44 | S15.8.2.16_A7: PASS || FAIL_OK |
| 45 | S15.8.2.18_A7: PASS || FAIL_OK |
| 46 | S15.8.2.13_A23: PASS || FAIL_OK |
| 47 | |
| 48 | # We allow calls to regexp exec() with no arguments to fail for |
| 49 | # compatibility reasons. |
| 50 | S15.10.6.2_A1_T16: FAIL_OK |
| 51 | S15.10.6.3_A1_T16: FAIL_OK |
| 52 | |
ager@chromium.org | c4c9272 | 2009-11-18 14:12:51 +0000 | [diff] [blame] | 53 | # We are silent in some regexp cases where the spec wants us to give |
| 54 | # errors, for compatibility. |
| 55 | S15.10.2.11_A1_T2: FAIL |
| 56 | S15.10.2.11_A1_T3: FAIL |
| 57 | S15.10.4.1_A5_T1: FAIL |
| 58 | S15.10.4.1_A5_T2: FAIL |
| 59 | S15.10.4.1_A5_T3: FAIL |
| 60 | S15.10.4.1_A5_T4: FAIL |
| 61 | S15.10.4.1_A5_T5: FAIL |
| 62 | S15.10.4.1_A5_T6: FAIL |
| 63 | S15.10.4.1_A5_T7: FAIL |
| 64 | S15.10.4.1_A5_T8: FAIL |
| 65 | S15.10.4.1_A5_T9: FAIL |
| 66 | |
| 67 | # We are more lenient in which string character escapes we allow than |
| 68 | # the spec (7.8.4 p. 19) wants us to be. This is for compatibility. |
| 69 | S7.8.4_A4.3_T2: FAIL_OK |
| 70 | S7.8.4_A4.3_T2: FAIL_OK |
| 71 | S7.8.4_A6.2_T2: FAIL_OK |
| 72 | S7.8.4_A6.1_T4: FAIL_OK |
| 73 | S7.8.4_A4.3_T4: FAIL_OK |
| 74 | S7.8.4_A7.2_T2: FAIL_OK |
| 75 | S7.8.4_A7.1_T4: FAIL_OK |
| 76 | S7.8.4_A6.4_T2: FAIL_OK |
| 77 | S7.8.4_A7.4_T2: FAIL_OK |
| 78 | S7.8.4_A7.2_T4: FAIL_OK |
| 79 | S7.8.4_A4.3_T6: FAIL_OK |
| 80 | S7.8.4_A7.2_T6: FAIL_OK |
| 81 | S7.8.4_A4.3_T1: FAIL_OK |
| 82 | S7.8.4_A6.2_T1: FAIL_OK |
| 83 | S7.8.4_A4.3_T3: FAIL_OK |
| 84 | S7.8.4_A7.2_T1: FAIL_OK |
| 85 | S7.8.4_A6.4_T1: FAIL_OK |
| 86 | S7.8.4_A7.2_T3: FAIL_OK |
| 87 | S7.8.4_A7.4_T1: FAIL_OK |
| 88 | S7.8.4_A4.3_T5: FAIL_OK |
| 89 | S7.8.4_A7.2_T5: FAIL_OK |
| 90 | S7.8.4_A4.3_T1: FAIL_OK |
| 91 | S7.8.4_A6.2_T1: FAIL_OK |
| 92 | S7.8.4_A4.3_T3: FAIL_OK |
| 93 | S7.8.4_A7.2_T1: FAIL_OK |
| 94 | S7.8.4_A6.4_T1: FAIL_OK |
| 95 | S7.8.4_A7.2_T3: FAIL_OK |
| 96 | S7.8.4_A7.4_T1: FAIL_OK |
| 97 | S7.8.4_A4.3_T5: FAIL_OK |
| 98 | S7.8.4_A7.2_T5: FAIL_OK |
| 99 | |
| 100 | # We allow some keywords to be used as identifiers |
ager@chromium.org | c4c9272 | 2009-11-18 14:12:51 +0000 | [diff] [blame] | 101 | S7.5.3_A1.26: FAIL_OK |
| 102 | S7.5.3_A1.18: FAIL_OK |
| 103 | S7.5.3_A1.27: FAIL_OK |
ager@chromium.org | c4c9272 | 2009-11-18 14:12:51 +0000 | [diff] [blame] | 104 | S7.5.3_A1.5: FAIL_OK |
ager@chromium.org | c4c9272 | 2009-11-18 14:12:51 +0000 | [diff] [blame] | 105 | S7.5.3_A1.9: FAIL_OK |
| 106 | S7.5.3_A1.10: FAIL_OK |
| 107 | S7.5.3_A1.11: FAIL_OK |
fschneider@chromium.org | 3a5fd78 | 2011-02-24 10:10:44 +0000 | [diff] [blame] | 108 | # native |
| 109 | S7.5.3_A1.20: FAIL_OK |
ager@chromium.org | c4c9272 | 2009-11-18 14:12:51 +0000 | [diff] [blame] | 110 | S7.5.3_A1.21: FAIL_OK |
ager@chromium.org | c4c9272 | 2009-11-18 14:12:51 +0000 | [diff] [blame] | 111 | S7.5.3_A1.22: FAIL_OK |
| 112 | S7.5.3_A1.23: FAIL_OK |
ager@chromium.org | c4c9272 | 2009-11-18 14:12:51 +0000 | [diff] [blame] | 113 | S7.5.3_A1.15: FAIL_OK |
| 114 | S7.5.3_A1.24: FAIL_OK |
ager@chromium.org | c4c9272 | 2009-11-18 14:12:51 +0000 | [diff] [blame] | 115 | S7.5.3_A1.16: FAIL_OK |
| 116 | |
| 117 | # This checks for non-262 behavior |
| 118 | S12.6.4_A14_T1: PASS || FAIL_OK |
| 119 | S12.6.4_R1: PASS || FAIL_OK |
| 120 | S12.6.4_R2: PASS || FAIL_OK |
| 121 | S8.4_D2.1: PASS || FAIL_OK |
| 122 | S8.4_D2.2: PASS || FAIL_OK |
| 123 | S8.4_D2.3: PASS || FAIL_OK |
| 124 | S8.4_D2.4: PASS || FAIL_OK |
| 125 | S8.4_D2.5: PASS || FAIL_OK |
| 126 | S8.4_D2.6: PASS || FAIL_OK |
| 127 | S8.4_D2.7: PASS || FAIL_OK |
| 128 | S8.4_D1.1: PASS || FAIL_OK |
| 129 | S13.2_D1.2: PASS || FAIL_OK |
| 130 | S11.4.3_D1.2: PASS || FAIL_OK |
| 131 | S7.6_D1: PASS || FAIL_OK |
| 132 | S7.6_D2: PASS || FAIL_OK |
| 133 | S15.1.2.2_D1.2: PASS || FAIL_OK |
| 134 | S13_D1_T1: PASS || FAIL_OK |
| 135 | S14_D4_T3: PASS || FAIL_OK |
| 136 | S14_D7: PASS || FAIL_OK |
| 137 | S15.5.4.11_D1.1_T2: PASS || FAIL_OK |
| 138 | S15.5.4.11_D1.1_T4: PASS || FAIL_OK |
| 139 | S15.5.2_D2: PASS || FAIL_OK |
| 140 | S15.5.4.11_D1.1_T1: PASS || FAIL_OK |
| 141 | S15.5.4.11_D1.1_T3: PASS || FAIL_OK |
| 142 | S12.6.4_D1: PASS || FAIL_OK |
| 143 | |
ager@chromium.org | c4c9272 | 2009-11-18 14:12:51 +0000 | [diff] [blame] | 144 | # We allow function declarations within statements |
| 145 | S12.5_A9_T1: FAIL_OK |
| 146 | S12.5_A9_T2: FAIL_OK |
| 147 | # S12.6.2_A13_T3: FAIL_OK |
| 148 | # S12.5_A9_T3: FAIL_OK |
| 149 | # S12.6.1_A13_T3: FAIL_OK |
| 150 | S12.1_A1: FAIL_OK |
| 151 | S12.6.2_A13_T1: FAIL_OK |
| 152 | S12.6.2_A13_T2: FAIL_OK |
| 153 | S12.6.1_A13_T1: FAIL_OK |
| 154 | S12.6.1_A13_T2: FAIL_OK |
| 155 | S12.6.4_A13_T1: FAIL_OK |
| 156 | S12.6.4_A13_T2: FAIL_OK |
| 157 | #S12.6.4_A13_T3: FAIL_OK |
| 158 | S15.3.4.2_A1_T1: FAIL_OK |
| 159 | |
| 160 | # Linux and Mac defaults to extended 80 bit floating point format in the FPU. |
| 161 | # We follow the other major JS engines by keeping this default. |
| 162 | S8.5_A2.2: PASS, FAIL if $system == linux, FAIL if $system == macos |
| 163 | S8.5_A2.1: PASS, FAIL if $system == linux, FAIL if $system == macos |
| 164 | |
sgjesse@chromium.org | d3b3be0 | 2010-08-06 08:09:27 +0000 | [diff] [blame] | 165 | ##################### ES3 TESTS ######################### |
| 166 | # These tests check for ES3 semantics, and differ from ES5. |
| 167 | # When we follow ES5 semantics, it's ok to fail the test. |
| 168 | |
vegorov@chromium.org | 26c16f8 | 2010-08-11 13:41:03 +0000 | [diff] [blame] | 169 | # Allow keywords as names of properties in object initialisers and |
| 170 | # in dot-notation property access. |
sgjesse@chromium.org | d3b3be0 | 2010-08-06 08:09:27 +0000 | [diff] [blame] | 171 | S11.1.5_A4.1: FAIL_OK |
| 172 | S11.1.5_A4.2: FAIL_OK |
| 173 | |
| 174 | # Don't throw type errors when iterating through the undefined object. |
| 175 | S9.9_A1: FAIL_OK |
| 176 | S9.9_A2: FAIL_OK |
| 177 | |
ricow@chromium.org | d2be901 | 2011-06-01 06:00:58 +0000 | [diff] [blame] | 178 | # Calls builtins without an explicit receiver which means that |
| 179 | # undefined is passed to the builtin. The tests expect the global |
| 180 | # object to be passed which was true in ES3 but not in ES5. |
| 181 | S11.1.1_A2: FAIL_OK |
| 182 | S15.5.4.4_A1_T3: FAIL_OK |
| 183 | S15.5.4.5_A1_T3: FAIL_OK |
| 184 | S15.5.4.6_A1_T3: FAIL_OK |
| 185 | S15.5.4.7_A1_T3: FAIL_OK |
| 186 | S15.5.4.8_A1_T3: FAIL_OK |
| 187 | S15.5.4.9_A1_T3: FAIL_OK |
| 188 | S15.5.4.10_A1_T3: FAIL_OK |
| 189 | S15.5.4.11_A1_T3: FAIL_OK |
| 190 | S15.5.4.12_A1_T3: FAIL_OK |
| 191 | S15.5.4.13_A1_T3: FAIL_OK |
| 192 | S15.5.4.14_A1_T3: FAIL_OK |
| 193 | S15.5.4.15_A1_T3: FAIL_OK |
| 194 | |
ager@chromium.org | c4c9272 | 2009-11-18 14:12:51 +0000 | [diff] [blame] | 195 | ##################### SKIPPED TESTS ##################### |
| 196 | |
| 197 | # These tests take a looong time to run in debug mode. |
| 198 | S15.1.3.2_A2.5_T1: PASS, SKIP if $mode == debug |
| 199 | S15.1.3.1_A2.5_T1: PASS, SKIP if $mode == debug |
| 200 | |
fschneider@chromium.org | 3a5fd78 | 2011-02-24 10:10:44 +0000 | [diff] [blame] | 201 | # V8 Bug: http://code.google.com/p/v8/issues/detail?id=1196 |
| 202 | S8.7_A5_T2: FAIL |
| 203 | |
fschneider@chromium.org | 3a5fd78 | 2011-02-24 10:10:44 +0000 | [diff] [blame] | 204 | # Invalid test case (recent change adding var changes semantics) |
| 205 | S8.3_A1_T1: FAIL |
| 206 | # Test bug: http://code.google.com/p/sputniktests/issues/detail?id=35 |
| 207 | S15.5.4.8_A1_T1: FAIL |
| 208 | # Invalid test case (recent change adding var changes semantics) |
| 209 | S15.3_A3_T1: FAIL |
| 210 | # Invalid test case (recent change adding var changes semantics) |
| 211 | S15.3_A3_T3: FAIL |
ager@chromium.org | c4c9272 | 2009-11-18 14:12:51 +0000 | [diff] [blame] | 212 | |
| 213 | # These tests fail because we had to add bugs to be compatible with JSC. See |
| 214 | # http://code.google.com/p/chromium/issues/detail?id=1717 |
ager@chromium.org | c4c9272 | 2009-11-18 14:12:51 +0000 | [diff] [blame] | 215 | S15.5.4.1_A1_T2: FAIL_OK |
| 216 | S15.5.4_A1: FAIL_OK |
| 217 | S15.5.4_A3: FAIL_OK |
| 218 | S15.9.5.10_A1_T2: FAIL_OK |
| 219 | S15.9.5.11_A1_T2: FAIL_OK |
| 220 | S15.9.5.12_A1_T2: FAIL_OK |
| 221 | S15.9.5.13_A1_T2: FAIL_OK |
| 222 | S15.9.5.14_A1_T2: FAIL_OK |
| 223 | S15.9.5.15_A1_T2: FAIL_OK |
| 224 | S15.9.5.16_A1_T2: FAIL_OK |
| 225 | S15.9.5.17_A1_T2: FAIL_OK |
| 226 | S15.9.5.18_A1_T2: FAIL_OK |
| 227 | S15.9.5.19_A1_T2: FAIL_OK |
| 228 | S15.9.5.20_A1_T2: FAIL_OK |
| 229 | S15.9.5.21_A1_T2: FAIL_OK |
| 230 | S15.9.5.22_A1_T2: FAIL_OK |
| 231 | S15.9.5.23_A1_T2: FAIL_OK |
| 232 | S15.9.5.24_A1_T2: FAIL_OK |
| 233 | S15.9.5.25_A1_T2: FAIL_OK |
| 234 | S15.9.5.26_A1_T2: FAIL_OK |
| 235 | S15.9.5.27_A1_T2: FAIL_OK |
| 236 | S15.9.5.28_A1_T2: FAIL_OK |
| 237 | S15.9.5.29_A1_T2: FAIL_OK |
| 238 | S15.9.5.2_A1_T2: FAIL_OK |
| 239 | S15.9.5.30_A1_T2: FAIL_OK |
| 240 | S15.9.5.31_A1_T2: FAIL_OK |
| 241 | S15.9.5.32_A1_T2: FAIL_OK |
| 242 | S15.9.5.33_A1_T2: FAIL_OK |
| 243 | S15.9.5.34_A1_T2: FAIL_OK |
| 244 | S15.9.5.35_A1_T2: FAIL_OK |
| 245 | S15.9.5.36_A1_T2: FAIL_OK |
| 246 | S15.9.5.37_A1_T2: FAIL_OK |
| 247 | S15.9.5.38_A1_T2: FAIL_OK |
| 248 | S15.9.5.39_A1_T2: FAIL_OK |
| 249 | S15.9.5.3_A1_T2: FAIL_OK |
| 250 | S15.9.5.40_A1_T2: FAIL_OK |
| 251 | S15.9.5.41_A1_T2: FAIL_OK |
| 252 | S15.9.5.42_A1_T2: FAIL_OK |
| 253 | S15.9.5.4_A1_T2: FAIL_OK |
| 254 | S15.9.5.5_A1_T2: FAIL_OK |
| 255 | S15.9.5.6_A1_T2: FAIL_OK |
| 256 | S15.9.5.7_A1_T2: FAIL_OK |
| 257 | S15.9.5.8_A1_T2: FAIL_OK |
| 258 | S15.9.5.9_A1_T2: FAIL_OK |
| 259 | |
kasperl@chromium.org | a555126 | 2010-12-07 12:49:48 +0000 | [diff] [blame] | 260 | [ $arch == arm ] |
| 261 | |
| 262 | # BUG(3251225): Tests that timeout with --nocrankshaft. |
| 263 | S15.1.3.1_A2.5_T1: SKIP |
| 264 | S15.1.3.2_A2.5_T1: SKIP |
| 265 | S15.1.3.1_A2.4_T1: SKIP |
| 266 | S15.1.3.1_A2.5_T1: SKIP |
| 267 | S15.1.3.2_A2.4_T1: SKIP |
| 268 | S15.1.3.2_A2.5_T1: SKIP |
| 269 | S15.1.3.3_A2.3_T1: SKIP |
| 270 | S15.1.3.4_A2.3_T1: SKIP |
| 271 | S15.1.3.1_A2.5_T1: SKIP |
| 272 | S15.1.3.2_A2.5_T1: SKIP |
| 273 | |
ager@chromium.org | 5c83825 | 2010-02-19 08:53:10 +0000 | [diff] [blame] | 274 | [ $arch == mips ] |
| 275 | |
| 276 | # Skip all tests on MIPS. |
| 277 | *: SKIP |