blob: 9d7cf4954ebf61820428eb3a08b86285e76a48d5 [file] [log] [blame]
Jesse Wilson9b3d2ab2010-09-23 13:48:25 -07001/*
2 * This file contains expectations for tests that we'd like to eventually fix, but aren't urgent.
3 */
4[
5{
Brian Carlstroma66a6912012-03-23 00:00:24 -07006 description: "libcore.java.io.OldFileTest#test_deleteOnExit fails on IRM05 mysid-user",
7 name: "libcore.java.io.OldFileTest#test_deleteOnExit",
8 bug: 5834665
9},
10{
Brian Carlstromce1311e2012-09-21 17:38:14 -070011 description: "FIONREAD/SIOCINQ returns the wrong result on sockets (5731252 is the root cause of 5534202)",
12 name: "libcore.java.net.SocketTest#testAvailable",
13 bug: 5731252
14},
15{
16 description: "libcore.java.net.URLConnectionTest#testServerShutdownInput fails on ICL27 mysid-userdebug (5534202 is caused by 5731252)",
Brian Carlstroma66a6912012-03-23 00:00:24 -070017 name: "libcore.java.net.URLConnectionTest#testServerShutdownInput",
18 bug: 5534202
19},
20{
Brian Carlstroma66a6912012-03-23 00:00:24 -070021 description: "Support digest authentication in HttpURLConnection",
22 name: "libcore.net.http.ParsedHeadersTest#testParseChallengesWithManyParameters",
23 bug: 6156454
24},
25{
Jesse Wilson2f0dedc2011-02-21 14:07:05 -080026 description: "Without no security manager, we don't care if checkPermission's argument is null",
27 name: "org.apache.harmony.security.tests.java.security.AccessController2Test#test_checkPermission_NullParameter",
28 result: EXEC_FAILED
29},
30{
Jesse Wilson63dfb122011-02-09 21:13:12 -080031 description: "This test and testGetKeepAlive have been failing in our continuous build recently.",
32 names: [
33 "libcore.java.net.URLConnectionTest#testConnectTimeouts",
34 "libcore.java.net.URLConnectionTest#testGetKeepAlive"
35 ],
36 bug: 3441111
37},
38{
39 description: "on the RI, writing the two halves of the surrogate pair in separate writes
40 is an error because the CharsetEncoder doesn't remember it's half-way through a
41 surrogate pair across the two calls!",
42 result: EXEC_FAILED,
43 names: [
44 "libcore.java.nio.charset.CharsetEncoderTest#testCharsetEncoderSurrogatesBrokenByDesign_IGNORE_RI",
45 "libcore.java.nio.charset.CharsetEncoderTest#testCharsetEncoderSurrogatesBrokenByDesign_REPLACE_RI",
Jesse Wilsonb22ef1e2011-02-11 15:22:03 -080046 "libcore.java.nio.charset.CharsetEncoderTest#testCharsetEncoderSurrogatesBrokenByDesign_REPORT_RI"
Jesse Wilson63dfb122011-02-09 21:13:12 -080047 ]
48},
49{
Jesse Wilson9b3d2ab2010-09-23 13:48:25 -070050 description: "We're retiring the security manager. Unfortunately, tests all over the place
51 need to check that they're secure, so they all fail when we refuse to install
Jesse Wilson5e8f0b92010-09-23 19:41:28 -070052 a security manager. This suppresses all of these failures.",
Jesse Wilson9b3d2ab2010-09-23 13:48:25 -070053 result: EXEC_FAILED,
54 failure: "disable securityManager",
Jesse Wilson5e8f0b92010-09-23 19:41:28 -070055 pattern: ".*java.lang.SecurityException\\s+at java.lang.System.setSecurityManager.*",
56 bug: 2585285
Jesse Wilson9b3d2ab2010-09-23 13:48:25 -070057},
58{
59 description: "ignore compilation errors due to different available APIs",
60 result: COMPILE_FAILED,
61 failure: "ignore compilation errors",
62 pattern: ".*\\.java:\\d+: cannot find symbol.*"
63},
64{
65 description: "These tests assert the exact bytes of the compressed form. Since we use a
66 different zlib configuration, we get a different (but valid) compressed form.",
67 result: EXEC_FAILED,
68 names: [
69 "org.apache.harmony.archive.tests.java.util.zip.DeflaterInputStreamTest#testAvailable",
70 "org.apache.harmony.archive.tests.java.util.zip.DeflaterInputStreamTest#testRead",
71 "org.apache.harmony.archive.tests.java.util.zip.DeflaterInputStreamTest#testReadByteArrayIntInt",
72 "org.apache.harmony.archive.tests.java.util.zip.DeflaterTest#test_deflate_beforeSetInput"
73 ]
74},
75{
76 description: "The RI avoids blocking calls when '\\r' is the last character. We don't
77 bother since that adds complexity to every other read call, and '\\r' as the
78 last character will be diminishingly rare anyway.",
79 result: EXEC_FAILED,
80 name: "java.io.BufferedReader.ReadLine",
81 substring: "java.lang.RuntimeException: Read past limit"
82},
83{
84 description: "The RI avoids blocking calls when '\\r' is the last character. We don't
85 bother since that adds complexity to every other read call, and '\\r' as the
86 last character will be diminishingly rare anyway.",
87 result: EXEC_FAILED,
88 name: "java.io.BufferedReader.Ready",
89 substring: "Hit infinite wait condition"
90},
91{
92 description: "The test is checking that the implementation doesn't read any characters
93 earlier than it absolutely needs to. This is a bogus requirement; streams
94 are allowed to buffer input as necessary.",
95 result: EXEC_FAILED,
96 name: "java.io.StreamTokenizer.Reset",
97 substring: "Test failed: should get token [, but get -1"
98},
99{
100 description: "These tests only pass if the root logger hasn't yet been initialized. They
101 incorrectly assume that resetting the LogManager will clear the root logger's
102 resource bundle; this isn't the case.",
103 result: EXEC_FAILED,
Jesse Wilson021f5002010-10-02 14:54:19 -0700104 name: "org.apache.harmony.logging.tests.java.util.logging.OldLoggerTest#testGetLoggerWithRes_InvalidResourceBundle",
Jesse Wilson9b3d2ab2010-09-23 13:48:25 -0700105 substring: "java.lang.IllegalArgumentException: Resource bundle name 'impossible_not_existing' is inconsistent"
106},
107{
108 description: "These tests only pass if the root logger hasn't yet been initialized. They
109 incorrectly assume that resetting the LogManager will clear the root logger's
110 resource bundle; this isn't the case.",
111 result: EXEC_FAILED,
112 name: "org.apache.harmony.logging.tests.java.util.logging.LoggerTest#testGetLogger_Empty",
113 substring: "junit.framework.AssertionFailedError"
114},
115{
116 description: "This tests implementation details",
117 result: UNSUPPORTED,
118 name: "java.util.EnumSet.OneUniverse"
119},
120{
121 description: "Dalvik doesn't include the SunJCE crypto provider",
122 result: EXEC_FAILED,
123 names: [
124 "com.sun.crypto.provider.Cipher.AES.Test4513830",
125 "com.sun.crypto.provider.Cipher.AES.Test4512704",
126 "com.sun.crypto.provider.Cipher.AES.Test4512524",
127 "com.sun.crypto.provider.Cipher.AES.Test4511676",
128 "com.sun.crypto.provider.Cipher.AES.Test4517355"
129 ],
130 substring: "NoClassDefFoundError: com.sun.crypto.provider.SunJCE"
131},
132{
133 description: "Dalvik doesn't include the SunJCE crypto provider",
134 result: EXEC_FAILED,
135 name: "com.sun.crypto.provider.Cipher.AES.TestISO10126Padding",
136 substring: " java.security.NoSuchProviderException: SunJCE"
137},
138{
139 description: "Dalvik doesn't include the SunJCE crypto provider",
140 result: EXEC_FAILED,
141 name: "com.sun.crypto.provider.Cipher.AES.Test4626070",
142 substring: "NoClassDefFoundError: com.sun.crypto.provider.SunJCE"
143},
144{
145 description: "Dalvik doesn't include the SunJCE crypto provider",
146 result: EXEC_FAILED,
147 names: [
148 "com.sun.crypto.provider.Cipher.AES.TestShortBuffer",
149 "com.sun.crypto.provider.Cipher.CTS.CTSMode"
150 ],
151 substring: "Provider SunJCE is not available"
152},
153{
154 description: "Dalvik doesn't include the SunJCE crypto provider",
155 result: EXEC_FAILED,
156 names: [
157 "com.sun.crypto.provider.Cipher.DES.DesAPITest",
158 "com.sun.crypto.provider.Cipher.DES.DoFinalReturnLen",
159 "com.sun.crypto.provider.Cipher.DES.FlushBug"
160 ],
161 substring: "java.lang.NoClassDefFoundError: com.sun.crypto.provider.SunJCE"
162},
163{
164 description: "Dalvik doesn't include the SunJCE crypto provider",
165 result: EXEC_FAILED,
166 name: "com.sun.crypto.provider.Cipher.DES.KeyWrapping",
167 substring: "Provider SunJCE is not available"
168},
169{
170 description: "Dalvik doesn't include the SunJCE crypto provider",
171 result: EXEC_FAILED,
172 names: [
173 "com.sun.crypto.provider.Cipher.DES.PaddingTest",
174 "com.sun.crypto.provider.Cipher.DES.Sealtest",
175 "com.sun.crypto.provider.Cipher.DES.PerformanceTest"
176 ],
177 substring: "java.lang.NoClassDefFoundError: com.sun.crypto.provider.SunJCE"
178},
179{
180 description: "Dalvik doesn't include the SunJCE crypto provider",
181 result: EXEC_FAILED,
182 names: [
183 "com.sun.crypto.provider.Cipher.PBE.DecryptWithoutParameters",
184 "com.sun.crypto.provider.Cipher.PBE.PBEInvalidParamsTest"
185 ],
186 substring: "Provider SunJCE is not available"
187},
188{
189 description: "Dalvik doesn't include the SunJCE crypto provider",
190 result: EXEC_FAILED,
191 name: "com.sun.crypto.provider.Cipher.PBE.PBEKeysAlgorithmNames",
192 substring: "java.security.NoSuchProviderException: SunJCE"
193},
194{
195 description: "Dalvik doesn't include the SunJCE crypto provider",
196 result: EXEC_FAILED,
197 names: [
198 "com.sun.crypto.provider.Cipher.PBE.PBEParametersTest",
199 "com.sun.crypto.provider.Cipher.PBE.PKCS12Oid",
200 "com.sun.crypto.provider.Cipher.UTIL.StrongOrUnlimited",
201 "com.sun.crypto.provider.Cipher.KeyWrap.NISTWrapKAT"
202 ],
203 substring: "Provider SunJCE is not available"
204},
205{
206 description: "Dalvik doesn't include the SunJCE crypto provider",
207 result: EXEC_FAILED,
208 name: "com.sun.crypto.provider.KeyAgreement.DHGenSecretKey",
209 substring: "java.security.NoSuchProviderException: SunJCE"
210},
211{
212 description: "Dalvik doesn't include the SunJCE crypto provider",
213 result: EXEC_FAILED,
214 names: [
215 "com.sun.crypto.provider.KeyAgreement.DHGenSharedSecret",
216 "com.sun.crypto.provider.KeyAgreement.DHKeyAgreement3",
217 "com.sun.crypto.provider.KeyAgreement.DHKeyFactory",
218 "com.sun.crypto.provider.KeyAgreement.DHKeyGenSpeed"
219 ],
220 substring: "java.lang.NoClassDefFoundError: com.sun.crypto.provider.SunJCE"
221},
222{
223 description: "Dalvik doesn't include the SunJCE crypto provider",
224 result: EXEC_FAILED,
225 names: [
226 "com.sun.crypto.provider.KeyAgreement.TestExponentSize",
227 "com.sun.crypto.provider.KeyFactory.TestProviderLeak",
228 "com.sun.crypto.provider.KeyFactory.PBKDF2HmacSHA1FactoryTest"
229 ],
230 substring: "java.security.NoSuchProviderException: SunJCE"
231},
232{
233 description: "Dalvik doesn't include the SunJCE crypto provider",
234 result: EXEC_FAILED,
235 names: [
236 "com.sun.crypto.provider.KeyGenerator.Test4628062",
237 "com.sun.crypto.provider.KeyGenerator.TestExplicitKeyLength"
238 ],
239 substring: "java.lang.NoClassDefFoundError: com.sun.crypto.provider.SunJCE"
240},
241{
242 description: "Dalvik doesn't include the SunJCE crypto provider",
243 result: EXEC_FAILED,
244 name: "com.sun.crypto.provider.Mac.HmacPBESHA1",
245 substring: "java.security.NoSuchProviderException: SunJCE"
246},
247{
248 description: "Dalvik doesn't include the SunJCE crypto provider",
249 result: EXEC_FAILED,
250 name: "com.sun.crypto.provider.Mac.HmacMD5",
251 substring: "java.lang.NoClassDefFoundError: com.sun.crypto.provider.SunJCE"
252},
253{
254 description: "Dalvik doesn't include the SunJCE crypto provider",
255 result: EXEC_FAILED,
256 name: "com.sun.crypto.provider.Mac.MacClone",
257 substring: "java.security.NoSuchProviderException: SunJCE"
258},
259{
260 description: "Dalvik doesn't include the SunJCE crypto provider",
261 result: EXEC_FAILED,
262 failure: "JKS keystore not found",
263 substring: "KeyStore JKS implementation not found"
264},
265{
266 description: "These NPEs all happen while calling Provider#getName on the result of
267 Security#getProvider(). Unfortunately, that method is permitted to return
268 null if the system has no provider with the requested name. And since we don't
269 have the SunJCE provider, tests fail",
270 result: EXEC_FAILED,
271 name: "com.sun.crypto.provider.Cipher.PBE.PKCS12Cipher",
272 pattern: ".*PKCS12Cipher.java\\:87\\).*NullPointerException.*"
273},
274{
275 description: "These NPEs all happen while calling Provider#getName on the result of
276 Security#getProvider(). Unfortunately, that method is permitted to return
277 null if the system has no provider with the requested name. And since we don't
278 have the SunJCE provider, tests fail",
279 result: EXEC_FAILED,
280 name: "com.sun.crypto.provider.Cipher.PBE.PKCS12CipherKAT",
281 pattern: ".*NullPointerException.*PKCS12CipherKAT.java\\:183\\).*"
282},
283{
284 description: "These NPEs all happen while calling Provider#getName on the result of
285 Security#getProvider(). Unfortunately, that method is permitted to return
286 null if the system has no provider with the requested name. And since we don't
287 have the SunJCE provider, tests fail",
288 result: EXEC_FAILED,
289 name: "com.sun.crypto.provider.Cipher.RC2ArcFour.CipherKAT",
290 pattern: ".*NullPointerException.*CipherKAT.java\\:205\\).*"
291},
292{
293 description: "These NPEs all happen while calling Provider#getName on the result of
294 Security#getProvider(). Unfortunately, that method is permitted to return
295 null if the system has no provider with the requested name. And since we don't
296 have the SunJCE provider, tests fail",
297 result: EXEC_FAILED,
298 name: "com.sun.crypto.provider.Cipher.RSA.TestOAEP_KAT",
299 pattern: ".*TestOAEP_KAT.java\\:62\\).*NullPointerException.*"
300},
301{
302 description: "These NPEs all happen while calling Provider#getName on the result of
303 Security#getProvider(). Unfortunately, that method is permitted to return
304 null if the system has no provider with the requested name. And since we don't
305 have the SunJCE provider, tests fail",
306 result: EXEC_FAILED,
307 name: "com.sun.crypto.provider.Cipher.RSA.TestOAEP",
308 pattern: ".*TestOAEP.java\\:50\\).*NullPointerException.*"
309},
310{
311 description: "These NPEs all happen while calling Provider#getName on the result of
312 Security#getProvider(). Unfortunately, that method is permitted to return
313 null if the system has no provider with the requested name. And since we don't
314 have the SunJCE provider, tests fail",
315 result: EXEC_FAILED,
316 name: "com.sun.crypto.provider.Cipher.RSA.TestOAEPParameterSpec",
317 pattern: ".*TestOAEPParameterSpec.java\\:124\\).*NullPointerException.*"
318},
319{
320 description: "These NPEs all happen while calling Provider#getName on the result of
321 Security#getProvider(). Unfortunately, that method is permitted to return
322 null if the system has no provider with the requested name. And since we don't
323 have the SunJCE provider, tests fail",
324 result: EXEC_FAILED,
325 name: "com.sun.crypto.provider.Cipher.RSA.TestOAEPWithParams",
326 pattern: ".*TestOAEPWithParams.java\\:58\\).*NullPointerException.*"
327},
328{
329 description: "These NPEs all happen while calling Provider#getName on the result of
330 Security#getProvider(). Unfortunately, that method is permitted to return
331 null if the system has no provider with the requested name. And since we don't
332 have the SunJCE provider, tests fail",
333 result: EXEC_FAILED,
334 name: "com.sun.crypto.provider.Cipher.RSA.TestRSA",
335 pattern: ".*TestRSA.java\\:171\\).*NullPointerException.*"
336},
337{
338 description: "These NPEs all happen while calling Provider#getName on the result of
339 Security#getProvider(). Unfortunately, that method is permitted to return
340 null if the system has no provider with the requested name. And since we don't
341 have the SunJCE provider, tests fail",
342 result: EXEC_FAILED,
343 name: "com.sun.crypto.provider.Mac.HmacSaltLengths",
344 pattern: ".*HmacSaltLengths.java\\:83\\).*java.lang.NullPointerException.*"
345},
346{
347 description: "These NPEs all happen while calling Provider#getName on the result of
348 Security#getProvider(). Unfortunately, that method is permitted to return
349 null if the system has no provider with the requested name. And since we don't
350 have the SunJCE provider, tests fail",
351 result: EXEC_FAILED,
352 name: "com.sun.crypto.provider.Mac.MacKAT",
353 pattern: ".*MacKAT.java\\:228\\).*java.lang.NullPointerException.*"
354},
355{
356 description: "These tests call into misc Sun classes that we don't have",
357 result: COMPILE_FAILED,
358 name: "com.sun.crypto.provider.KeyAgreement.DHKeyAgreement2",
359 pattern: ".*cannot find symbol.*sun.misc.HexDumpEncoder.*"
360},
361{
362 description: "These tests call into misc Sun classes that we don't have",
363 result: COMPILE_FAILED,
364 name: "com.sun.crypto.provider.Cipher.KeyWrap.XMLEncKAT",
365 pattern: ".*cannot find symbol.*sun.misc.BASE64Decoder.*"
366},
367{
368 description: "These tests call into misc Sun classes that we don't have",
369 result: COMPILE_FAILED,
370 names: [
371 "com.sun.crypto.provider.TLS.TestKeyMaterial",
372 "com.sun.crypto.provider.TLS.TestMasterSecret",
373 "com.sun.crypto.provider.TLS.TestPremaster",
374 "com.sun.crypto.provider.TLS.TestPRF"
375 ],
376 substring: "package sun.security.internal.spec does not exist"
377},
378{
379 description: "We don't have most com.sun packages.",
380 result: COMPILE_FAILED,
381 failure: "Dalvik doesn't include Sun packages",
382 pattern: ".*package (com\\.)?sun\\.[\\w\\.]+ does not exist.*"
383},
384{
385 description: "We don't have several Java packages either.",
386 result: COMPILE_FAILED,
387 failure: "Dalvik doesn't include applets",
388 substring: "package java.applet does not exist"
389},
390{
391 description: "We don't have several Java packages either.",
392 result: COMPILE_FAILED,
393 failure: "Dalvik doesn't include AWT (bug it has java.awt.font)",
394 pattern: ".*package java.awt(\\.image)? does not exist.*"
395},
396{
397 description: "We don't have several Java packages either.",
398 result: "COMPILE_FAILED",
399 failure: "Dalvik doesn't include NIO.2",
400 substring: "package java.nio.file does not exist"
401},
402{
403 description: "We don't have several Java packages either.",
404 result: "COMPILE_FAILED",
405 failure: "Dalvik doesn't include RMI",
406 substring: "package java.rmi does not exist"
407},
408{
409 description: "We don't have several Java packages either.",
410 result: "COMPILE_FAILED",
411 failure: "Dalvik doesn't include JNDI",
412 substring: "package javax.naming does not exist"
413},
414{
415 description: "We don't have several Java packages either.",
416 result: "COMPILE_FAILED",
417 failure: "Dalvik doesn't include JMX",
418 substring: "package java.lang.management does not exist"
419},
420{
421 description: "We don't have several Java packages either.",
422 result: "COMPILE_FAILED",
423 failure: "Dalvik doesn't include Swing",
424 substring: "package javax.swing.tree does not exist"
425},
426{
427 description: "We don't have several Java packages either.",
428 result: "COMPILE_FAILED",
429 failure: "Dalvik doesn't include javax.crypto",
430 substring: "package javax.xml.crypto does not exist"
431},
432{
433 description: "Dalvik doesn't include a com.sun.net HTTP server",
434 result: UNSUPPORTED,
435 names: [
436 "com.sun.net.httpserver",
437 "sun.net.www"
438 ]
439},
440{
441 description: "Dalvik doesn't include AWT except the font package",
442 result: UNSUPPORTED,
443 name: "java.awt"
444},
445{
446 description: "Dalvik doesn't include AWT except the font package",
447 result: "SUCCESS",
448 names: [
449 "java.awt.FontClass",
450 "java.awt.font"
451 ]
452},
453{
454 description: "Dalvik doesn't include java.beans except for property listeners",
455 result: UNSUPPORTED,
456 name: "java.beans"
457},
458{
459 description: "Dalvik doesn't include java.beans except for property listeners",
460 result: "SUCCESS",
461 name: "java.beans.PropertyChangeSupport"
462},
463{
464 description: "Dalvik doesn't include java.lang.instrument",
465 result: UNSUPPORTED,
466 name: "java.lang.instrument"
467},
468{
469 description: "Dalvik doesn't include java.lang.management",
470 result: UNSUPPORTED,
471 name: "java.lang.management"
472},
473{
474 description: "Dalvik doesn't include RMI",
475 result: UNSUPPORTED,
476 names: [
477 "java.rmi",
478 "sun.rmi"
479 ]
480},
481{
482 description: "Dalvik doesn't include javax.imageio",
483 result: UNSUPPORTED,
484 name: "javax.imageio"
485},
486{
487 description: "Dalvik doesn't include javax.management",
488 result: UNSUPPORTED,
489 name: "javax.management"
490},
491{
492 description: "Dalvik doesn't include javax.naming",
493 result: UNSUPPORTED,
494 name: "javax.naming"
495},
496{
497 description: "Dalvik doesn't include javax.print",
498 result: UNSUPPORTED,
499 name: "javax.print"
500},
501{
502 description: "Dalvik doesn't include javax.script",
503 result: UNSUPPORTED,
504 name: "javax.script"
505},
506{
507 description: "Dalvik doesn't include javax.sound",
508 result: UNSUPPORTED,
509 name: "javax.sound"
510},
511{
512 description: "Dalvik doesn't include javax.swing",
513 result: UNSUPPORTED,
514 name: "javax.swing"
515},
516{
517 description: "Dalvik doesn't include sun.management",
518 result: UNSUPPORTED,
519 name: "sun.management"
520},
521{
522 description: "Dalvik doesn't include javax.smartcardio",
523 result: UNSUPPORTED,
524 name: "sun.security.smartcardio"
525},
526{
527 description: "Our exception messages don't match the RIs",
528 result: EXEC_FAILED,
529 names: [
530 "java.lang.StringBuilder.Exceptions",
531 "java.lang.StringBuffer.Exceptions"
532 ],
533 substring: "got java.lang.StringIndexOutOfBoundsException: null - FAILED"
534},
535{
536 description: "ICU doesn't like 3-letter names like CST because they're ambiguous.
537 Harmony prefers them because they're more human readable. We'll be
538 consistent with ICU, since that seems least fragile.
539 See https://issues.apache.org/jira/browse/HARMONY-5468
540 and http://bugs.icu-project.org/trac/ticket/6174",
541 result: EXEC_FAILED,
542 name: "org.apache.harmony.luni.tests.java.util.DateTest#test_toString",
543 substring: "GMT-07:00"
544},
545{
Elliott Hughes74473972013-08-28 17:04:40 -0700546 description: "These Harmony tests are enforcing a buggy behavior in TreeMap, presumably to be bug-compatible
Jesse Wilson9b3d2ab2010-09-23 13:48:25 -0700547 with the RI. Our implementation is more conservative and throws on the bogus inputs.",
548 result: EXEC_FAILED,
549 name: "org.apache.harmony.luni.tests.java.util.TreeMapExtendTest#test_AscendingSubMapKeySet_headSet",
550 substring: "java.lang.IllegalArgumentException: 100 not in range (100..109]"
551},
552{
Elliott Hughes74473972013-08-28 17:04:40 -0700553 description: "These Harmony tests are enforcing a buggy behavior in TreeMap, presumably to be bug-compatible
Jesse Wilson9b3d2ab2010-09-23 13:48:25 -0700554 with the RI. Our implementation is more conservative and throws on the bogus inputs.",
555 result: EXEC_FAILED,
556 names: [
557 "org.apache.harmony.luni.tests.java.util.TreeMapExtendTest#test_AscendingSubMapKeySet_tailSet",
558 "org.apache.harmony.luni.tests.java.util.TreeMapExtendTest#test_DescendingSubMapKeySet_headSet"
559 ],
560 substring: "java.lang.IllegalArgumentException: null not in range [100..109)"
561},
562{
Elliott Hughes74473972013-08-28 17:04:40 -0700563 description: "These Harmony tests are enforcing a buggy behavior in TreeMap, presumably to be bug-compatible
Jesse Wilson9b3d2ab2010-09-23 13:48:25 -0700564 with the RI. Our implementation is more conservative and throws on the bogus inputs.",
565 result: EXEC_FAILED,
566 names: [
567 "org.apache.harmony.luni.tests.java.util.TreeMapExtendTest#test_DescendingSubMap_tailMap",
568 "org.apache.harmony.luni.tests.java.util.TreeMapExtendTest#test_DescendingSubMapKeySet_tailSet",
569 "org.apache.harmony.luni.tests.java.util.TreeMapExtendTest#test_SubMap_headMap"
570 ],
571 substring: "java.lang.IllegalArgumentException: 100 not in range (100..109]"
572},
573{
574 description: "why are they using reflection to test implementation details?",
575 result: EXEC_FAILED,
576 name: "org.apache.harmony.luni.tests.java.util.ArraysTest#test_swap_I_I_$Ljava_lang_Object",
577 substring: "java.lang.NoSuchMethodException"
578},
579{
580 description: "all these tests rely on a Harmony bug where TreeMaps may have a singleton null, which we choose
581 to disallow.",
582 result: EXEC_FAILED,
583 name: "org.apache.harmony.luni.tests.java.util.SimpleImmutableEntryTest#test_SimpleImmutableEntry_Constructor_LEntry",
584 pattern: ".*java.lang.NullPointerException.*at java.util.TreeMap.find.*"
585},
586{
587 description: "all these tests rely on a Harmony bug where TreeMaps may have a singleton null, which we choose
588 to disallow.",
589 result: EXEC_FAILED,
590 names: [
591 "org.apache.harmony.luni.tests.java.util.TreeMapTest#test_ceilingEntry",
592 "org.apache.harmony.luni.tests.java.util.TreeMapTest#test_ceilingKey",
593 "org.apache.harmony.luni.tests.java.util.TreeMapTest#test_floorEntry",
594 "org.apache.harmony.luni.tests.java.util.TreeMapTest#test_floorKey",
595 "org.apache.harmony.luni.tests.java.util.TreeMapTest#test_higherEntry",
596 "org.apache.harmony.luni.tests.java.util.TreeMapTest#test_higherKey",
597 "org.apache.harmony.luni.tests.java.util.TreeMapTest#test_lowerEntry",
598 "org.apache.harmony.luni.tests.java.util.TreeMapTest#test_lowerKey"
599 ],
600 substring: "java.lang.NullPointerException"
601},
602{
603 description: "all these tests rely on a Harmony bug where TreeMaps may have a singleton null, which we choose
604 to disallow.",
605 result: EXEC_FAILED,
606 name: "org.apache.harmony.luni.tests.java.util.TreeMapTest#test_illegalFirstNullKey",
607 pattern: ".*java.lang.NullPointerException.*at java.util.TreeMap.find.*"
608},
609{
610 description: "this is testing exception priorities",
611 result: EXEC_FAILED,
612 name: "org.apache.harmony.luni.tests.java.util.TreeMapTest#test_subMapLjava_lang_ObjectLjava_lang_Object",
613 substring: "java.lang.ClassCastException: java.lang.Object"
614},
615{
616 description: "the null-friendly comparator isn't symmetric",
617 result: EXEC_FAILED,
618 name: "org.apache.harmony.luni.tests.java.util.TreeMapTest#test_subMapLjava_lang_ObjectZLjava_lang_ObjectZ",
619 substring: "java.lang.NullPointerException"
620},
621{
622 description: "we fail fast on not-comparable objects",
623 result: EXEC_FAILED,
624 names: [
625 "org.apache.harmony.luni.tests.java.util.TreeMapTest#test_equals",
626 "org.apache.harmony.luni.tests.java.util.TreeMapTest#test_putLjava_lang_ObjectLjava_lang_Object"
627 ],
628 substring: "java.lang.ClassCastException: java.lang.Object"
629},
630{
631 description: "tests that depend on the iteration order of a hash",
632 result: EXEC_FAILED,
633 name: "org.apache.harmony.luni.tests.java.util.CollectionsTest#test_unmodifiable_toString_methods",
634 substring: "expected:<...one=1, two=2...> but was:<...two=2, one=1...>"
635},
636{
637 description: "tests that depend on the iteration order of a hash",
638 result: EXEC_FAILED,
639 name: "org.apache.harmony.luni.tests.java.util.HashtableTest#test_keySet_subtest1",
640 pattern: ".*java.lang.IllegalStateException.*at java.util.Hashtable.*"
641},
642{
643 description: "tests that depend on the iteration order of a hash",
644 result: EXEC_FAILED,
645 name: "org.apache.harmony.luni.tests.java.util.HashtableTest#test_elements_subtest0",
646 substring: "junit.framework.AssertionFailedError: unexpected: b"
647},
648{
649 description: "tests that depend on the iteration order of a hash",
650 result: EXEC_FAILED,
651 name: "org.apache.harmony.luni.tests.java.util.HashMapTest#test_rehash",
652 substring: "junit.framework.AssertionFailedError: expected same"
653},
654{
655 description: "tests that depend on the iteration order of a hash",
656 result: EXEC_FAILED,
657 name: "org.apache.harmony.luni.tests.java.util.PropertiesTest#test_SequentialpropertyNames",
658 substring: "expected:<current.b.key> but was:<current.a.key>"
659},
660{
661 description: "tests that depend on the iteration order of a hash",
662 result: EXEC_FAILED,
663 name: "org.apache.harmony.luni.tests.java.util.PropertiesTest#test_SequentialstringPropertyNames",
664 substring: "junit.framework.ComparisonFailure"
665},
666{
667 description: "tests that depend on the iteration order of a hash",
668 result: EXEC_FAILED,
669 name: "org.apache.harmony.luni.tests.java.util.PropertiesTest#test_propertyNames_sequence",
670 substring: "junit.framework.AssertionFailedError: expected:<current.b.key> but was:<current.a.key>"
671},
672{
673 description: "tests that use secret type information to reason about behavior",
674 result: EXEC_FAILED,
675 name: "org.apache.harmony.luni.tests.java.util.HashtableTest#test_keySet",
676 substring: "junit.framework.ComparisonFailure: Not synchronized expected:<...Collections$Synchronized...> but was:<...Hashtable$Key...>"
677},
678{
679 description: "tests that use secret type information to reason about behavior",
680 result: EXEC_FAILED,
681 name: "org.apache.harmony.luni.tests.java.util.HashtableTest#test_entrySet",
682 substring: "junit.framework.ComparisonFailure: Not synchronized expected:<...Collections$Synchronized...> but was:<...Hashtable$Entry...>"
683},
684{
685 description: "tests that use secret type information to reason about behavior",
686 result: EXEC_FAILED,
687 name: "org.apache.harmony.luni.tests.java.util.HashtableTest#test_values",
688 substring: "junit.framework.ComparisonFailure: Not synchronized expected:<...Collections$SynchronizedCollection> but was:<...Hashtable$Values>"
689},
690{
691 description: "this test is invalid, proxy.equals isn't symmetric",
692 result: EXEC_FAILED,
693 name: "org.apache.harmony.luni.tests.java.util.HashMapTest#test_proxies"
694},
695{
696 description: "this test is invalid, the mock map's entry set isn't to spec",
697 result: EXEC_FAILED,
698 name: "org.apache.harmony.luni.tests.java.util.HashMapTest#test_putAllLjava_util_Map",
699 substring: "java.lang.NullPointerException"
700},
701{
702 description: "this test assumes remove acts on equals() equality, not comparator equality",
703 result: EXEC_FAILED,
704 name: "org.apache.harmony.luni.tests.java.util.PriorityQueueTest#test_remove_Ljava_lang_Object_using_comparator",
705 substring: "junit.framework.AssertionFailedError"
706},
707{
708 description: "tests that violate the API and then guess about the outcomes",
709 result: EXEC_FAILED,
710 name: "org.apache.harmony.luni.tests.java.util.HashtableTest#test_getLjava_lang_Object",
711 substring: "junit.framework.AssertionFailedError"
712},
713{
714 description: "this test assumes Integer.toString() always returns a new instance",
715 result: EXEC_FAILED,
716 name: "org.apache.harmony.luni.tests.java.util.IdentityHashMap2Test#test_containsKeyLjava_lang_Object",
717 substring: "junit.framework.AssertionFailedError: Returned true for copy of valid key"
718},
719{
720 description: "tests that cast to Harmony-specific types",
721 result: EXEC_FAILED,
722 failure: "bogus cast to harmony Hashtable$KeyEnumeration",
723 substring: "java.util.Hashtable$KeyEnumeration"
724},
725{
726 description: "tests that cast to Harmony-specific types",
727 result: EXEC_FAILED,
728 failure: "bogus cast to Hashtable$ValueEnumeration",
729 substring: "java.util.Hashtable$ValueEnumeration"
730},
731{
732 description: "test doesn't expect it, but the spec permits the exception. RI also throws here.",
733 result: EXEC_FAILED,
734 names: [
735 "org.apache.harmony.luni.tests.java.util.PriorityQueueTest#test_remove_Ljava_lang_Object_not_Compatible",
736 "org.apache.harmony.luni.tests.java.util.PriorityQueueTest#test_remove_Ljava_lang_Object_not_exists"
737 ],
738 substring: "java.lang.ClassCastException"
739},
740{
741 description: "localization tests where our data disagree",
742 result: EXEC_FAILED,
743 name: "org.apache.harmony.luni.tests.java.util.LocaleTest#test_getAvailableLocales",
744 substring: "Wrong number of locales"
745},
746{
747 description: "test that enforce redundant implements clauses",
748 result: EXEC_FAILED,
749 name: "org.apache.harmony.luni.tests.java.util.LinkedHashMapTest#test_getInterfaces",
750 substring: "junit.framework.AssertionFailedError: expected:<3> but was:<2>"
751},
752{
Jesse Wilson9b3d2ab2010-09-23 13:48:25 -0700753 description: "we don't support the CharsetProvider spi, so we don't have \"mockCharset00\".",
754 result: EXEC_FAILED,
Narayan Kamathe5fea3d2013-11-15 11:02:26 +0000755 name: "org.apache.harmony.tests.java.nio.charset.CharsetTest#test_availableCharsets",
Jesse Wilson9b3d2ab2010-09-23 13:48:25 -0700756 substring: "junit.framework.AssertionFailedError"
757},
758{
759 description: "we don't support the CharsetProvider spi, so we don't have \"mockCharset00\".",
760 result: EXEC_FAILED,
Narayan Kamathe5fea3d2013-11-15 11:02:26 +0000761 name: "org.apache.harmony.tests.java.nio.charset.CharsetTest#test_forNameLString",
Jesse Wilson9b3d2ab2010-09-23 13:48:25 -0700762 substring: "java.nio.charset.UnsupportedCharsetException: mockCharset00"
763},
764{
765 description: "the average length of possible UTF-8 sequences is 2 bytes.",
766 result: EXEC_FAILED,
Narayan Kamathe5fea3d2013-11-15 11:02:26 +0000767 name: "org.apache.harmony.tests.java.nio.charset.UTFCharsetEncoderTest#testSpecificDefaultValue",
Jesse Wilson9b3d2ab2010-09-23 13:48:25 -0700768 substring: "junit.framework.AssertionFailedError: expected:<1.1> but was:<2.0>"
769},
770{
Jesse Wilson9b3d2ab2010-09-23 13:48:25 -0700771 description: "this test needs external interaction",
772 result: UNSUPPORTED,
773 names: [
774 "com.sun.tools.attach.Application",
775 "java.io.SystemInAvailable",
776 "sun.jvmstat.testlibrary.Sleeper"
777 ]
778},
779{
780 description: "these benchmarks take a long time and don't demonstrate correctness",
781 result: UNSUPPORTED,
782 names: [
783 "java.lang.Class.TypeCheckMicroBenchmark",
784 "java.nio.Buffer.SwapMicroBenchmark",
785 "java.util.ArrayList.RangeCheckMicroBenchmark",
786 "java.util.ArrayList.IteratorMicroBenchmark"
787 ]
788},
789{
790 description: "The RI is still on Unicode 4.0, we're on 5.2, and Harmony is inconsistent
791 between its test for isJavaIdentifierPart(char) and isJavaIdentifierPart(int).",
792 result: EXEC_FAILED,
793 name: "org.apache.harmony.luni.tests.java.lang.CharacterTest#test_isJavaIdentifierPartC"
794},
795{
796 description: "We removed this: we don't support Pack200.",
797 result: UNSUPPORTED,
798 name: "org.apache.harmony.archive.tests.java.util.jar.Pack200Test"
799},
800{
801 description: "We removed this: we don't cache canonical paths.",
802 result: UNSUPPORTED,
803 name: "org.apache.harmony.luni.tests.java.io.FileCanonPathCacheTest"
804},
805{
806 description: "We removed this: we don't throw NotYetImplementedException.",
807 result: UNSUPPORTED,
808 name: "org.apache.harmony.luni.tests.util.NYITest"
809},
810{
811 description: "We removed this: we don't support localized exceptions.",
812 result: UNSUPPORTED,
813 name: "org.apache.harmony.luni.tests.internal.nls.MessagesTest"
814},
815{
Jesse Wilson9b3d2ab2010-09-23 13:48:25 -0700816 description: "These format specifiers are documented to not take flags, but the RI accepts and ignores them.",
817 result: EXEC_FAILED,
818 name: "org.apache.harmony.luni.tests.java.util.FormatterTest#test_formatLjava_lang_String$Ljava_lang_Object_LineSeparator",
819 substring: "java.util.IllegalFormatFlagsException: %n doesn't take an argument"
820},
821{
822 description: "These format specifiers are documented to not take flags, but the RI accepts and ignores them.",
823 result: EXEC_FAILED,
824 names: [
825 "org.apache.harmony.luni.tests.java.util.FormatterTest#test_formatLjava_lang_String$Ljava_lang_Object_Percent",
826 "org.apache.harmony.luni.tests.java.util.FormatterTest#test_formatLjava_lang_String$Ljava_lang_Object_Width"
827 ],
828 substring: "java.util.IllegalFormatFlagsException: %% doesn't take an argument"
829},
830{
Jesse Wilson9b3d2ab2010-09-23 13:48:25 -0700831 description: "Some tests (ExcludedProxyTest) connect to a public webserver to check that the HTTP client works",
832 result: EXEC_FAILED,
833 failure: "connect to the Internet",
834 pattern: ".*java.net.UnknownHostException:.*jcltest.apache.org.*"
835},
836{
837 description: "These tests violate visibility rules when trying to unit test internal classes",
838 result: EXEC_FAILED,
839 name: "javax.net.ssl.DefaultSSLSocketFactoryTest",
840 substring: "java.lang.IllegalAccessError: tried to access class javax.net.ssl.DefaultSSLSocketFactory from class javax.net.ssl.DefaultSSLSocketFactoryTest"
841},
842{
843 description: "These tests expect to be called with commandline arguments",
844 result: EXEC_FAILED,
845 name: "java.io.FileOutputStream.FileOpenNeg",
846 substring: "java.lang.ArrayIndexOutOfBoundsException"
847},
848{
849 description: "",
850 result: EXEC_FAILED,
851 name: "java.io.FileOutputStream.FileOpenPos",
852 substring: "java.lang.ArrayIndexOutOfBoundsException"
Narayan Kamathbf44cb02013-11-13 13:17:00 +0000853},
854{
855 description: "Some tests depend on ICU data, which has changed. Others make assumptions about floating point rounding",
856 result: EXEC_FAILED,
857 names: [
Narayan Kamathab762bb2013-11-15 18:40:14 +0000858 "org.apache.harmony.tests.java.util.FormatterTest#test_formatLjava_lang_String$Ljava_lang_Object_BigDecimalExceptionOrder",
859 "org.apache.harmony.tests.java.util.FormatterTest#test_formatLjava_lang_String$Ljava_lang_Object_DateTimeConversion",
860 "org.apache.harmony.tests.java.util.FormatterTest#test_formatLjava_lang_String$Ljava_lang_Object_FloatConversionE",
861 "org.apache.harmony.tests.java.util.FormatterTest#test_formatLjava_lang_String$Ljava_lang_Object_FloatConversionF",
862 "org.apache.harmony.tests.java.util.FormatterTest#test_formatLjava_lang_String$Ljava_lang_Object_FloatConversionG",
863 "org.apache.harmony.tests.java.util.FormatterTest#test_formatLjava_lang_String$Ljava_lang_Object_FloatDoubleBigDecimalExceptionOrder",
864 "org.apache.harmony.tests.java.util.FormatterTest#test_formatLjava_lang_String$Ljava_lang_Object_GeneralConversionOther",
865 "org.apache.harmony.tests.java.util.FormatterTest#test_formatLjava_lang_String$Ljava_lang_Object_LineSeparator",
866 "org.apache.harmony.tests.java.util.FormatterTest#test_formatLjava_lang_String$Ljava_lang_Object_Percent",
867 "org.apache.harmony.tests.java.util.FormatterTest#test_formatLjava_lang_String$Ljava_lang_Object_Width"
Narayan Kamathbf44cb02013-11-13 13:17:00 +0000868 ]
869},
870{
871 description: "(Needs investigation) Some tests make assertions that don't make sense, others use broken port allocation logic.",
872 result: EXEC_FAILED,
873 names: [
Narayan Kamathab762bb2013-11-15 18:40:14 +0000874 "org.apache.harmony.tests.java.net.Inet6AddressTest#test_getByNameLjava_lang_String",
875 "org.apache.harmony.tests.java.net.InetAddressTest#test_equalsLjava_lang_Object",
876 "org.apache.harmony.tests.java.net.InetAddressTest#test_getByNameLjava_lang_String",
877 "org.apache.harmony.tests.java.net.InetAddressTest#test_isReachableLjava_net_NetworkInterfaceII_loopbackInterface",
878 "org.apache.harmony.tests.java.net.MulticastSocketTest#test_joinGroupLjava_net_SocketAddressLjava_net_NetworkInterface",
879 "org.apache.harmony.tests.java.net.MulticastSocketTest#test_joinGroupLjava_net_SocketAddressLjava_net_NetworkInterface_IPv4"
Narayan Kamathbf44cb02013-11-13 13:17:00 +0000880 ]
Jesse Wilson9b3d2ab2010-09-23 13:48:25 -0700881}
882]