/*
 * This file contains expectations for ART's buildbot. The purpose of this file is
 * to temporary and quickly list failing tests and not break the bots, until the
 * libcore expectation files get properly updated. The script that uses this file
 * is art/tools/run-libcore-tests.sh.
 *
 * It is also used to enable AOSP experiments, and not mess up with CTS's expectations.
 */

[
{
  description: "Assert.java differences between vogar and junit.",
  result: EXEC_FAILED,
  modes: [host],
  name: "libcore.java.math.RunCSVTests#test_csv"
},
{
  description: "Differences between vogar and cts in user directory",
  result: EXEC_FAILED,
  modes: [device],
  name: "libcore.java.lang.SystemTest#testSystemProperties_mutable"
},
{
  description: "Differences between vogar and cts. Passes with --mode activity",
  result: EXEC_FAILED,
  modes: [device],
  names: ["libcore.java.lang.OldSystemTest#test_getProperties"]
},
{
  description: "Differences between vogar and cts. EACCESS when run with vogar.
                Passes on host, passes with cts. Passes with vogar with su
                (--invoke-with \"su root\"). Does not pass after setting chmod
                777 all directories on path to socket (on device without su).",
  result: EXEC_FAILED,
  modes: [device],
  names: ["libcore.io.OsTest#testUnixDomainSockets_in_file_system"]
},
{
  description: "Issue with incorrect device time (1970)",
  result: EXEC_FAILED,
  modes: [device],
  names: ["libcore.java.util.TimeZoneTest#testDisplayNames",
          "libcore.java.util.TimeZoneTest#test_useDaylightTime_Taiwan",
          "org.apache.harmony.tests.java.util.TimeZoneTest#test_hasSameRules_Ljava_util_TimeZone"],
  bug: 20879084
},
{
  description: "Issue with incorrect device time (1970). Test assumes that DateTime.now()
                is greater then a date in 1998.",
  result: EXEC_FAILED,
  modes: [device],
  names: ["org.apache.harmony.tests.java.util.DateTest#test_Constructor"]
},
{
  description: "Failing due to a locale problem on hammerhead.",
  result: EXEC_FAILED,
  modes: [device],
  names: ["libcore.icu.DateIntervalFormatTest#test10089890",
          "libcore.icu.DateIntervalFormatTest#test10209343_when_not_this_year",
          "libcore.icu.DateIntervalFormatTest#test10560853_for_single_day_events",
          "libcore.icu.DateIntervalFormatTest#test10560853_when_time_not_displayed",
          "libcore.icu.RelativeDateTimeFormatterTest#test_getRelativeDateTimeString",
          "libcore.icu.RelativeDateTimeFormatterTest#test_getRelativeTimeSpanString",
          "libcore.icu.RelativeDateTimeFormatterTest#test_getRelativeTimeSpanStringAbbrev",
          "libcore.java.text.OldDateFormatTest#test_parseLString",
          "libcore.java.text.SimpleDateFormatTest#testDstZoneNameWithNonDstTimestamp",
          "libcore.java.text.SimpleDateFormatTest#testDstZoneWithNonDstTimestampForNonHourDstZone",
          "libcore.java.text.SimpleDateFormatTest#testNonDstZoneNameWithDstTimestamp",
          "libcore.java.text.SimpleDateFormatTest#testNonDstZoneWithDstTimestampForNonHourDstZone"]
},
{
  description: "Failing due to missing localhost on hammerhead and volantis.",
  result: EXEC_FAILED,
  modes: [device],
  names: ["libcore.javax.crypto.CipherTest#testCipherInitWithCertificate",
          "libcore.net.NetworkSecurityPolicyTest#testCleartextTrafficPolicyWithFtpURLConnection",
          "libcore.net.NetworkSecurityPolicyTest#testCleartextTrafficPolicyWithJarFtpURLConnection",
          "libcore.net.NetworkSecurityPolicyTest#testCleartextTrafficPolicyWithLoggingSocketHandler",
          "libcore.net.NetworkSecurityPolicyTest#testCleartextTrafficPolicyWithHttpURLConnection",
          "libcore.net.NetworkSecurityPolicyTest#testCleartextTrafficPolicyWithJarHttpURLConnection",
          "org.apache.harmony.luni.tests.internal.net.www.protocol.http.HttpURLConnectionTest",
          "org.apache.harmony.luni.tests.internal.net.www.protocol.https.HttpsURLConnectionTest",
          "org.apache.harmony.luni.tests.java.net.URLConnectionTest",
          "org.apache.harmony.tests.java.util.ScannerTest#test_Constructor_LReadableByteChannel"
         ]
},
{
  description: "Test timeouts",
  result: EXEC_TIMEOUT,
  modes: [device],
  names: ["org.apache.harmony.tests.java.util.ScannerTest#testPerformance"]
},
{
  description: "Needs the newest cat version on the device",
  result: EXEC_FAILED,
  modes: [device],
  names: ["org.apache.harmony.tests.java.lang.ProcessTest#test_getErrorStream"]
},
{
  description: "Short date format flag ignored for es_US locale.",
  result: EXEC_FAILED,
  name: "libcore.icu.DateIntervalFormatTest#test_formatDateInterval",
  bug: 18619426
},
{
  description: "Error decoding digital signature bytes.",
  result: EXEC_FAILED,
  name: "org.apache.harmony.security.tests.java.security.Signature2Test#test_verify$BII",
  bug: 18869265
},
{
  description: "Test sometimes timeouts on volantis, and on most modes in debug mode",
  result: EXEC_TIMEOUT,
  names: ["libcore.java.lang.SystemTest#testArrayCopyConcurrentModification"],
  bug: 19165288
},
{
  description: "Needs kernel updates on host/device",
  result: EXEC_FAILED,
  names: ["libcore.io.OsTest#test_socketPing"]
},
{
  description: "Linker issues in chrooted environment",
  modes: [device],
  result: EXEC_FAILED,
  names: ["org.apache.harmony.tests.java.lang.ProcessManagerTest#testEnvironment"]
},
{
  description: "Crypto failures",
  result: EXEC_FAILED,
  names: ["libcore.javax.crypto.CipherTest#testCipher_ShortBlock_Failure",
          "libcore.javax.crypto.CipherTest#testCipher_Success"]
},
{
  description: "Flake when running with libartd.so or interpreter",
  result: EXEC_FAILED,
  bug:22106064,
  name: "libcore.java.lang.OldThreadGroupTest#test_enumerateLThreadArrayLZtest_enumerateLThreadArrayLZ"
},
{
  description: "test_xattr fails on arm64 on the buildbots only: needs investigation",
  result: EXEC_FAILED,
  modes: [device],
  names: ["libcore.io.OsTest#test_xattr"],
  bug: 22258911
},
{
  description: "fails on L builds: needs investigation",
  result: EXEC_FAILED,
  modes: [device],
  names: ["org.apache.harmony.tests.java.lang.ClassTest#test_forNameLjava_lang_String"]
},
{
  description: "TimeZoneTest.testAllDisplayNames times out, needs investigation",
  result: EXEC_TIMEOUT,
  modes: [device],
  names: ["libcore.java.util.TimeZoneTest#testAllDisplayNames"],
  bug: 22786792
},
{
  description: "Lack of IPv6 on some buildbot slaves",
  result: EXEC_FAILED,
  names: ["libcore.io.OsTest#test_byteBufferPositions_sendto_recvfrom_af_inet6",
          "libcore.io.OsTest#test_sendtoSocketAddress_af_inet6"],
  bug: 25178637
},
{
  description: "Non-deterministic test because of a dependency on weak ref collection.",
  result: EXEC_FAILED,
  names: ["org.apache.harmony.tests.java.util.WeakHashMapTest#test_keySet"],
  bug: 25437292
},
{
  description: "Failing tests after OpenJDK move.",
  result: EXEC_FAILED,
  bug: 26326992,
  names: ["libcore.icu.RelativeDateTimeFormatterTest#test_getRelativeDateTimeStringDST",
          "libcore.java.lang.OldSystemTest#test_load",
          "libcore.java.text.NumberFormatTest#test_currencyWithPatternDigits",
          "libcore.java.text.NumberFormatTest#test_setCurrency",
          "libcore.java.text.OldNumberFormatTest#test_getIntegerInstanceLjava_util_Locale",
          "libcore.java.util.CalendarTest#testAddOneDayAndOneDayOver30MinuteDstForwardAdds48Hours",
          "libcore.java.util.CalendarTest#testNewCalendarKoreaIsSelfConsistent",
          "libcore.java.util.CalendarTest#testSetTimeInZoneWhereDstIsNoLongerUsed",
          "libcore.java.util.CalendarTest#test_nullLocale",
          "libcore.java.util.FormatterTest#test_numberLocalization",
          "libcore.java.util.FormatterTest#test_uppercaseConversions",
          "libcore.javax.crypto.CipherTest#testCipher_getInstance_WrongType_Failure",
          "libcore.javax.crypto.CipherTest#testDecryptBufferZeroSize_mustDecodeToEmptyString",
          "libcore.javax.security.auth.x500.X500PrincipalTest#testExceptionsForWrongDNs",
          "org.apache.harmony.luni.tests.java.net.URLConnectionTest#test_getDate",
          "org.apache.harmony.luni.tests.java.net.URLConnectionTest#test_getExpiration",
          "org.apache.harmony.regex.tests.java.util.regex.PatternSyntaxExceptionTest#testPatternSyntaxException",
          "org.apache.harmony.tests.java.lang.FloatTest#test_parseFloat_LString_Harmony6261",
          "org.apache.harmony.tests.java.lang.ThreadTest#test_isDaemon",
          "org.apache.harmony.tests.java.text.DecimalFormatSymbolsTest#test_setInternationalCurrencySymbolLjava_lang_String",
          "org.apache.harmony.tests.java.text.DecimalFormatTest#testSerializationHarmonyRICompatible",
          "org.apache.harmony.tests.java.text.SimpleDateFormatTest#test_parseLjava_lang_StringLjava_text_ParsePosition",
          "org.apache.harmony.tests.java.text.SimpleDateFormatTest#test_parse_W_w_dd_MMMM_yyyy_EEEE",
          "org.apache.harmony.tests.java.text.SimpleDateFormatTest#test_parse_dayOfYearPatterns",
          "org.apache.harmony.tests.java.text.SimpleDateFormatTest#test_parse_h_m_z",
          "org.apache.harmony.tests.java.text.SimpleDateFormatTest#test_parse_h_z_2DigitOffsetFromGMT",
          "org.apache.harmony.tests.java.text.SimpleDateFormatTest#test_parse_h_z_4DigitOffsetFromGMT",
          "org.apache.harmony.tests.java.text.SimpleDateFormatTest#test_parse_h_z_4DigitOffsetNoGMT",
          "org.apache.harmony.tests.java.util.jar.JarFileTest#test_getInputStreamLjava_util_jar_JarEntry_subtest0",
          "libcore.java.util.CalendarTest#test_clear_45877",
          "org.apache.harmony.crypto.tests.javax.crypto.spec.SecretKeySpecTest#testGetFormat",
          "org.apache.harmony.tests.java.util.TimerTaskTest#test_scheduledExecutionTime"]
},
{
  description: "Missing resource in classpath",
  result: EXEC_FAILED,
  modes: [device],
  names: ["libcore.java.util.prefs.OldAbstractPreferencesTest#testClear",
          "libcore.java.util.prefs.OldAbstractPreferencesTest#testExportNode",
          "libcore.java.util.prefs.OldAbstractPreferencesTest#testExportSubtree",
          "libcore.java.util.prefs.OldAbstractPreferencesTest#testGet",
          "libcore.java.util.prefs.OldAbstractPreferencesTest#testGetBoolean",
          "libcore.java.util.prefs.OldAbstractPreferencesTest#testGetByteArray",
          "libcore.java.util.prefs.OldAbstractPreferencesTest#testGetDouble",
          "libcore.java.util.prefs.OldAbstractPreferencesTest#testGetFloat",
          "libcore.java.util.prefs.OldAbstractPreferencesTest#testGetInt",
          "libcore.java.util.prefs.OldAbstractPreferencesTest#testGetLong",
          "libcore.java.util.prefs.OldAbstractPreferencesTest#testKeys",
          "libcore.java.util.prefs.OldAbstractPreferencesTest#testNodeExists",
          "libcore.java.util.prefs.OldAbstractPreferencesTest#testPut",
          "libcore.java.util.prefs.OldAbstractPreferencesTest#testPutBoolean",
          "libcore.java.util.prefs.OldAbstractPreferencesTest#testPutByteArray",
          "libcore.java.util.prefs.OldAbstractPreferencesTest#testPutDouble",
          "libcore.java.util.prefs.OldAbstractPreferencesTest#testPutFloat",
          "libcore.java.util.prefs.OldAbstractPreferencesTest#testPutInt",
          "libcore.java.util.prefs.OldAbstractPreferencesTest#testPutLong",
          "libcore.java.util.prefs.OldAbstractPreferencesTest#testRemove",
          "libcore.java.util.prefs.OldAbstractPreferencesTest#testRemoveNode",
          "libcore.java.util.prefs.OldAbstractPreferencesTest#testSync",
          "libcore.java.util.prefs.PreferencesTest#testHtmlEncoding",
          "libcore.java.util.prefs.PreferencesTest#testPreferencesClobbersExistingFiles",
          "org.apache.harmony.tests.java.util.PropertiesTest#test_storeToXMLLjava_io_OutputStreamLjava_lang_StringLjava_lang_String",
          "org.apache.harmony.tests.java.util.prefs.AbstractPreferencesTest#testExportNode",
          "org.apache.harmony.tests.java.util.prefs.AbstractPreferencesTest#testExportSubtree",
          "org.apache.harmony.tests.java.util.prefs.AbstractPreferencesTest#testFlush",
          "org.apache.harmony.tests.java.util.prefs.AbstractPreferencesTest#testSync",
          "org.apache.harmony.tests.java.util.prefs.FilePreferencesImplTest#testPutGet"]
},
{
  description: "libnativehelper_compat_libc++ loading issue",
  result: EXEC_FAILED,
  modes: [device],
  names: ["dalvik.system.JniTest#testGetSuperclass",
          "dalvik.system.JniTest#testPassingBooleans",
          "dalvik.system.JniTest#testPassingBytes",
          "dalvik.system.JniTest#testPassingChars",
          "dalvik.system.JniTest#testPassingClass",
          "dalvik.system.JniTest#testPassingDoubles",
          "dalvik.system.JniTest#testPassingFloats",
          "dalvik.system.JniTest#testPassingInts",
          "dalvik.system.JniTest#testPassingLongs",
          "dalvik.system.JniTest#testPassingObjectReferences",
          "dalvik.system.JniTest#testPassingShorts",
          "dalvik.system.JniTest#testPassingThis",
          "libcore.util.NativeAllocationRegistryTest#testBadSize",
          "libcore.util.NativeAllocationRegistryTest#testEarlyFree",
          "libcore.util.NativeAllocationRegistryTest#testNativeAllocationAllocatorAndNoSharedRegistry",
          "libcore.util.NativeAllocationRegistryTest#testNativeAllocationAllocatorAndSharedRegistry",
          "libcore.util.NativeAllocationRegistryTest#testNativeAllocationNoAllocatorAndNoSharedRegistry",
          "libcore.util.NativeAllocationRegistryTest#testNativeAllocationNoAllocatorAndSharedRegistry",
          "libcore.util.NativeAllocationRegistryTest#testNullArguments"]
},
{
  description: "libnativehelper_compat_libc++.so not found by dlopen on ARM64",
  result: EXEC_FAILED,
  modes: [device],
  bug: 28082914,
  names: ["libcore.java.lang.ThreadTest#testContextClassLoaderIsInherited",
          "libcore.java.lang.ThreadTest#testContextClassLoaderIsNotNull",
          "libcore.java.lang.ThreadTest#testGetAllStackTracesIncludesAllGroups",
          "libcore.java.lang.ThreadTest#testGetStackTrace",
          "libcore.java.lang.ThreadTest#testJavaContextClassLoader",
          "libcore.java.lang.ThreadTest#testLeakingStartedThreads",
          "libcore.java.lang.ThreadTest#testLeakingUnstartedThreads",
          "libcore.java.lang.ThreadTest#testNativeThreadNames",
          "libcore.java.lang.ThreadTest#testThreadInterrupted",
          "libcore.java.lang.ThreadTest#testThreadSleep",
          "libcore.java.lang.ThreadTest#testThreadSleepIllegalArguments",
          "libcore.java.lang.ThreadTest#testThreadWakeup"]
},
{
  description: "Only work with --mode=activity",
  result: EXEC_FAILED,
  names: [ "libcore.java.io.FileTest#testJavaIoTmpdirMutable" ]
}
]
