1/* 2 * This file contains expectations for tests that we'd like to eventually fix, but aren't urgent. 3 */ 4[ 5{ 6 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{ 11 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)", 17 name: "libcore.java.net.URLConnectionTest#testServerShutdownInput", 18 bug: 5534202 19}, 20{ 21 description: "Support digest authentication in HttpURLConnection", 22 name: "libcore.net.http.ParsedHeadersTest#testParseChallengesWithManyParameters", 23 bug: 6156454 24}, 25{ 26 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{ 31 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", 46 "libcore.java.nio.charset.CharsetEncoderTest#testCharsetEncoderSurrogatesBrokenByDesign_REPORT_RI" 47 ] 48}, 49{ 50 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 52 a security manager. This suppresses all of these failures.", 53 result: EXEC_FAILED, 54 failure: "disable securityManager", 55 pattern: ".*java.lang.SecurityException\\s+at java.lang.System.setSecurityManager.*", 56 bug: 2585285 57}, 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, 104 name: "org.apache.harmony.logging.tests.java.util.logging.OldLoggerTest#testGetLoggerWithRes_InvalidResourceBundle", 105 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{ 546 description: "These harmony tests are broken. The RI doesn't ship with es__TRADITIONAL, so 547 they have incorrect expectations. 548 http://b/2608750", 549 result: EXEC_FAILED, 550 names: [ 551 "org.apache.harmony.text.tests.java.text.RuleBasedCollatorTest#testGetCollationElementIteratorCharacterIterator", 552 "org.apache.harmony.text.tests.java.text.RuleBasedCollatorTest#testGetCollationElementIteratorString" 553 ], 554 substring: "expected:<1> but was:<2>" 555}, 556{ 557 description: "This test fails because on Android, RuleBasedCollators default to 558 CANONICAL_DECOMPOSITION, not NO_DECOMPOSITION.", 559 result: EXEC_FAILED, 560 name: "org.apache.harmony.text.tests.java.text.RuleBasedCollatorTest#testEqualsObject", 561 substring: "expected:<0> but was:<1>" 562}, 563{ 564 description: "These Harmony tests are enforcing a buggy behaviour in TreeMap, presumably to be bug-compatible 565 with the RI. Our implementation is more conservative and throws on the bogus inputs.", 566 result: EXEC_FAILED, 567 name: "org.apache.harmony.luni.tests.java.util.TreeMapExtendTest#test_AscendingSubMapKeySet_headSet", 568 substring: "java.lang.IllegalArgumentException: 100 not in range (100..109]" 569}, 570{ 571 description: "These Harmony tests are enforcing a buggy behaviour in TreeMap, presumably to be bug-compatible 572 with the RI. Our implementation is more conservative and throws on the bogus inputs.", 573 result: EXEC_FAILED, 574 names: [ 575 "org.apache.harmony.luni.tests.java.util.TreeMapExtendTest#test_AscendingSubMapKeySet_tailSet", 576 "org.apache.harmony.luni.tests.java.util.TreeMapExtendTest#test_DescendingSubMapKeySet_headSet" 577 ], 578 substring: "java.lang.IllegalArgumentException: null not in range [100..109)" 579}, 580{ 581 description: "These Harmony tests are enforcing a buggy behaviour in TreeMap, presumably to be bug-compatible 582 with the RI. Our implementation is more conservative and throws on the bogus inputs.", 583 result: EXEC_FAILED, 584 names: [ 585 "org.apache.harmony.luni.tests.java.util.TreeMapExtendTest#test_DescendingSubMap_tailMap", 586 "org.apache.harmony.luni.tests.java.util.TreeMapExtendTest#test_DescendingSubMapKeySet_tailSet", 587 "org.apache.harmony.luni.tests.java.util.TreeMapExtendTest#test_SubMap_headMap" 588 ], 589 substring: "java.lang.IllegalArgumentException: 100 not in range (100..109]" 590}, 591{ 592 description: "why are they using reflection to test implementation details?", 593 result: EXEC_FAILED, 594 name: "org.apache.harmony.luni.tests.java.util.ArraysTest#test_swap_I_I_$Ljava_lang_Object", 595 substring: "java.lang.NoSuchMethodException" 596}, 597{ 598 description: "all these tests rely on a Harmony bug where TreeMaps may have a singleton null, which we choose 599 to disallow.", 600 result: EXEC_FAILED, 601 name: "org.apache.harmony.luni.tests.java.util.SimpleImmutableEntryTest#test_SimpleImmutableEntry_Constructor_LEntry", 602 pattern: ".*java.lang.NullPointerException.*at java.util.TreeMap.find.*" 603}, 604{ 605 description: "all these tests rely on a Harmony bug where TreeMaps may have a singleton null, which we choose 606 to disallow.", 607 result: EXEC_FAILED, 608 names: [ 609 "org.apache.harmony.luni.tests.java.util.TreeMapTest#test_ceilingEntry", 610 "org.apache.harmony.luni.tests.java.util.TreeMapTest#test_ceilingKey", 611 "org.apache.harmony.luni.tests.java.util.TreeMapTest#test_floorEntry", 612 "org.apache.harmony.luni.tests.java.util.TreeMapTest#test_floorKey", 613 "org.apache.harmony.luni.tests.java.util.TreeMapTest#test_higherEntry", 614 "org.apache.harmony.luni.tests.java.util.TreeMapTest#test_higherKey", 615 "org.apache.harmony.luni.tests.java.util.TreeMapTest#test_lowerEntry", 616 "org.apache.harmony.luni.tests.java.util.TreeMapTest#test_lowerKey" 617 ], 618 substring: "java.lang.NullPointerException" 619}, 620{ 621 description: "all these tests rely on a Harmony bug where TreeMaps may have a singleton null, which we choose 622 to disallow.", 623 result: EXEC_FAILED, 624 name: "org.apache.harmony.luni.tests.java.util.TreeMapTest#test_illegalFirstNullKey", 625 pattern: ".*java.lang.NullPointerException.*at java.util.TreeMap.find.*" 626}, 627{ 628 description: "this is testing exception priorities", 629 result: EXEC_FAILED, 630 name: "org.apache.harmony.luni.tests.java.util.TreeMapTest#test_subMapLjava_lang_ObjectLjava_lang_Object", 631 substring: "java.lang.ClassCastException: java.lang.Object" 632}, 633{ 634 description: "the null-friendly comparator isn't symmetric", 635 result: EXEC_FAILED, 636 name: "org.apache.harmony.luni.tests.java.util.TreeMapTest#test_subMapLjava_lang_ObjectZLjava_lang_ObjectZ", 637 substring: "java.lang.NullPointerException" 638}, 639{ 640 description: "we fail fast on not-comparable objects", 641 result: EXEC_FAILED, 642 names: [ 643 "org.apache.harmony.luni.tests.java.util.TreeMapTest#test_equals", 644 "org.apache.harmony.luni.tests.java.util.TreeMapTest#test_putLjava_lang_ObjectLjava_lang_Object" 645 ], 646 substring: "java.lang.ClassCastException: java.lang.Object" 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.CollectionsTest#test_unmodifiable_toString_methods", 652 substring: "expected:<...one=1, two=2...> but was:<...two=2, one=1...>" 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.HashtableTest#test_keySet_subtest1", 658 pattern: ".*java.lang.IllegalStateException.*at java.util.Hashtable.*" 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.HashtableTest#test_elements_subtest0", 664 substring: "junit.framework.AssertionFailedError: unexpected: b" 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.HashMapTest#test_rehash", 670 substring: "junit.framework.AssertionFailedError: expected same" 671}, 672{ 673 description: "tests that depend on the iteration order of a hash", 674 result: EXEC_FAILED, 675 name: "org.apache.harmony.luni.tests.java.util.PropertiesTest#test_SequentialpropertyNames", 676 substring: "expected:<current.b.key> but was:<current.a.key>" 677}, 678{ 679 description: "tests that depend on the iteration order of a hash", 680 result: EXEC_FAILED, 681 name: "org.apache.harmony.luni.tests.java.util.PropertiesTest#test_SequentialstringPropertyNames", 682 substring: "junit.framework.ComparisonFailure" 683}, 684{ 685 description: "tests that depend on the iteration order of a hash", 686 result: EXEC_FAILED, 687 name: "org.apache.harmony.luni.tests.java.util.PropertiesTest#test_propertyNames_sequence", 688 substring: "junit.framework.AssertionFailedError: expected:<current.b.key> but was:<current.a.key>" 689}, 690{ 691 description: "tests that use secret type information to reason about behavior", 692 result: EXEC_FAILED, 693 name: "org.apache.harmony.luni.tests.java.util.HashtableTest#test_keySet", 694 substring: "junit.framework.ComparisonFailure: Not synchronized expected:<...Collections$Synchronized...> but was:<...Hashtable$Key...>" 695}, 696{ 697 description: "tests that use secret type information to reason about behavior", 698 result: EXEC_FAILED, 699 name: "org.apache.harmony.luni.tests.java.util.HashtableTest#test_entrySet", 700 substring: "junit.framework.ComparisonFailure: Not synchronized expected:<...Collections$Synchronized...> but was:<...Hashtable$Entry...>" 701}, 702{ 703 description: "tests that use secret type information to reason about behavior", 704 result: EXEC_FAILED, 705 name: "org.apache.harmony.luni.tests.java.util.HashtableTest#test_values", 706 substring: "junit.framework.ComparisonFailure: Not synchronized expected:<...Collections$SynchronizedCollection> but was:<...Hashtable$Values>" 707}, 708{ 709 description: "this test is invalid, proxy.equals isn't symmetric", 710 result: EXEC_FAILED, 711 name: "org.apache.harmony.luni.tests.java.util.HashMapTest#test_proxies" 712}, 713{ 714 description: "this test is invalid, the mock map's entry set isn't to spec", 715 result: EXEC_FAILED, 716 name: "org.apache.harmony.luni.tests.java.util.HashMapTest#test_putAllLjava_util_Map", 717 substring: "java.lang.NullPointerException" 718}, 719{ 720 description: "this test assumes remove acts on equals() equality, not comparator equality", 721 result: EXEC_FAILED, 722 name: "org.apache.harmony.luni.tests.java.util.PriorityQueueTest#test_remove_Ljava_lang_Object_using_comparator", 723 substring: "junit.framework.AssertionFailedError" 724}, 725{ 726 description: "tests that violate the API and then guess about the outcomes", 727 result: EXEC_FAILED, 728 name: "org.apache.harmony.luni.tests.java.util.HashtableTest#test_getLjava_lang_Object", 729 substring: "junit.framework.AssertionFailedError" 730}, 731{ 732 description: "this test assumes Integer.toString() always returns a new instance", 733 result: EXEC_FAILED, 734 name: "org.apache.harmony.luni.tests.java.util.IdentityHashMap2Test#test_containsKeyLjava_lang_Object", 735 substring: "junit.framework.AssertionFailedError: Returned true for copy of valid key" 736}, 737{ 738 description: "tests that cast to Harmony-specific types", 739 result: EXEC_FAILED, 740 failure: "bogus cast to harmony Hashtable$KeyEnumeration", 741 substring: "java.util.Hashtable$KeyEnumeration" 742}, 743{ 744 description: "tests that cast to Harmony-specific types", 745 result: EXEC_FAILED, 746 failure: "bogus cast to Hashtable$ValueEnumeration", 747 substring: "java.util.Hashtable$ValueEnumeration" 748}, 749{ 750 description: "test doesn't expect it, but the spec permits the exception. RI also throws here.", 751 result: EXEC_FAILED, 752 names: [ 753 "org.apache.harmony.luni.tests.java.util.PriorityQueueTest#test_remove_Ljava_lang_Object_not_Compatible", 754 "org.apache.harmony.luni.tests.java.util.PriorityQueueTest#test_remove_Ljava_lang_Object_not_exists" 755 ], 756 substring: "java.lang.ClassCastException" 757}, 758{ 759 description: "localization tests where our data disagree", 760 result: EXEC_FAILED, 761 name: "org.apache.harmony.luni.tests.java.util.LocaleTest#test_getAvailableLocales", 762 substring: "Wrong number of locales" 763}, 764{ 765 description: "test that enforce redundant implements clauses", 766 result: EXEC_FAILED, 767 name: "org.apache.harmony.luni.tests.java.util.LinkedHashMapTest#test_getInterfaces", 768 substring: "junit.framework.AssertionFailedError: expected:<3> but was:<2>" 769}, 770{ 771 description: "this is testing exception priorities", 772 result: EXEC_FAILED, 773 name: "org.apache.harmony.nio.tests.java.nio.channels.DatagramChannelTest#testReadByteBuffer_readOnlyBuf", 774 substring: "java.lang.IllegalArgumentException: read-only buffer" 775}, 776{ 777 description: "ICU doesn't provide localized pattern characters, and these tests assume the locale they're using has them.", 778 result: EXEC_FAILED, 779 name: "org.apache.harmony.text.tests.java.text.SimpleDateFormatTest#test_applyLocalizedPatternLjava_lang_String", 780 substring: "java.lang.IllegalArgumentException: Invalid pattern character 'u' in 'GuMtkHmsSEDFwWahKz'" 781}, 782{ 783 description: "ICU doesn't provide localized pattern characters, and these tests assume the locale they're using has them.", 784 result: EXEC_FAILED, 785 name: "org.apache.harmony.text.tests.java.text.SimpleDateFormatTest#test_toLocalizedPattern", 786 substring: "junit.framework.AssertionFailedError: Wrong pattern: GyMdkHmsSEDFwWahKz" 787}, 788{ 789 description: "ICU doesn't provide localized pattern characters, and these tests assume the locale they're using has them.", 790 result: EXEC_FAILED, 791 name: "org.apache.harmony.text.tests.java.text.DateFormatSymbolsTest#test_getLocalPatternChars", 792 substring: "junit.framework.ComparisonFailure: Returned incorrect pattern string expected:<...YeugAZvcLQqV> but was:<...Z>" 793}, 794{ 795 description: "we don't support the CharsetProvider spi, so we don't have \"mockCharset00\".", 796 result: EXEC_FAILED, 797 name: "tests.api.java.nio.charset.CharsetTest#test_availableCharsets", 798 substring: "junit.framework.AssertionFailedError" 799}, 800{ 801 description: "we don't support the CharsetProvider spi, so we don't have \"mockCharset00\".", 802 result: EXEC_FAILED, 803 name: "tests.api.java.nio.charset.CharsetTest#test_forNameLString", 804 substring: "java.nio.charset.UnsupportedCharsetException: mockCharset00" 805}, 806{ 807 description: "the average length of possible UTF-8 sequences is 2 bytes.", 808 result: EXEC_FAILED, 809 name: "tests.api.java.nio.charset.UTFCharsetEncoderTest#testSpecificDefaultValue", 810 substring: "junit.framework.AssertionFailedError: expected:<1.1> but was:<2.0>" 811}, 812{ 813 description: "We don't permit runtime switching of the default charset (and neither does the RI)", 814 result: EXEC_FAILED, 815 name: "org.apache.harmony.nio_char.tests.java.nio.charset.CharsetTest#test_defaultCharset", 816 substring: "expected:<ISO-8859-1> but was:<UTF-8>" 817}, 818{ 819 description: "this test needs external interaction", 820 result: UNSUPPORTED, 821 names: [ 822 "com.sun.tools.attach.Application", 823 "java.io.SystemInAvailable", 824 "sun.jvmstat.testlibrary.Sleeper" 825 ] 826}, 827{ 828 description: "these benchmarks take a long time and don't demonstrate correctness", 829 result: UNSUPPORTED, 830 names: [ 831 "java.lang.Class.TypeCheckMicroBenchmark", 832 "java.nio.Buffer.SwapMicroBenchmark", 833 "java.util.ArrayList.RangeCheckMicroBenchmark", 834 "java.util.ArrayList.IteratorMicroBenchmark" 835 ] 836}, 837{ 838 description: "The RI is still on Unicode 4.0, we're on 5.2, and Harmony is inconsistent 839 between its test for isJavaIdentifierPart(char) and isJavaIdentifierPart(int).", 840 result: EXEC_FAILED, 841 name: "org.apache.harmony.luni.tests.java.lang.CharacterTest#test_isJavaIdentifierPartC" 842}, 843{ 844 description: "We removed this: we don't support Pack200.", 845 result: UNSUPPORTED, 846 name: "org.apache.harmony.archive.tests.java.util.jar.Pack200Test" 847}, 848{ 849 description: "We removed this: we don't cache canonical paths.", 850 result: UNSUPPORTED, 851 name: "org.apache.harmony.luni.tests.java.io.FileCanonPathCacheTest" 852}, 853{ 854 description: "We removed this: we don't throw NotYetImplementedException.", 855 result: UNSUPPORTED, 856 name: "org.apache.harmony.luni.tests.util.NYITest" 857}, 858{ 859 description: "We removed this: we don't support localized exceptions.", 860 result: UNSUPPORTED, 861 name: "org.apache.harmony.luni.tests.internal.nls.MessagesTest" 862}, 863{ 864 description: "These test implementation details we don't share.", 865 result: EXEC_FAILED, 866 names: [ 867 "org.apache.harmony.text.tests.java.text.BreakIteratorTest#test_getInt", 868 "org.apache.harmony.text.tests.java.text.BreakIteratorTest#test_getLong", 869 "org.apache.harmony.text.tests.java.text.BreakIteratorTest#test_getShort" 870 ] 871}, 872{ 873 description: "These format specifiers are documented to not take flags, but the RI accepts and ignores them.", 874 result: EXEC_FAILED, 875 name: "org.apache.harmony.luni.tests.java.util.FormatterTest#test_formatLjava_lang_String$Ljava_lang_Object_LineSeparator", 876 substring: "java.util.IllegalFormatFlagsException: %n doesn't take an argument" 877}, 878{ 879 description: "These format specifiers are documented to not take flags, but the RI accepts and ignores them.", 880 result: EXEC_FAILED, 881 names: [ 882 "org.apache.harmony.luni.tests.java.util.FormatterTest#test_formatLjava_lang_String$Ljava_lang_Object_Percent", 883 "org.apache.harmony.luni.tests.java.util.FormatterTest#test_formatLjava_lang_String$Ljava_lang_Object_Width" 884 ], 885 substring: "java.util.IllegalFormatFlagsException: %% doesn't take an argument" 886}, 887{ 888 description: "Some tests (ExcludedProxyTest) connect to a public webserver to check that the HTTP client works", 889 result: EXEC_FAILED, 890 failure: "connect to the Internet", 891 pattern: ".*java.net.UnknownHostException:.*jcltest.apache.org.*" 892}, 893{ 894 description: "These tests violate visibility rules when trying to unit test internal classes", 895 result: EXEC_FAILED, 896 name: "javax.net.ssl.DefaultSSLSocketFactoryTest", 897 substring: "java.lang.IllegalAccessError: tried to access class javax.net.ssl.DefaultSSLSocketFactory from class javax.net.ssl.DefaultSSLSocketFactoryTest" 898}, 899{ 900 description: "These tests expect to be called with commandline arguments", 901 result: EXEC_FAILED, 902 name: "java.io.FileOutputStream.FileOpenNeg", 903 substring: "java.lang.ArrayIndexOutOfBoundsException" 904}, 905{ 906 description: "", 907 result: EXEC_FAILED, 908 name: "java.io.FileOutputStream.FileOpenPos", 909 substring: "java.lang.ArrayIndexOutOfBoundsException" 910} 911] 912