OLD | NEW |
| (Empty) |
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 ############################### BUGS ################################### | |
32 | |
33 # '__proto__' should be treated as a normal property in JSON. | |
34 S15.12.2_A1: FAIL | |
35 | |
36 ##################### DELIBERATE INCOMPATIBILITIES ##################### | |
37 | |
38 # This tests precision of trignometric functions. We're slightly off | |
39 # from the implementation in libc (~ 1e-17) but it's not clear if we | |
40 # or they are closer to the right answer, or if it even matters. | |
41 S15.8.2.16_A7: PASS || FAIL_OK | |
42 S15.8.2.18_A7: PASS || FAIL_OK | |
43 S15.8.2.13_A23: PASS || FAIL_OK | |
44 | |
45 # Sputnik tests (r97) assume RegExp.prototype is an Object, not a RegExp. | |
46 S15.10.6_A2: FAIL_OK | |
47 | |
48 # We are silent in some regexp cases where the spec wants us to give | |
49 # errors, for compatibility. | |
50 S15.10.2.11_A1_T2: FAIL | |
51 S15.10.2.11_A1_T3: FAIL | |
52 | |
53 # We are more lenient in which string character escapes we allow than | |
54 # the spec (7.8.4 p. 19) wants us to be. This is for compatibility. | |
55 S7.8.4_A4.3_T1: FAIL_OK | |
56 S7.8.4_A4.3_T2: FAIL_OK | |
57 S7.8.4_A4.3_T3: FAIL_OK | |
58 S7.8.4_A4.3_T4: FAIL_OK | |
59 S7.8.4_A6.4_T1: FAIL_OK | |
60 S7.8.4_A6.4_T2: FAIL_OK | |
61 S7.8.4_A7.4_T1: FAIL_OK | |
62 S7.8.4_A7.4_T2: FAIL_OK | |
63 | |
64 # Sputnik expects unicode escape sequences in RegExp flags to be interpreted. | |
65 # The specification requires them to be passed uninterpreted to the RegExp | |
66 # constructor. We now implement that. | |
67 S7.8.5_A3.1_T7: FAIL_OK | |
68 S7.8.5_A3.1_T8: FAIL_OK | |
69 S7.8.5_A3.1_T9: FAIL_OK | |
70 | |
71 # We allow some keywords to be used as identifiers. | |
72 S7.5.3_A1.15: FAIL_OK | |
73 S7.5.3_A1.18: FAIL_OK | |
74 S7.5.3_A1.21: FAIL_OK | |
75 S7.5.3_A1.22: FAIL_OK | |
76 S7.5.3_A1.23: FAIL_OK | |
77 S7.5.3_A1.24: FAIL_OK | |
78 S7.5.3_A1.26: FAIL_OK | |
79 | |
80 # This checks for non-262 behavior | |
81 S12.6.4_A14_T1: PASS || FAIL_OK | |
82 S12.6.4_R1: PASS || FAIL_OK | |
83 S12.6.4_R2: PASS || FAIL_OK | |
84 S8.4_D2.1: PASS || FAIL_OK | |
85 S8.4_D2.2: PASS || FAIL_OK | |
86 S8.4_D2.3: PASS || FAIL_OK | |
87 S8.4_D2.4: PASS || FAIL_OK | |
88 S8.4_D2.5: PASS || FAIL_OK | |
89 S8.4_D2.6: PASS || FAIL_OK | |
90 S8.4_D2.7: PASS || FAIL_OK | |
91 S8.4_D1.1: PASS || FAIL_OK | |
92 S13.2_D1.2: PASS || FAIL_OK | |
93 S11.4.3_D1.2: PASS || FAIL_OK | |
94 S7.6_D1: PASS || FAIL_OK | |
95 S7.6_D2: PASS || FAIL_OK | |
96 S15.1.2.2_D1.2: PASS || FAIL_OK | |
97 S13_D1_T1: PASS || FAIL_OK | |
98 S14_D4_T3: PASS || FAIL_OK | |
99 S14_D7: PASS || FAIL_OK | |
100 S15.5.4.11_D1.1_T2: PASS || FAIL_OK | |
101 S15.5.4.11_D1.1_T4: PASS || FAIL_OK | |
102 S15.5.2_D2: PASS || FAIL_OK | |
103 S15.5.4.11_D1.1_T1: PASS || FAIL_OK | |
104 S15.5.4.11_D1.1_T3: PASS || FAIL_OK | |
105 S12.6.4_D1: PASS || FAIL_OK | |
106 S15.5.4.14_A1_T6: FAIL_OK | |
107 S15.5.4.14_A1_T7: FAIL_OK | |
108 S15.5.4.14_A1_T8: FAIL_OK | |
109 S15.5.4.14_A1_T9: FAIL_OK | |
110 S15.5.4.14_A2_T7: FAIL_OK | |
111 S15.10.2.12_A1_T1: FAIL_OK | |
112 S15.10.2.12_A2_T1: FAIL_OK | |
113 | |
114 # We allow function declarations within statements | |
115 S12.6.2_A13_T1: FAIL_OK | |
116 S12.6.2_A13_T2: FAIL_OK | |
117 S12.6.4_A13_T1: FAIL_OK | |
118 S12.6.4_A13_T2: FAIL_OK | |
119 #S12.6.4_A13_T3: FAIL_OK | |
120 S15.3.4.2_A1_T1: FAIL_OK | |
121 | |
122 # Linux and Mac defaults to extended 80 bit floating point format in the FPU. | |
123 # We follow the other major JS engines by keeping this default. | |
124 S8.5_A2.2: PASS, FAIL if $system == linux, FAIL if $system == macos | |
125 S8.5_A2.1: PASS, FAIL if $system == linux, FAIL if $system == macos | |
126 | |
127 # The source field of RegExp objects is properly escaped. We match JSC. | |
128 S15.10.4.1_A3_T1: FAIL_OK | |
129 S15.10.4.1_A3_T2: FAIL_OK | |
130 S15.10.4.1_A3_T3: FAIL_OK | |
131 S15.10.4.1_A3_T4: FAIL_OK | |
132 S15.10.4.1_A3_T5: FAIL_OK | |
133 S15.10.4.1_A4_T2: FAIL_OK | |
134 S15.10.4.1_A4_T3: FAIL_OK | |
135 S15.10.4.1_A4_T5: FAIL_OK | |
136 | |
137 ##################### ES3 TESTS ######################### | |
138 # These tests check for ES3 semantics, and differ from ES5. | |
139 # When we follow ES5 semantics, it's ok to fail the test. | |
140 | |
141 # Allow keywords as names of properties in object initialisers and | |
142 # in dot-notation property access. | |
143 S11.1.5_A4.1: FAIL_OK | |
144 S11.1.5_A4.2: FAIL_OK | |
145 | |
146 # Don't throw type errors when iterating through the undefined object. | |
147 S9.9_A1: FAIL_OK | |
148 S9.9_A2: FAIL_OK | |
149 | |
150 # The expected evaluation order of comparison operations changed. | |
151 S11.8.2_A2.3_T1: FAIL_OK | |
152 S11.8.3_A2.3_T1: FAIL_OK | |
153 | |
154 # Calls builtins without an explicit receiver which means that | |
155 # undefined is passed to the builtin. The tests expect the global | |
156 # object to be passed which was true in ES3 but not in ES5. | |
157 S11.1.1_A2: FAIL_OK | |
158 S15.5.4.4_A1_T3: FAIL_OK | |
159 S15.5.4.5_A1_T3: FAIL_OK | |
160 S15.5.4.6_A1_T3: FAIL_OK | |
161 S15.5.4.7_A1_T3: FAIL_OK | |
162 S15.5.4.8_A1_T3: FAIL_OK | |
163 S15.5.4.9_A1_T3: FAIL_OK | |
164 S15.5.4.10_A1_T3: FAIL_OK | |
165 S15.5.4.11_A1_T3: FAIL_OK | |
166 S15.5.4.12_A1_T3: FAIL_OK | |
167 S15.5.4.13_A1_T3: FAIL_OK | |
168 S15.5.4.14_A1_T3: FAIL_OK | |
169 S15.5.4.15_A1_T3: FAIL_OK | |
170 | |
171 # NaN, Infinity and undefined are read-only according to ES5. | |
172 S15.1.1.1_A2_T1: FAIL_OK # NaN | |
173 S15.1.1.1_A2_T2: FAIL_OK # NaN | |
174 S15.1.1.2_A2_T1: FAIL_OK # Infinity | |
175 # S15.1.1.2_A2_T2 would fail if it weren't bogus in r97. sputnik bug #45. | |
176 S15.1.1.3_A2_T1: FAIL_OK # undefined | |
177 S15.1.1.3_A2_T2: FAIL_OK # undefined | |
178 | |
179 # Function.prototype.apply can handle arbitrary object as argument list. | |
180 S15.3.4.3_A6_T1: FAIL_OK | |
181 S15.3.4.3_A6_T4: FAIL_OK | |
182 | |
183 # Array.prototype.to[Locale]String is generic in ES5. | |
184 S15.4.4.2_A2_T1: FAIL_OK | |
185 S15.4.4.3_A2_T1: FAIL_OK | |
186 | |
187 ##################### SKIPPED TESTS ##################### | |
188 | |
189 # These tests take a looong time to run in debug mode. | |
190 S15.1.3.2_A2.5_T1: PASS, SKIP if $mode == debug | |
191 S15.1.3.1_A2.5_T1: PASS, SKIP if $mode == debug | |
192 | |
193 # V8 Bug: http://code.google.com/p/v8/issues/detail?id=1196 | |
194 S8.7_A5_T2: FAIL | |
195 | |
196 # Invalid test case (recent change adding var changes semantics) | |
197 S8.3_A1_T1: FAIL | |
198 # Test bug: http://code.google.com/p/sputniktests/issues/detail?id=35 | |
199 S15.5.4.8_A1_T1: FAIL | |
200 # Invalid test case (recent change adding var changes semantics) | |
201 S15.3_A3_T1: FAIL | |
202 # Invalid test case (recent change adding var changes semantics) | |
203 S15.3_A3_T3: FAIL | |
204 | |
205 [ $arch == arm ] | |
206 | |
207 # BUG(3251225): Tests that timeout with --nocrankshaft. | |
208 S15.1.3.1_A2.5_T1: SKIP | |
209 S15.1.3.2_A2.5_T1: SKIP | |
210 S15.1.3.1_A2.4_T1: SKIP | |
211 S15.1.3.1_A2.5_T1: SKIP | |
212 S15.1.3.2_A2.4_T1: SKIP | |
213 S15.1.3.2_A2.5_T1: SKIP | |
214 S15.1.3.3_A2.3_T1: SKIP | |
215 S15.1.3.4_A2.3_T1: SKIP | |
216 S15.1.3.1_A2.5_T1: SKIP | |
217 S15.1.3.2_A2.5_T1: SKIP | |
218 | |
219 [ $arch == mipsel ] | |
220 | |
221 # BUG(3251225): Tests that timeout with --nocrankshaft. | |
222 S15.1.3.1_A2.5_T1: SKIP | |
223 S15.1.3.2_A2.5_T1: SKIP | |
224 S15.1.3.1_A2.4_T1: SKIP | |
225 S15.1.3.1_A2.5_T1: SKIP | |
226 S15.1.3.2_A2.4_T1: SKIP | |
227 S15.1.3.2_A2.5_T1: SKIP | |
228 S15.1.3.3_A2.3_T1: SKIP | |
229 S15.1.3.4_A2.3_T1: SKIP | |
230 S15.1.3.1_A2.5_T1: SKIP | |
231 S15.1.3.2_A2.5_T1: SKIP | |
OLD | NEW |