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