/*
 * 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: "Os.memfd_create() only supports bionic-based platforms.",
  result: EXEC_FAILED,
  modes: [host],
  names: ["libcore.android.system.OsTest#testMemfdCreate",
          "libcore.android.system.OsTest#testMemfdCreateErrno",
          "libcore.android.system.OsTest#testMemfdCreateFlags"]
},
{
  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_testdex],
  name: "libcore.java.lang.SystemTest#testSystemProperties_mutable"
},
{
  description: "Differences between vogar and cts. Passes with --mode activity",
  result: EXEC_FAILED,
  modes: [device_testdex],
  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_testdex],
  names: ["libcore.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.libcore.io.OsTest#test_socket_tcpUserTimeout_setAndGet",
          "libcore.libcore.io.OsTest#test_socket_tcpUserTimeout_doesNotWorkOnDatagramSocket"],
  bug: 30402085
},
{
  description: "Issue with incorrect device time (1970)",
  result: EXEC_FAILED,
  modes: [device_testdex],
  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_testdex],
  names: ["org.apache.harmony.tests.java.util.DateTest#test_Constructor"]
},
{
  description: "Failing due to a locale problem on hammerhead.",
  result: EXEC_FAILED,
  modes: [device_testdex],
  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_testdex],
  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_testdex],
  names: ["org.apache.harmony.tests.java.util.ScannerTest#testPerformance"]
},
{
  description: "Needs the newest cat version on the device",
  result: EXEC_FAILED,
  modes: [device_testdex],
  names: ["org.apache.harmony.tests.java.lang.ProcessTest#test_getErrorStream"]
},
{
  description: "Needs kernel updates on host/device",
  result: EXEC_FAILED,
  names: ["libcore.libcore.io.OsTest#test_socketPing"]
},
{
  description: "Linker issues in chrooted environment",
  modes: [device_testdex],
  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_testdex],
  names: ["libcore.libcore.io.OsTest#test_xattr"],
  bug: 22258911
},
{
  description: "fails on L builds: needs investigation",
  result: EXEC_FAILED,
  modes: [device_testdex],
  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.libcore.io.OsTest#test_byteBufferPositions_sendto_recvfrom_af_inet6",
          "libcore.libcore.io.OsTest#test_sendtoSocketAddress_af_inet6",
          "libcore.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: "Only work with --mode=activity",
  result: EXEC_FAILED,
  names: [ "libcore.java.io.FileTest#testJavaIoTmpdirMutable" ]
},
{
  description: "Flaky test",
  result: EXEC_FAILED,
  bug: 30107038,
  modes: [device_testdex],
  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_testdex],
  names: ["libcore.java.lang.ProcessBuilderTest#testRedirectInherit",
          "libcore.java.lang.ProcessBuilderTest#testRedirect_nullStreams"]
},
{
  description: "java.io.IOException: Error writing ASN.1 encoding",
  result: EXEC_FAILED,
  names: ["libcore.javax.crypto.spec.AlgorithmParametersTestGCM#testEncoding"]
},
{
  description: "fdsan doesn't exist on the host",
  result: EXEC_FAILED,
  modes: [host],
  bug: 113177877,
  names: ["libcore.libcore.io.FdsanTest#testFileInputStream",
          "libcore.libcore.io.FdsanTest#testFileOutputStream",
          "libcore.libcore.io.FdsanTest#testRandomAccessFile",
          "libcore.libcore.io.FdsanTest#testParcelFileDescriptor",
          "libcore.libcore.io.FdsanTest#testDatagramSocket",
          "libcore.libcore.io.FdsanTest#testSocket"]
},
{
  description: "Timeout on heap-poisoning target builds",
  result: EXEC_FAILED,
  modes: [device_testdex],
  bug: 116446372,
  names: ["libcore.libcore.io.FdsanTest#testSocket"]
},
{
  description: "Host implementation of android_getaddrinfo differs from device implementation",
  result: EXEC_FAILED,
  modes: [host],
  bug: 121230364,
  names: [
    "libcore.libcore.net.InetAddressUtilsTest#parseNumericAddress[8]",
    "libcore.libcore.net.InetAddressUtilsTest#test_isNotNumericAddress[10]",
    "libcore.libcore.net.InetAddressUtilsTest#test_isNotNumericAddress[11]",
    "libcore.libcore.net.InetAddressUtilsTest#test_isNotNumericAddress[12]",
    "libcore.libcore.net.InetAddressUtilsTest#test_isNotNumericAddress[5]",
    "libcore.libcore.net.InetAddressUtilsTest#test_isNotNumericAddress[6]",
    "libcore.libcore.net.InetAddressUtilsTest#test_isNotNumericAddress[7]",
    "libcore.libcore.net.InetAddressUtilsTest#test_isNotNumericAddress[8]",
    "libcore.libcore.net.InetAddressUtilsTest#test_isNotNumericAddress[9]",
    "libcore.libcore.net.InetAddressUtilsTest#test_parseNonNumericAddress[10]",
    "libcore.libcore.net.InetAddressUtilsTest#test_parseNonNumericAddress[11]",
    "libcore.libcore.net.InetAddressUtilsTest#test_parseNonNumericAddress[12]",
    "libcore.libcore.net.InetAddressUtilsTest#test_parseNonNumericAddress[5]",
    "libcore.libcore.net.InetAddressUtilsTest#test_parseNonNumericAddress[6]",
    "libcore.libcore.net.InetAddressUtilsTest#test_parseNonNumericAddress[7]",
    "libcore.libcore.net.InetAddressUtilsTest#test_parseNonNumericAddress[8]",
    "libcore.libcore.net.InetAddressUtilsTest#test_parseNonNumericAddress[9]"
  ]
},
{
  description: "Apex related",
  result: EXEC_FAILED,
  modes: [device_testdex],
  bug: 122642227,
  names: [
    "libcore.libcore.icu.TimeZoneIntegrationTest#testTimeZoneDataVersion",
    "libcore.libcore.icu.TimeZoneIntegrationTest#testTimeZoneDebugInfo",
    "libcore.libcore.icu.TimeZoneIntegrationTest#testTzDataSetVersions"
  ]
},
{
  description: "Timeout on walleye bots, currenlty on OPM1.171019.019. But test passes on Q, so just mark it fail here.",
  result: EXEC_FAILED,
  modes: [device_testdex],
  names: [
    "libcore.libcore.io.OsTest#testCrossFamilyBindConnectSendto"
  ]
},
{
  description: "Test fails on host with `socket failed: EACCES (Permission denied)`",
  result: EXEC_FAILED,
  modes: [host],
  names: ["libcore.android.system.OsTest#test_socketPing"]
},
{
  description: "Test fails on host with: `/home/dalvik-prebuild/jaxen/xml/test/tests.xml: open failed: ENOENT (No such file or directory)`",
  result: EXEC_FAILED,
  names: ["libcore.xml.JaxenXPathTestSuite#suite"]
},
{
  description: "Test fails on host with: `/home/dalvik-prebuild/OASIS/XSLT-Conformance-TC/TESTS/catalog.xml: open failed: ENOENT (No such file or directory)`",
  result: EXEC_FAILED,
  names: ["libcore.xml.XsltXPathConformanceTestSuite#suite"]
},
{
  description: "Fails on device",
  result: EXEC_FAILED,
  modes: [device_testdex],
  bug: 145348591,
  names: ["libcore.android.system.OsTest#test_if_nametoindex_if_indextoname"]
},
{
  description: "Fails on non-Android and Android versions < R",
  result: EXEC_FAILED,
  names: ["libcore.android.system.OsTest#test_NetlinkSocket"]
}
]
