| OLD | NEW |
| 1 # Copyright 2009 the V8 project authors. All rights reserved. | 1 # Copyright 2009 the V8 project authors. All rights reserved. |
| 2 # Redistribution and use in source and binary forms, with or without | 2 # Redistribution and use in source and binary forms, with or without |
| 3 # modification, are permitted provided that the following conditions are | 3 # modification, are permitted provided that the following conditions are |
| 4 # met: | 4 # met: |
| 5 # | 5 # |
| 6 # * Redistributions of source code must retain the above copyright | 6 # * Redistributions of source code must retain the above copyright |
| 7 # notice, this list of conditions and the following disclaimer. | 7 # notice, this list of conditions and the following disclaimer. |
| 8 # * Redistributions in binary form must reproduce the above | 8 # * Redistributions in binary form must reproduce the above |
| 9 # copyright notice, this list of conditions and the following | 9 # copyright notice, this list of conditions and the following |
| 10 # disclaimer in the documentation and/or other materials provided | 10 # disclaimer in the documentation and/or other materials provided |
| (...skipping 10 matching lines...) Expand all Loading... |
| 21 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | 21 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
| 22 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | 22 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
| 23 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 23 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
| 24 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 24 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| 25 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 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. | 26 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| 27 | 27 |
| 28 prefix sputnik | 28 prefix sputnik |
| 29 def FAIL_OK = FAIL, OKAY | 29 def FAIL_OK = FAIL, OKAY |
| 30 | 30 |
| 31 ############################### BUGS ################################### |
| 32 |
| 33 # A bound function should fail on access to 'caller' and 'arguments'. |
| 34 S15.3.4.5_A1: FAIL |
| 35 S15.3.4.5_A2: FAIL |
| 36 |
| 37 # '__proto__' should be treated as a normal property in JSON. |
| 38 S15.12.2_A1: FAIL |
| 39 |
| 31 ##################### DELIBERATE INCOMPATIBILITIES ##################### | 40 ##################### DELIBERATE INCOMPATIBILITIES ##################### |
| 32 | 41 |
| 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 # 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 # 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 # 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.16_A7: PASS || FAIL_OK |
| 45 S15.8.2.18_A7: PASS || FAIL_OK | 46 S15.8.2.18_A7: PASS || FAIL_OK |
| 46 S15.8.2.13_A23: PASS || FAIL_OK | 47 S15.8.2.13_A23: PASS || FAIL_OK |
| 47 | 48 |
| 48 # We allow calls to regexp exec() with no arguments to fail for | 49 # We allow calls to regexp exec() with no arguments to fail for |
| 49 # compatibility reasons. | 50 # compatibility reasons. |
| 50 S15.10.6.2_A1_T16: FAIL_OK | 51 S15.10.6.2_A1_T16: FAIL_OK |
| 52 S15.10.6.2_A12: FAIL_OK |
| 51 S15.10.6.3_A1_T16: FAIL_OK | 53 S15.10.6.3_A1_T16: FAIL_OK |
| 52 | 54 |
| 53 # We allow regexps to be called as functions for compatibility reasons. | |
| 54 S15.10.7_A1_T1: FAIL_OK | |
| 55 S15.10.7_A1_T2: FAIL_OK | |
| 56 | |
| 57 # We are silent in some regexp cases where the spec wants us to give | 55 # We are silent in some regexp cases where the spec wants us to give |
| 58 # errors, for compatibility. | 56 # errors, for compatibility. |
| 59 S15.10.2.11_A1_T2: FAIL | 57 S15.10.2.11_A1_T2: FAIL |
| 60 S15.10.2.11_A1_T3: FAIL | 58 S15.10.2.11_A1_T3: FAIL |
| 61 S15.10.4.1_A5_T1: FAIL | 59 S15.10.4.1_A5_T1: FAIL |
| 62 S15.10.4.1_A5_T2: FAIL | 60 S15.10.4.1_A5_T2: FAIL |
| 63 S15.10.4.1_A5_T3: FAIL | 61 S15.10.4.1_A5_T3: FAIL |
| 64 S15.10.4.1_A5_T4: FAIL | 62 S15.10.4.1_A5_T4: FAIL |
| 65 S15.10.4.1_A5_T5: FAIL | 63 S15.10.4.1_A5_T5: FAIL |
| 66 S15.10.4.1_A5_T6: FAIL | 64 S15.10.4.1_A5_T6: FAIL |
| (...skipping 27 matching lines...) Expand all Loading... |
| 94 S7.8.4_A4.3_T1: FAIL_OK | 92 S7.8.4_A4.3_T1: FAIL_OK |
| 95 S7.8.4_A6.2_T1: FAIL_OK | 93 S7.8.4_A6.2_T1: FAIL_OK |
| 96 S7.8.4_A4.3_T3: FAIL_OK | 94 S7.8.4_A4.3_T3: FAIL_OK |
| 97 S7.8.4_A7.2_T1: FAIL_OK | 95 S7.8.4_A7.2_T1: FAIL_OK |
| 98 S7.8.4_A6.4_T1: FAIL_OK | 96 S7.8.4_A6.4_T1: FAIL_OK |
| 99 S7.8.4_A7.2_T3: FAIL_OK | 97 S7.8.4_A7.2_T3: FAIL_OK |
| 100 S7.8.4_A7.4_T1: FAIL_OK | 98 S7.8.4_A7.4_T1: FAIL_OK |
| 101 S7.8.4_A4.3_T5: FAIL_OK | 99 S7.8.4_A4.3_T5: FAIL_OK |
| 102 S7.8.4_A7.2_T5: FAIL_OK | 100 S7.8.4_A7.2_T5: FAIL_OK |
| 103 | 101 |
| 104 # We allow some keywords to be used as identifiers | 102 # We allow some keywords to be used as identifiers. |
| 105 S7.5.3_A1.26: FAIL_OK | 103 S7.5.3_A1.15: FAIL_OK |
| 106 S7.5.3_A1.18: FAIL_OK | 104 S7.5.3_A1.18: FAIL_OK |
| 107 S7.5.3_A1.27: FAIL_OK | |
| 108 S7.5.3_A1.5: FAIL_OK | |
| 109 S7.5.3_A1.9: FAIL_OK | |
| 110 S7.5.3_A1.10: FAIL_OK | |
| 111 S7.5.3_A1.11: FAIL_OK | |
| 112 # native | |
| 113 S7.5.3_A1.20: FAIL_OK | |
| 114 S7.5.3_A1.21: FAIL_OK | 105 S7.5.3_A1.21: FAIL_OK |
| 115 S7.5.3_A1.22: FAIL_OK | 106 S7.5.3_A1.22: FAIL_OK |
| 116 S7.5.3_A1.23: FAIL_OK | 107 S7.5.3_A1.23: FAIL_OK |
| 117 S7.5.3_A1.15: FAIL_OK | |
| 118 S7.5.3_A1.24: FAIL_OK | 108 S7.5.3_A1.24: FAIL_OK |
| 119 S7.5.3_A1.16: FAIL_OK | 109 S7.5.3_A1.26: FAIL_OK |
| 120 | 110 |
| 121 # This checks for non-262 behavior | 111 # This checks for non-262 behavior |
| 122 S12.6.4_A14_T1: PASS || FAIL_OK | 112 S12.6.4_A14_T1: PASS || FAIL_OK |
| 123 S12.6.4_R1: PASS || FAIL_OK | 113 S12.6.4_R1: PASS || FAIL_OK |
| 124 S12.6.4_R2: PASS || FAIL_OK | 114 S12.6.4_R2: PASS || FAIL_OK |
| 125 S8.4_D2.1: PASS || FAIL_OK | 115 S8.4_D2.1: PASS || FAIL_OK |
| 126 S8.4_D2.2: PASS || FAIL_OK | 116 S8.4_D2.2: PASS || FAIL_OK |
| 127 S8.4_D2.3: PASS || FAIL_OK | 117 S8.4_D2.3: PASS || FAIL_OK |
| 128 S8.4_D2.4: PASS || FAIL_OK | 118 S8.4_D2.4: PASS || FAIL_OK |
| 129 S8.4_D2.5: PASS || FAIL_OK | 119 S8.4_D2.5: PASS || FAIL_OK |
| 130 S8.4_D2.6: PASS || FAIL_OK | 120 S8.4_D2.6: PASS || FAIL_OK |
| 131 S8.4_D2.7: PASS || FAIL_OK | 121 S8.4_D2.7: PASS || FAIL_OK |
| 132 S8.4_D1.1: PASS || FAIL_OK | 122 S8.4_D1.1: PASS || FAIL_OK |
| 133 S13.2_D1.2: PASS || FAIL_OK | 123 S13.2_D1.2: PASS || FAIL_OK |
| 134 S11.4.3_D1.2: PASS || FAIL_OK | 124 S11.4.3_D1.2: PASS || FAIL_OK |
| 135 S7.6_D1: PASS || FAIL_OK | 125 S7.6_D1: PASS || FAIL_OK |
| 136 S7.6_D2: PASS || FAIL_OK | 126 S7.6_D2: PASS || FAIL_OK |
| 137 S15.1.2.2_D1.2: PASS || FAIL_OK | 127 S15.1.2.2_D1.2: PASS || FAIL_OK |
| 138 S13_D1_T1: PASS || FAIL_OK | 128 S13_D1_T1: PASS || FAIL_OK |
| 139 S14_D4_T3: PASS || FAIL_OK | 129 S14_D4_T3: PASS || FAIL_OK |
| 140 S14_D7: PASS || FAIL_OK | 130 S14_D7: PASS || FAIL_OK |
| 141 S15.5.4.11_D1.1_T2: PASS || FAIL_OK | 131 S15.5.4.11_D1.1_T2: PASS || FAIL_OK |
| 142 S15.5.4.11_D1.1_T4: PASS || FAIL_OK | 132 S15.5.4.11_D1.1_T4: PASS || FAIL_OK |
| 143 S15.5.2_D2: PASS || FAIL_OK | 133 S15.5.2_D2: PASS || FAIL_OK |
| 144 S15.5.4.11_D1.1_T1: PASS || FAIL_OK | 134 S15.5.4.11_D1.1_T1: PASS || FAIL_OK |
| 145 S15.5.4.11_D1.1_T3: PASS || FAIL_OK | 135 S15.5.4.11_D1.1_T3: PASS || FAIL_OK |
| 146 S12.6.4_D1: PASS || FAIL_OK | 136 S12.6.4_D1: PASS || FAIL_OK |
| 147 | 137 |
| 148 # We allow function declarations within statements | 138 # We allow function declarations within statements |
| 149 S12.5_A9_T1: FAIL_OK | |
| 150 S12.5_A9_T2: FAIL_OK | |
| 151 # S12.6.2_A13_T3: FAIL_OK | |
| 152 # S12.5_A9_T3: FAIL_OK | |
| 153 # S12.6.1_A13_T3: FAIL_OK | |
| 154 S12.1_A1: FAIL_OK | |
| 155 S12.6.2_A13_T1: FAIL_OK | 139 S12.6.2_A13_T1: FAIL_OK |
| 156 S12.6.2_A13_T2: FAIL_OK | 140 S12.6.2_A13_T2: FAIL_OK |
| 157 S12.6.1_A13_T1: FAIL_OK | |
| 158 S12.6.1_A13_T2: FAIL_OK | |
| 159 S12.6.4_A13_T1: FAIL_OK | 141 S12.6.4_A13_T1: FAIL_OK |
| 160 S12.6.4_A13_T2: FAIL_OK | 142 S12.6.4_A13_T2: FAIL_OK |
| 161 #S12.6.4_A13_T3: FAIL_OK | 143 #S12.6.4_A13_T3: FAIL_OK |
| 162 S15.3.4.2_A1_T1: FAIL_OK | 144 S15.3.4.2_A1_T1: FAIL_OK |
| 163 | 145 |
| 164 # Linux and Mac defaults to extended 80 bit floating point format in the FPU. | 146 # Linux and Mac defaults to extended 80 bit floating point format in the FPU. |
| 165 # We follow the other major JS engines by keeping this default. | 147 # We follow the other major JS engines by keeping this default. |
| 166 S8.5_A2.2: PASS, FAIL if $system == linux, FAIL if $system == macos | 148 S8.5_A2.2: PASS, FAIL if $system == linux, FAIL if $system == macos |
| 167 S8.5_A2.1: PASS, FAIL if $system == linux, FAIL if $system == macos | 149 S8.5_A2.1: PASS, FAIL if $system == linux, FAIL if $system == macos |
| 168 | 150 |
| 169 ##################### ES3 TESTS ######################### | 151 ##################### ES3 TESTS ######################### |
| 170 # These tests check for ES3 semantics, and differ from ES5. | 152 # These tests check for ES3 semantics, and differ from ES5. |
| 171 # When we follow ES5 semantics, it's ok to fail the test. | 153 # When we follow ES5 semantics, it's ok to fail the test. |
| 172 | 154 |
| 173 # Allow keywords as names of properties in object initialisers and | 155 # Allow keywords as names of properties in object initialisers and |
| 174 # in dot-notation property access. | 156 # in dot-notation property access. |
| 175 S11.1.5_A4.1: FAIL_OK | 157 S11.1.5_A4.1: FAIL_OK |
| 176 S11.1.5_A4.2: FAIL_OK | 158 S11.1.5_A4.2: FAIL_OK |
| 177 | 159 |
| 178 # Don't throw type errors when iterating through the undefined object. | 160 # Don't throw type errors when iterating through the undefined object. |
| 179 S9.9_A1: FAIL_OK | 161 S9.9_A1: FAIL_OK |
| 180 S9.9_A2: FAIL_OK | 162 S9.9_A2: FAIL_OK |
| 181 | 163 |
| 164 # Calls builtins without an explicit receiver which means that |
| 165 # undefined is passed to the builtin. The tests expect the global |
| 166 # object to be passed which was true in ES3 but not in ES5. |
| 167 S11.1.1_A2: FAIL_OK |
| 168 S15.5.4.4_A1_T3: FAIL_OK |
| 169 S15.5.4.5_A1_T3: FAIL_OK |
| 170 S15.5.4.6_A1_T3: FAIL_OK |
| 171 S15.5.4.7_A1_T3: FAIL_OK |
| 172 S15.5.4.8_A1_T3: FAIL_OK |
| 173 S15.5.4.9_A1_T3: FAIL_OK |
| 174 S15.5.4.10_A1_T3: FAIL_OK |
| 175 S15.5.4.11_A1_T3: FAIL_OK |
| 176 S15.5.4.12_A1_T3: FAIL_OK |
| 177 S15.5.4.13_A1_T3: FAIL_OK |
| 178 S15.5.4.14_A1_T3: FAIL_OK |
| 179 S15.5.4.15_A1_T3: FAIL_OK |
| 180 |
| 182 ##################### SKIPPED TESTS ##################### | 181 ##################### SKIPPED TESTS ##################### |
| 183 | 182 |
| 184 # These tests take a looong time to run in debug mode. | 183 # These tests take a looong time to run in debug mode. |
| 185 S15.1.3.2_A2.5_T1: PASS, SKIP if $mode == debug | 184 S15.1.3.2_A2.5_T1: PASS, SKIP if $mode == debug |
| 186 S15.1.3.1_A2.5_T1: PASS, SKIP if $mode == debug | 185 S15.1.3.1_A2.5_T1: PASS, SKIP if $mode == debug |
| 187 | 186 |
| 188 # V8 Bug: http://code.google.com/p/v8/issues/detail?id=1196 | 187 # V8 Bug: http://code.google.com/p/v8/issues/detail?id=1196 |
| 189 S8.7_A5_T2: FAIL | 188 S8.7_A5_T2: FAIL |
| 190 | 189 |
| 191 # Invalid test case (recent change adding var changes semantics) | 190 # Invalid test case (recent change adding var changes semantics) |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 237 S15.9.5.40_A1_T2: FAIL_OK | 236 S15.9.5.40_A1_T2: FAIL_OK |
| 238 S15.9.5.41_A1_T2: FAIL_OK | 237 S15.9.5.41_A1_T2: FAIL_OK |
| 239 S15.9.5.42_A1_T2: FAIL_OK | 238 S15.9.5.42_A1_T2: FAIL_OK |
| 240 S15.9.5.4_A1_T2: FAIL_OK | 239 S15.9.5.4_A1_T2: FAIL_OK |
| 241 S15.9.5.5_A1_T2: FAIL_OK | 240 S15.9.5.5_A1_T2: FAIL_OK |
| 242 S15.9.5.6_A1_T2: FAIL_OK | 241 S15.9.5.6_A1_T2: FAIL_OK |
| 243 S15.9.5.7_A1_T2: FAIL_OK | 242 S15.9.5.7_A1_T2: FAIL_OK |
| 244 S15.9.5.8_A1_T2: FAIL_OK | 243 S15.9.5.8_A1_T2: FAIL_OK |
| 245 S15.9.5.9_A1_T2: FAIL_OK | 244 S15.9.5.9_A1_T2: FAIL_OK |
| 246 | 245 |
| 247 # Regexps have type "function", not "object". | |
| 248 S11.4.3_A3.6: FAIL_OK | |
| 249 S15.10.7_A3_T2: FAIL_OK | |
| 250 S15.10.7_A3_T1: FAIL_OK | |
| 251 | |
| 252 | |
| 253 [ $arch == arm ] | 246 [ $arch == arm ] |
| 254 | 247 |
| 255 # BUG(3251225): Tests that timeout with --nocrankshaft. | 248 # BUG(3251225): Tests that timeout with --nocrankshaft. |
| 256 S15.1.3.1_A2.5_T1: SKIP | 249 S15.1.3.1_A2.5_T1: SKIP |
| 257 S15.1.3.2_A2.5_T1: SKIP | 250 S15.1.3.2_A2.5_T1: SKIP |
| 258 S15.1.3.1_A2.4_T1: SKIP | 251 S15.1.3.1_A2.4_T1: SKIP |
| 259 S15.1.3.1_A2.5_T1: SKIP | 252 S15.1.3.1_A2.5_T1: SKIP |
| 260 S15.1.3.2_A2.4_T1: SKIP | 253 S15.1.3.2_A2.4_T1: SKIP |
| 261 S15.1.3.2_A2.5_T1: SKIP | 254 S15.1.3.2_A2.5_T1: SKIP |
| 262 S15.1.3.3_A2.3_T1: SKIP | 255 S15.1.3.3_A2.3_T1: SKIP |
| 263 S15.1.3.4_A2.3_T1: SKIP | 256 S15.1.3.4_A2.3_T1: SKIP |
| 264 S15.1.3.1_A2.5_T1: SKIP | 257 S15.1.3.1_A2.5_T1: SKIP |
| 265 S15.1.3.2_A2.5_T1: SKIP | 258 S15.1.3.2_A2.5_T1: SKIP |
| 266 | 259 |
| 267 [ $arch == mips ] | 260 [ $arch == mips ] |
| 268 | 261 |
| 269 # Skip all tests on MIPS. | 262 # Skip all tests on MIPS. |
| 270 *: SKIP | 263 *: SKIP |
| OLD | NEW |