/*
 * This file contains expectations for ART's buildbot. The purpose of this file is
 * to temporarily 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: "TCP_USER_TIMEOUT is not defined on host's tcp.h (glibc-2.15-4.8).",
  result: EXEC_FAILED,
  modes: [host],
  names: ["libcore.android.system.OsConstantsTest#testTcpUserTimeoutIsDefined",
          "libcore.io.OsTest#test_socket_tcpUserTimeout_setAndGet",
          "libcore.io.OsTest#test_socket_tcpUserTimeout_doesNotWorkOnDatagramSocket"],
  bug: 30402085
},
{
  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",
          "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: "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: "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: "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",
          "libcore.io.OsTest#test_recvfrom_EmptyPacket"],
  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: "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: "Only work with --mode=activity",
  result: EXEC_FAILED,
  names: [ "libcore.java.io.FileTest#testJavaIoTmpdirMutable" ]
},
{
  description: "Flaky test",
  result: EXEC_FAILED,
  bug: 30107038,
  modes: [device],
  names: ["org.apache.harmony.tests.java.lang.ProcessTest#test_destroyForcibly"]
},
{
  description: "Flaky failure, native crash in the runtime.
                Unclear if this relates to the tests running sh as a child process.",
  result: EXEC_FAILED,
  bug: 30657148,
  modes: [device],
  names: ["libcore.java.lang.ProcessBuilderTest#testRedirectInherit",
          "libcore.java.lang.ProcessBuilderTest#testRedirect_nullStreams"]
},
{
  description: "Test is timing sensitive",
  result: EXEC_FAILED,
  bug: 62528691,
  modes: [device],
  names: ["libcore.java.util.TimeZoneTest#testSetDefaultRace"]
},
{
  description: "Repeated annotations do not work in javac (OpenJDK8), fixed in OpenJDK9.
                Blacklisted to support javac/dx build (b/36902714)",
  result: EXEC_FAILED,
  bug: 62408076,
  names: ["libcore.java.lang.reflect.annotations.AnnotatedElementParameterTest#testImplicitConstructorParameters_singleAnnotation"]
},
{
  description: "java.io.IOException: Error writing ASN.1 encoding",
  result: EXEC_FAILED,
  names: ["libcore.javax.crypto.spec.AlgorithmParametersTestGCM#testEncoding"]
}
]
