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