/*
 * This file contains expectations for tests that we'd like to eventually fix, but aren't urgent.
 */
[
{
  description: "We're retiring the security manager. Unfortunately, tests all over the place
                need to check that they're secure, so they all fail when we refuse to install
                a security manager. This suppresses all of these failures.",
  result: EXEC_FAILED,
  failure: "disable securityManager",
  pattern: ".*java.lang.SecurityException\\s+at java.lang.System.setSecurityManager.*",
  bug: 2585285
},
{
  description: "ignore compilation errors due to different available APIs",
  result: COMPILE_FAILED,
  failure: "ignore compilation errors",
  pattern: ".*\\.java:\\d+: cannot find symbol.*"
},
{
  description: "These tests assert the exact bytes of the compressed form. Since we use a
                different zlib configuration, we get a different (but valid) compressed form.",
  result: EXEC_FAILED,
  names: [
    "org.apache.harmony.archive.tests.java.util.zip.DeflaterInputStreamTest#testAvailable",
    "org.apache.harmony.archive.tests.java.util.zip.DeflaterInputStreamTest#testRead",
    "org.apache.harmony.archive.tests.java.util.zip.DeflaterInputStreamTest#testReadByteArrayIntInt",
    "org.apache.harmony.archive.tests.java.util.zip.DeflaterTest#test_deflate_beforeSetInput"
  ]
},
{
  description: "The RI avoids blocking calls when '\\r' is the last character. We don't
                bother since that adds complexity to every other read call, and '\\r' as the
                last character will be diminishingly rare anyway.",
  result: EXEC_FAILED,
  name: "java.io.BufferedReader.ReadLine",
  substring: "java.lang.RuntimeException: Read past limit"
},
{
  description: "The RI avoids blocking calls when '\\r' is the last character. We don't
                bother since that adds complexity to every other read call, and '\\r' as the
                last character will be diminishingly rare anyway.",
  result: EXEC_FAILED,
  name: "java.io.BufferedReader.Ready",
  substring: "Hit infinite wait condition"
},
{
  description: "The test is checking that the implementation doesn't read any characters
                earlier than it absolutely needs to. This is a bogus requirement; streams
                are allowed to buffer input as necessary.",
  result: EXEC_FAILED,
  name: "java.io.StreamTokenizer.Reset",
  substring: "Test failed: should get token [, but get -1"
},
{
  description: "These tests only pass if the root logger hasn't yet been initialized. They
                incorrectly assume that resetting the LogManager will clear the root logger's
                resource bundle; this isn't the case.",
  result: EXEC_FAILED,
  name: "org.apache.harmony.logging.tests.java.util.logging.OldLoggerTest#testGetLoggerWithRes_InvalidResourceBundle",
  substring: "java.lang.IllegalArgumentException: Resource bundle name 'impossible_not_existing' is inconsistent"
},
{
  description: "These tests only pass if the root logger hasn't yet been initialized. They
                incorrectly assume that resetting the LogManager will clear the root logger's
                resource bundle; this isn't the case.",
  result: EXEC_FAILED,
  name: "org.apache.harmony.logging.tests.java.util.logging.LoggerTest#testGetLogger_Empty",
  substring: "junit.framework.AssertionFailedError"
},
{
  description: "This tests implementation details",
  result: UNSUPPORTED,
  name: "java.util.EnumSet.OneUniverse"
},
{
  description: "Dalvik doesn't include the SunJCE crypto provider",
  result: EXEC_FAILED,
  names: [
    "com.sun.crypto.provider.Cipher.AES.Test4513830",
    "com.sun.crypto.provider.Cipher.AES.Test4512704",
    "com.sun.crypto.provider.Cipher.AES.Test4512524",
    "com.sun.crypto.provider.Cipher.AES.Test4511676",
    "com.sun.crypto.provider.Cipher.AES.Test4517355"
  ],
  substring: "NoClassDefFoundError: com.sun.crypto.provider.SunJCE"
},
{
  description: "Dalvik doesn't include the SunJCE crypto provider",
  result: EXEC_FAILED,
  name: "com.sun.crypto.provider.Cipher.AES.TestISO10126Padding",
  substring: " java.security.NoSuchProviderException: SunJCE"
},
{
  description: "Dalvik doesn't include the SunJCE crypto provider",
  result: EXEC_FAILED,
  name: "com.sun.crypto.provider.Cipher.AES.Test4626070",
  substring: "NoClassDefFoundError: com.sun.crypto.provider.SunJCE"
},
{
  description: "Dalvik doesn't include the SunJCE crypto provider",
  result: EXEC_FAILED,
  names: [
    "com.sun.crypto.provider.Cipher.AES.TestShortBuffer",
    "com.sun.crypto.provider.Cipher.CTS.CTSMode"
  ],
  substring: "Provider SunJCE is not available"
},
{
  description: "Dalvik doesn't include the SunJCE crypto provider",
  result: EXEC_FAILED,
  names: [
    "com.sun.crypto.provider.Cipher.DES.DesAPITest",
    "com.sun.crypto.provider.Cipher.DES.DoFinalReturnLen",
    "com.sun.crypto.provider.Cipher.DES.FlushBug"
  ],
  substring: "java.lang.NoClassDefFoundError: com.sun.crypto.provider.SunJCE"
},
{
  description: "Dalvik doesn't include the SunJCE crypto provider",
  result: EXEC_FAILED,
  name: "com.sun.crypto.provider.Cipher.DES.KeyWrapping",
  substring: "Provider SunJCE is not available"
},
{
  description: "Dalvik doesn't include the SunJCE crypto provider",
  result: EXEC_FAILED,
  names: [
    "com.sun.crypto.provider.Cipher.DES.PaddingTest",
    "com.sun.crypto.provider.Cipher.DES.Sealtest",
    "com.sun.crypto.provider.Cipher.DES.PerformanceTest"
  ],
  substring: "java.lang.NoClassDefFoundError: com.sun.crypto.provider.SunJCE"
},
{
  description: "Dalvik doesn't include the SunJCE crypto provider",
  result: EXEC_FAILED,
  names: [
    "com.sun.crypto.provider.Cipher.PBE.DecryptWithoutParameters",
    "com.sun.crypto.provider.Cipher.PBE.PBEInvalidParamsTest"
  ],
  substring: "Provider SunJCE is not available"
},
{
  description: "Dalvik doesn't include the SunJCE crypto provider",
  result: EXEC_FAILED,
  name: "com.sun.crypto.provider.Cipher.PBE.PBEKeysAlgorithmNames",
  substring: "java.security.NoSuchProviderException: SunJCE"
},
{
  description: "Dalvik doesn't include the SunJCE crypto provider",
  result: EXEC_FAILED,
  names: [
    "com.sun.crypto.provider.Cipher.PBE.PBEParametersTest",
    "com.sun.crypto.provider.Cipher.PBE.PKCS12Oid",
    "com.sun.crypto.provider.Cipher.UTIL.StrongOrUnlimited",
    "com.sun.crypto.provider.Cipher.KeyWrap.NISTWrapKAT"
  ],
  substring: "Provider SunJCE is not available"
},
{
  description: "Dalvik doesn't include the SunJCE crypto provider",
  result: EXEC_FAILED,
  name: "com.sun.crypto.provider.KeyAgreement.DHGenSecretKey",
  substring: "java.security.NoSuchProviderException: SunJCE"
},
{
  description: "Dalvik doesn't include the SunJCE crypto provider",
  result: EXEC_FAILED,
  names: [
    "com.sun.crypto.provider.KeyAgreement.DHGenSharedSecret",
    "com.sun.crypto.provider.KeyAgreement.DHKeyAgreement3",
    "com.sun.crypto.provider.KeyAgreement.DHKeyFactory",
    "com.sun.crypto.provider.KeyAgreement.DHKeyGenSpeed"
  ],
  substring: "java.lang.NoClassDefFoundError: com.sun.crypto.provider.SunJCE"
},
{
  description: "Dalvik doesn't include the SunJCE crypto provider",
  result: EXEC_FAILED,
  names: [
    "com.sun.crypto.provider.KeyAgreement.TestExponentSize",
    "com.sun.crypto.provider.KeyFactory.TestProviderLeak",
    "com.sun.crypto.provider.KeyFactory.PBKDF2HmacSHA1FactoryTest"
  ],
  substring: "java.security.NoSuchProviderException: SunJCE"
},
{
  description: "Dalvik doesn't include the SunJCE crypto provider",
  result: EXEC_FAILED,
  names: [
    "com.sun.crypto.provider.KeyGenerator.Test4628062",
    "com.sun.crypto.provider.KeyGenerator.TestExplicitKeyLength"
  ],
  substring: "java.lang.NoClassDefFoundError: com.sun.crypto.provider.SunJCE"
},
{
  description: "Dalvik doesn't include the SunJCE crypto provider",
  result: EXEC_FAILED,
  name: "com.sun.crypto.provider.Mac.HmacPBESHA1",
  substring: "java.security.NoSuchProviderException: SunJCE"
},
{
  description: "Dalvik doesn't include the SunJCE crypto provider",
  result: EXEC_FAILED,
  name: "com.sun.crypto.provider.Mac.HmacMD5",
  substring: "java.lang.NoClassDefFoundError: com.sun.crypto.provider.SunJCE"
},
{
  description: "Dalvik doesn't include the SunJCE crypto provider",
  result: EXEC_FAILED,
  name: "com.sun.crypto.provider.Mac.MacClone",
  substring: "java.security.NoSuchProviderException: SunJCE"
},
{
  description: "Dalvik doesn't include the SunJCE crypto provider",
  result: EXEC_FAILED,
  failure: "JKS keystore not found",
  substring: "KeyStore JKS implementation not found"
},
{
  description: "These NPEs all happen while calling Provider#getName on the result of
                Security#getProvider(). Unfortunately, that method is permitted to return
                null if the system has no provider with the requested name. And since we don't
                have the SunJCE provider, tests fail",
  result: EXEC_FAILED,
  name: "com.sun.crypto.provider.Cipher.PBE.PKCS12Cipher",
  pattern: ".*PKCS12Cipher.java\\:87\\).*NullPointerException.*"
},
{
  description: "These NPEs all happen while calling Provider#getName on the result of
                Security#getProvider(). Unfortunately, that method is permitted to return
                null if the system has no provider with the requested name. And since we don't
                have the SunJCE provider, tests fail",
  result: EXEC_FAILED,
  name: "com.sun.crypto.provider.Cipher.PBE.PKCS12CipherKAT",
  pattern: ".*NullPointerException.*PKCS12CipherKAT.java\\:183\\).*"
},
{
  description: "These NPEs all happen while calling Provider#getName on the result of
                Security#getProvider(). Unfortunately, that method is permitted to return
                null if the system has no provider with the requested name. And since we don't
                have the SunJCE provider, tests fail",
  result: EXEC_FAILED,
  name: "com.sun.crypto.provider.Cipher.RC2ArcFour.CipherKAT",
  pattern: ".*NullPointerException.*CipherKAT.java\\:205\\).*"
},
{
  description: "These NPEs all happen while calling Provider#getName on the result of
                Security#getProvider(). Unfortunately, that method is permitted to return
                null if the system has no provider with the requested name. And since we don't
                have the SunJCE provider, tests fail",
  result: EXEC_FAILED,
  name: "com.sun.crypto.provider.Cipher.RSA.TestOAEP_KAT",
  pattern: ".*TestOAEP_KAT.java\\:62\\).*NullPointerException.*"
},
{
  description: "These NPEs all happen while calling Provider#getName on the result of
                Security#getProvider(). Unfortunately, that method is permitted to return
                null if the system has no provider with the requested name. And since we don't
                have the SunJCE provider, tests fail",
  result: EXEC_FAILED,
  name: "com.sun.crypto.provider.Cipher.RSA.TestOAEP",
  pattern: ".*TestOAEP.java\\:50\\).*NullPointerException.*"
},
{
  description: "These NPEs all happen while calling Provider#getName on the result of
                Security#getProvider(). Unfortunately, that method is permitted to return
                null if the system has no provider with the requested name. And since we don't
                have the SunJCE provider, tests fail",
  result: EXEC_FAILED,
  name: "com.sun.crypto.provider.Cipher.RSA.TestOAEPParameterSpec",
  pattern: ".*TestOAEPParameterSpec.java\\:124\\).*NullPointerException.*"
},
{
  description: "These NPEs all happen while calling Provider#getName on the result of
                Security#getProvider(). Unfortunately, that method is permitted to return
                null if the system has no provider with the requested name. And since we don't
                have the SunJCE provider, tests fail",
  result: EXEC_FAILED,
  name: "com.sun.crypto.provider.Cipher.RSA.TestOAEPWithParams",
  pattern: ".*TestOAEPWithParams.java\\:58\\).*NullPointerException.*"
},
{
  description: "These NPEs all happen while calling Provider#getName on the result of
                Security#getProvider(). Unfortunately, that method is permitted to return
                null if the system has no provider with the requested name. And since we don't
                have the SunJCE provider, tests fail",
  result: EXEC_FAILED,
  name: "com.sun.crypto.provider.Cipher.RSA.TestRSA",
  pattern: ".*TestRSA.java\\:171\\).*NullPointerException.*"
},
{
  description: "These NPEs all happen while calling Provider#getName on the result of
                Security#getProvider(). Unfortunately, that method is permitted to return
                null if the system has no provider with the requested name. And since we don't
                have the SunJCE provider, tests fail",
  result: EXEC_FAILED,
  name: "com.sun.crypto.provider.Mac.HmacSaltLengths",
  pattern: ".*HmacSaltLengths.java\\:83\\).*java.lang.NullPointerException.*"
},
{
  description: "These NPEs all happen while calling Provider#getName on the result of
                Security#getProvider(). Unfortunately, that method is permitted to return
                null if the system has no provider with the requested name. And since we don't
                have the SunJCE provider, tests fail",
  result: EXEC_FAILED,
  name: "com.sun.crypto.provider.Mac.MacKAT",
  pattern: ".*MacKAT.java\\:228\\).*java.lang.NullPointerException.*"
},
{
  description: "These tests call into misc Sun classes that we don't have",
  result: COMPILE_FAILED,
  name: "com.sun.crypto.provider.KeyAgreement.DHKeyAgreement2",
  pattern: ".*cannot find symbol.*sun.misc.HexDumpEncoder.*"
},
{
  description: "These tests call into misc Sun classes that we don't have",
  result: COMPILE_FAILED,
  name: "com.sun.crypto.provider.Cipher.KeyWrap.XMLEncKAT",
  pattern: ".*cannot find symbol.*sun.misc.BASE64Decoder.*"
},
{
  description: "These tests call into misc Sun classes that we don't have",
  result: COMPILE_FAILED,
  names: [
    "com.sun.crypto.provider.TLS.TestKeyMaterial",
    "com.sun.crypto.provider.TLS.TestMasterSecret",
    "com.sun.crypto.provider.TLS.TestPremaster",
    "com.sun.crypto.provider.TLS.TestPRF"
  ],
  substring: "package sun.security.internal.spec does not exist"
},
{
  description: "We don't have most com.sun packages.",
  result: COMPILE_FAILED,
  failure: "Dalvik doesn't include Sun packages",
  pattern: ".*package (com\\.)?sun\\.[\\w\\.]+ does not exist.*"
},
{
  description: "We don't have several Java packages either.",
  result: COMPILE_FAILED,
  failure: "Dalvik doesn't include applets",
  substring: "package java.applet does not exist"
},
{
  description: "We don't have several Java packages either.",
  result: COMPILE_FAILED,
  failure: "Dalvik doesn't include AWT (bug it has java.awt.font)",
  pattern: ".*package java.awt(\\.image)? does not exist.*"
},
{
  description: "We don't have several Java packages either.",
  result: "COMPILE_FAILED",
  failure: "Dalvik doesn't include NIO.2",
  substring: "package java.nio.file does not exist"
},
{
  description: "We don't have several Java packages either.",
  result: "COMPILE_FAILED",
  failure: "Dalvik doesn't include RMI",
  substring: "package java.rmi does not exist"
},
{
  description: "We don't have several Java packages either.",
  result: "COMPILE_FAILED",
  failure: "Dalvik doesn't include JNDI",
  substring: "package javax.naming does not exist"
},
{
  description: "We don't have several Java packages either.",
  result: "COMPILE_FAILED",
  failure: "Dalvik doesn't include JMX",
  substring: "package java.lang.management does not exist"
},
{
  description: "We don't have several Java packages either.",
  result: "COMPILE_FAILED",
  failure: "Dalvik doesn't include Swing",
  substring: "package javax.swing.tree does not exist"
},
{
  description: "We don't have several Java packages either.",
  result: "COMPILE_FAILED",
  failure: "Dalvik doesn't include javax.crypto",
  substring: "package javax.xml.crypto does not exist"
},
{
  description: "Dalvik doesn't include a com.sun.net HTTP server",
  result: UNSUPPORTED,
  names: [
    "com.sun.net.httpserver",
    "sun.net.www"
  ]
},
{
  description: "Dalvik doesn't include AWT except the font package",
  result: UNSUPPORTED,
  name: "java.awt"
},
{
  description: "Dalvik doesn't include AWT except the font package",
  result: "SUCCESS",
  names: [
    "java.awt.FontClass",
    "java.awt.font"
  ]
},
{
  description: "Dalvik doesn't include java.beans except for property listeners",
  result: UNSUPPORTED,
  name: "java.beans"
},
{
  description: "Dalvik doesn't include java.beans except for property listeners",
  result: "SUCCESS",
  name: "java.beans.PropertyChangeSupport"
},
{
  description: "Dalvik doesn't include java.lang.instrument",
  result: UNSUPPORTED,
  name: "java.lang.instrument"
},
{
  description: "Dalvik doesn't include java.lang.management",
  result: UNSUPPORTED,
  name: "java.lang.management"
},
{
  description: "Dalvik doesn't include RMI",
  result: UNSUPPORTED,
  names: [
    "java.rmi",
    "sun.rmi"
  ]
},
{
  description: "Dalvik doesn't include javax.imageio",
  result: UNSUPPORTED,
  name: "javax.imageio"
},
{
  description: "Dalvik doesn't include javax.management",
  result: UNSUPPORTED,
  name: "javax.management"
},
{
  description: "Dalvik doesn't include javax.naming",
  result: UNSUPPORTED,
  name: "javax.naming"
},
{
  description: "Dalvik doesn't include javax.print",
  result: UNSUPPORTED,
  name: "javax.print"
},
{
  description: "Dalvik doesn't include javax.script",
  result: UNSUPPORTED,
  name: "javax.script"
},
{
  description: "Dalvik doesn't include javax.sound",
  result: UNSUPPORTED,
  name: "javax.sound"
},
{
  description: "Dalvik doesn't include javax.swing",
  result: UNSUPPORTED,
  name: "javax.swing"
},
{
  description: "Dalvik doesn't include sun.management",
  result: UNSUPPORTED,
  name: "sun.management"
},
{
  description: "Dalvik doesn't include javax.smartcardio",
  result: UNSUPPORTED,
  name: "sun.security.smartcardio"
},
{
  description: "Our exception messages don't match the RIs",
  result: EXEC_FAILED,
  names: [
    "java.lang.StringBuilder.Exceptions",
    "java.lang.StringBuffer.Exceptions"
  ],
  substring: "got java.lang.StringIndexOutOfBoundsException: null - FAILED"
},
{
  description: "ICU doesn't like 3-letter names like CST because they're ambiguous.
                Harmony prefers them because they're more human readable. We'll be
                consistent with ICU, since that seems least fragile.
                See https://issues.apache.org/jira/browse/HARMONY-5468
                and http://bugs.icu-project.org/trac/ticket/6174",
  result: EXEC_FAILED,
  name: "org.apache.harmony.luni.tests.java.util.DateTest#test_toString",
  substring: "GMT-07:00"
},
{
  description: "These harmony tests are broken. The RI doesn't ship with es__TRADITIONAL, so
                they have incorrect expectations.
                http://b/2608750",
  result: EXEC_FAILED,
  names: [
    "org.apache.harmony.text.tests.java.text.RuleBasedCollatorTest#testGetCollationElementIteratorCharacterIterator",
    "org.apache.harmony.text.tests.java.text.RuleBasedCollatorTest#testGetCollationElementIteratorString"
  ],
  substring: "expected:<1> but was:<2>"
},
{
  description: "This test fails because on Android, RuleBasedCollators default to
                CANONICAL_DECOMPOSITION, not NO_DECOMPOSITION.",
  result: EXEC_FAILED,
  name: "org.apache.harmony.text.tests.java.text.RuleBasedCollatorTest#testEqualsObject",
  substring: "expected:<0> but was:<1>"
},
{
  description: "These Harmony tests are enforcing a buggy behaviour in TreeMap, presumably to be bug-compatible
                with the RI. Our implementation is more conservative and throws on the bogus inputs.",
  result: EXEC_FAILED,
  name: "org.apache.harmony.luni.tests.java.util.TreeMapExtendTest#test_AscendingSubMapKeySet_headSet",
  substring: "java.lang.IllegalArgumentException: 100 not in range (100..109]"
},
{
  description: "These Harmony tests are enforcing a buggy behaviour in TreeMap, presumably to be bug-compatible
                with the RI. Our implementation is more conservative and throws on the bogus inputs.",
  result: EXEC_FAILED,
  names: [
    "org.apache.harmony.luni.tests.java.util.TreeMapExtendTest#test_AscendingSubMapKeySet_tailSet",
    "org.apache.harmony.luni.tests.java.util.TreeMapExtendTest#test_DescendingSubMapKeySet_headSet"
  ],
  substring: "java.lang.IllegalArgumentException: null not in range [100..109)"
},
{
  description: "These Harmony tests are enforcing a buggy behaviour in TreeMap, presumably to be bug-compatible
                with the RI. Our implementation is more conservative and throws on the bogus inputs.",
  result: EXEC_FAILED,
  names: [
    "org.apache.harmony.luni.tests.java.util.TreeMapExtendTest#test_DescendingSubMap_tailMap",
    "org.apache.harmony.luni.tests.java.util.TreeMapExtendTest#test_DescendingSubMapKeySet_tailSet",
    "org.apache.harmony.luni.tests.java.util.TreeMapExtendTest#test_SubMap_headMap"
  ],
  substring: "java.lang.IllegalArgumentException: 100 not in range (100..109]"
},
{
  description: "why are they using reflection to test implementation details?",
  result: EXEC_FAILED,
  name: "org.apache.harmony.luni.tests.java.util.ArraysTest#test_swap_I_I_$Ljava_lang_Object",
  substring: "java.lang.NoSuchMethodException"
},
{
  description: "all these tests rely on a Harmony bug where TreeMaps may have a singleton null, which we choose
                to disallow.",
  result: EXEC_FAILED,
  name: "org.apache.harmony.luni.tests.java.util.SimpleImmutableEntryTest#test_SimpleImmutableEntry_Constructor_LEntry",
  pattern: ".*java.lang.NullPointerException.*at java.util.TreeMap.find.*"
},
{
  description: "all these tests rely on a Harmony bug where TreeMaps may have a singleton null, which we choose
                to disallow.",
  result: EXEC_FAILED,
  names: [
    "org.apache.harmony.luni.tests.java.util.TreeMapTest#test_ceilingEntry",
    "org.apache.harmony.luni.tests.java.util.TreeMapTest#test_ceilingKey",
    "org.apache.harmony.luni.tests.java.util.TreeMapTest#test_floorEntry",
    "org.apache.harmony.luni.tests.java.util.TreeMapTest#test_floorKey",
    "org.apache.harmony.luni.tests.java.util.TreeMapTest#test_higherEntry",
    "org.apache.harmony.luni.tests.java.util.TreeMapTest#test_higherKey",
    "org.apache.harmony.luni.tests.java.util.TreeMapTest#test_lowerEntry",
    "org.apache.harmony.luni.tests.java.util.TreeMapTest#test_lowerKey"
  ],
  substring: "java.lang.NullPointerException"
},
{
  description: "all these tests rely on a Harmony bug where TreeMaps may have a singleton null, which we choose
                to disallow.",
  result: EXEC_FAILED,
  name: "org.apache.harmony.luni.tests.java.util.TreeMapTest#test_illegalFirstNullKey",
  pattern: ".*java.lang.NullPointerException.*at java.util.TreeMap.find.*"
},
{
  description: "this is testing exception priorities",
  result: EXEC_FAILED,
  name: "org.apache.harmony.luni.tests.java.util.TreeMapTest#test_subMapLjava_lang_ObjectLjava_lang_Object",
  substring: "java.lang.ClassCastException: java.lang.Object"
},
{
  description: "the null-friendly comparator isn't symmetric",
  result: EXEC_FAILED,
  name: "org.apache.harmony.luni.tests.java.util.TreeMapTest#test_subMapLjava_lang_ObjectZLjava_lang_ObjectZ",
  substring: "java.lang.NullPointerException"
},
{
  description: "we fail fast on not-comparable objects",
  result: EXEC_FAILED,
  names: [
    "org.apache.harmony.luni.tests.java.util.TreeMapTest#test_equals",
    "org.apache.harmony.luni.tests.java.util.TreeMapTest#test_putLjava_lang_ObjectLjava_lang_Object"
  ],
  substring: "java.lang.ClassCastException: java.lang.Object"
},
{
  description: "tests that depend on the iteration order of a hash",
  result: EXEC_FAILED,
  name: "org.apache.harmony.luni.tests.java.util.CollectionsTest#test_unmodifiable_toString_methods",
  substring: "expected:<...one=1, two=2...> but was:<...two=2, one=1...>"
},
{
  description: "tests that depend on the iteration order of a hash",
  result: EXEC_FAILED,
  name: "org.apache.harmony.luni.tests.java.util.HashtableTest#test_keySet_subtest1",
  pattern: ".*java.lang.IllegalStateException.*at java.util.Hashtable.*"
},
{
  description: "tests that depend on the iteration order of a hash",
  result: EXEC_FAILED,
  name: "org.apache.harmony.luni.tests.java.util.HashtableTest#test_elements_subtest0",
  substring: "junit.framework.AssertionFailedError: unexpected: b"
},
{
  description: "tests that depend on the iteration order of a hash",
  result: EXEC_FAILED,
  name: "org.apache.harmony.luni.tests.java.util.HashMapTest#test_rehash",
  substring: "junit.framework.AssertionFailedError: expected same"
},
{
  description: "tests that depend on the iteration order of a hash",
  result: EXEC_FAILED,
  name: "org.apache.harmony.luni.tests.java.util.PropertiesTest#test_SequentialpropertyNames",
  substring: "expected:<current.b.key> but was:<current.a.key>"
},
{
  description: "tests that depend on the iteration order of a hash",
  result: EXEC_FAILED,
  name: "org.apache.harmony.luni.tests.java.util.PropertiesTest#test_SequentialstringPropertyNames",
  substring: "junit.framework.ComparisonFailure"
},
{
  description: "tests that depend on the iteration order of a hash",
  result: EXEC_FAILED,
  name: "org.apache.harmony.luni.tests.java.util.PropertiesTest#test_propertyNames_sequence",
  substring: "junit.framework.AssertionFailedError: expected:<current.b.key> but was:<current.a.key>"
},
{
  description: "tests that use secret type information to reason about behavior",
  result: EXEC_FAILED,
  name: "org.apache.harmony.luni.tests.java.util.HashtableTest#test_keySet",
  substring: "junit.framework.ComparisonFailure: Not synchronized expected:<...Collections$Synchronized...> but was:<...Hashtable$Key...>"
},
{
  description: "tests that use secret type information to reason about behavior",
  result: EXEC_FAILED,
  name: "org.apache.harmony.luni.tests.java.util.HashtableTest#test_entrySet",
  substring: "junit.framework.ComparisonFailure: Not synchronized expected:<...Collections$Synchronized...> but was:<...Hashtable$Entry...>"
},
{
  description: "tests that use secret type information to reason about behavior",
  result: EXEC_FAILED,
  name: "org.apache.harmony.luni.tests.java.util.HashtableTest#test_values",
  substring: "junit.framework.ComparisonFailure: Not synchronized expected:<...Collections$SynchronizedCollection> but was:<...Hashtable$Values>"
},
{
  description: "this test is invalid, proxy.equals isn't symmetric",
  result: EXEC_FAILED,
  name: "org.apache.harmony.luni.tests.java.util.HashMapTest#test_proxies"
},
{
  description: "this test is invalid, the mock map's entry set isn't to spec",
  result: EXEC_FAILED,
  name: "org.apache.harmony.luni.tests.java.util.HashMapTest#test_putAllLjava_util_Map",
  substring: "java.lang.NullPointerException"
},
{
  description: "this test assumes remove acts on equals() equality, not comparator equality",
  result: EXEC_FAILED,
  name: "org.apache.harmony.luni.tests.java.util.PriorityQueueTest#test_remove_Ljava_lang_Object_using_comparator",
  substring: "junit.framework.AssertionFailedError"
},
{
  description: "tests that violate the API and then guess about the outcomes",
  result: EXEC_FAILED,
  name: "org.apache.harmony.luni.tests.java.util.HashtableTest#test_getLjava_lang_Object",
  substring: "junit.framework.AssertionFailedError"
},
{
  description: "this test assumes Integer.toString() always returns a new instance",
  result: EXEC_FAILED,
  name: "org.apache.harmony.luni.tests.java.util.IdentityHashMap2Test#test_containsKeyLjava_lang_Object",
  substring: "junit.framework.AssertionFailedError: Returned true for copy of valid key"
},
{
  description: "tests that cast to Harmony-specific types",
  result: EXEC_FAILED,
  failure: "bogus cast to harmony Hashtable$KeyEnumeration",
  substring: "java.util.Hashtable$KeyEnumeration"
},
{
  description: "tests that cast to Harmony-specific types",
  result: EXEC_FAILED,
  failure: "bogus cast to Hashtable$ValueEnumeration",
  substring: "java.util.Hashtable$ValueEnumeration"
},
{
  description: "test doesn't expect it, but the spec permits the exception. RI also throws here.",
  result: EXEC_FAILED,
  names: [
    "org.apache.harmony.luni.tests.java.util.PriorityQueueTest#test_remove_Ljava_lang_Object_not_Compatible",
    "org.apache.harmony.luni.tests.java.util.PriorityQueueTest#test_remove_Ljava_lang_Object_not_exists"
  ],
  substring: "java.lang.ClassCastException"
},
{
  description: "localization tests where our data disagree",
  result: EXEC_FAILED,
  name: "org.apache.harmony.luni.tests.java.util.LocaleTest#test_getAvailableLocales",
  substring: "Wrong number of locales"
},
{
  description: "test that enforce redundant implements clauses",
  result: EXEC_FAILED,
  name: "org.apache.harmony.luni.tests.java.util.LinkedHashMapTest#test_getInterfaces",
  substring: "junit.framework.AssertionFailedError: expected:<3> but was:<2>"
},
{
  description: "this is testing exception priorities",
  result: EXEC_FAILED,
  name: "org.apache.harmony.nio.tests.java.nio.channels.DatagramChannelTest#testReadByteBuffer_readOnlyBuf",
  substring: "java.lang.IllegalArgumentException: read-only buffer"
},
{
  description: "ICU doesn't provide localized pattern characters, and these tests assume the locale they're using has them.",
  result: EXEC_FAILED,
  name: "org.apache.harmony.text.tests.java.text.SimpleDateFormatTest#test_applyLocalizedPatternLjava_lang_String",
  substring: "java.lang.IllegalArgumentException: Invalid pattern character 'u' in 'GuMtkHmsSEDFwWahKz'"
},
{
  description: "ICU doesn't provide localized pattern characters, and these tests assume the locale they're using has them.",
  result: EXEC_FAILED,
  name: "org.apache.harmony.text.tests.java.text.SimpleDateFormatTest#test_toLocalizedPattern",
  substring: "junit.framework.AssertionFailedError: Wrong pattern: GyMdkHmsSEDFwWahKz"
},
{
  description: "ICU doesn't provide localized pattern characters, and these tests assume the locale they're using has them.",
  result: EXEC_FAILED,
  name: "org.apache.harmony.text.tests.java.text.DateFormatSymbolsTest#test_getLocalPatternChars",
  substring: "junit.framework.ComparisonFailure: Returned incorrect pattern string expected:<...YeugAZvcLQqV> but was:<...Z>"
},
{
  description: "we don't support the CharsetProvider spi, so we don't have \"mockCharset00\".",
  result: EXEC_FAILED,
  name: "tests.api.java.nio.charset.CharsetTest#test_availableCharsets",
  substring: "junit.framework.AssertionFailedError"
},
{
  description: "we don't support the CharsetProvider spi, so we don't have \"mockCharset00\".",
  result: EXEC_FAILED,
  name: "tests.api.java.nio.charset.CharsetTest#test_forNameLString",
  substring: "java.nio.charset.UnsupportedCharsetException: mockCharset00"
},
{
  description: "the average length of possible UTF-8 sequences is 2 bytes.",
  result: EXEC_FAILED,
  name: "tests.api.java.nio.charset.UTFCharsetEncoderTest#testSpecificDefaultValue",
  substring: "junit.framework.AssertionFailedError: expected:<1.1> but was:<2.0>"
},
{
  description: "We don't permit runtime switching of the default charset (and neither does the RI)",
  result: EXEC_FAILED,
  name: "org.apache.harmony.nio_char.tests.java.nio.charset.CharsetTest#test_defaultCharset",
  substring: "expected:<ISO-8859-1> but was:<UTF-8>"
},
{
  description: "this test needs external interaction",
  result: UNSUPPORTED,
  names: [
    "com.sun.tools.attach.Application",
    "java.io.SystemInAvailable",
    "sun.jvmstat.testlibrary.Sleeper"
  ]
},
{
  description: "these benchmarks take a long time and don't demonstrate correctness",
  result: UNSUPPORTED,
  names: [
    "java.lang.Class.TypeCheckMicroBenchmark",
    "java.nio.Buffer.SwapMicroBenchmark",
    "java.util.ArrayList.RangeCheckMicroBenchmark",
    "java.util.ArrayList.IteratorMicroBenchmark"
  ]
},
{
  description: "The RI is still on Unicode 4.0, we're on 5.2, and Harmony is inconsistent
                between its test for isJavaIdentifierPart(char) and isJavaIdentifierPart(int).",
  result: EXEC_FAILED,
  name: "org.apache.harmony.luni.tests.java.lang.CharacterTest#test_isJavaIdentifierPartC"
},
{
  description: "We removed this: we don't support Pack200.",
  result: UNSUPPORTED,
  name: "org.apache.harmony.archive.tests.java.util.jar.Pack200Test"
},
{
  description: "We removed this: we don't cache canonical paths.",
  result: UNSUPPORTED,
  name: "org.apache.harmony.luni.tests.java.io.FileCanonPathCacheTest"
},
{
  description: "We removed this: we don't throw NotYetImplementedException.",
  result: UNSUPPORTED,
  name: "org.apache.harmony.luni.tests.util.NYITest"
},
{
  description: "We removed this: we don't support localized exceptions.",
  result: UNSUPPORTED,
  name: "org.apache.harmony.luni.tests.internal.nls.MessagesTest"
},
{
  description: "These test implementation details we don't share.",
  result: EXEC_FAILED,
  names: [
    "org.apache.harmony.text.tests.java.text.BreakIteratorTest#test_getInt",
    "org.apache.harmony.text.tests.java.text.BreakIteratorTest#test_getLong",
    "org.apache.harmony.text.tests.java.text.BreakIteratorTest#test_getShort"
  ]
},
{
  description: "These format specifiers are documented to not take flags, but the RI accepts and ignores them.",
  result: EXEC_FAILED,
  name: "org.apache.harmony.luni.tests.java.util.FormatterTest#test_formatLjava_lang_String$Ljava_lang_Object_LineSeparator",
  substring: "java.util.IllegalFormatFlagsException: %n doesn't take an argument"
},
{
  description: "These format specifiers are documented to not take flags, but the RI accepts and ignores them.",
  result: EXEC_FAILED,
  names: [
    "org.apache.harmony.luni.tests.java.util.FormatterTest#test_formatLjava_lang_String$Ljava_lang_Object_Percent",
    "org.apache.harmony.luni.tests.java.util.FormatterTest#test_formatLjava_lang_String$Ljava_lang_Object_Width"
  ],
  substring: "java.util.IllegalFormatFlagsException: %% doesn't take an argument"
},
{
  description: "These tests expect to be able to load resources from the file system",
  result: EXEC_FAILED,
  names: [
    "org.apache.harmony.luni.tests.java.lang.ClassTest#test_getResourceAsStreamLjava_lang_String",
    "org.apache.harmony.luni.tests.java.lang.ClassTest#test_getResourceAsStream_withSharpChar",
    "org.apache.harmony.luni.tests.java.lang.ClassTest#test_getResourceLjava_lang_String"
  ]
},
{
  names: [
    "org.apache.harmony.luni.tests.java.io.FileTest#test_equalsLjava_lang_Object",
    "tests.api.java.io.FileTest#test_equalsLjava_lang_Object"
  ],
  result: EXEC_FAILED,
  substring: "File system is case insensitive"
},
{
  description: "We don't special case as much for new File(emptyString, emptyString)",
  name: "org.apache.harmony.luni.tests.java.io.FileTest#test_getPath",
  result: EXEC_FAILED,
  substring: "expected:</> but was:<>"
},
{
  description: "Can't test read-only when running as root!",
  names: [
    "org.apache.harmony.luni.tests.java.io.FileTest#test_setReadOnly",
    "tests.api.java.io.FileTest#test_setReadOnly"
  ],
  result: EXEC_FAILED
},
{
  description: "These tests want to load class files on a dalvikvm",
  names: [
    "org.apache.harmony.luni.tests.java.lang.ClassLoaderTest#test_defineClass_defaultDomain",
    "org.apache.harmony.luni.tests.java.lang.ClassLoaderTest#test_getResourceAsStreamLjava_lang_String",
    "org.apache.harmony.luni.tests.java.lang.ClassLoaderTest#test_getResourceAsStream_withSharpChar",
    "org.apache.harmony.luni.tests.java.lang.ClassLoaderTest#test_getResourceLjava_lang_String",
    "org.apache.harmony.luni.tests.java.lang.ClassLoaderTest#test_getSystemClassLoader",
    "org.apache.harmony.luni.tests.java.lang.ClassLoaderTest#test_getSystemResourceLjava_lang_String",
    "org.apache.harmony.luni.tests.java.lang.ClassLoaderTest#test_loadClass_concurrentLoad"
  ],
  result: EXEC_FAILED
},
{
  description: "Some tests (ExcludedProxyTest) connect to a public webserver to check that the HTTP client works",
  result: EXEC_FAILED,
  failure: "connect to the Internet",
  pattern: ".*java.net.UnknownHostException:.*jcltest.apache.org.*"
},
{
  description: "These tests violate visibility rules when trying to unit test internal classes",
  result: EXEC_FAILED,
  name: "javax.net.ssl.DefaultSSLSocketFactoryTest",
  substring: "java.lang.IllegalAccessError: tried to access class javax.net.ssl.DefaultSSLSocketFactory from class javax.net.ssl.DefaultSSLSocketFactoryTest"
},
{
  description: "These tests expect to be called with commandline arguments",
  result: EXEC_FAILED,
  name: "java.io.FileOutputStream.FileOpenNeg",
  substring: "java.lang.ArrayIndexOutOfBoundsException"
},
{
  description: "",
  result: EXEC_FAILED,
  name: "java.io.FileOutputStream.FileOpenPos",
  substring: "java.lang.ArrayIndexOutOfBoundsException"
}
]