/*
 * This file contains extra expectations for ART's buildbot regarding network tests.
 * The script that uses this file is art/tools/run-libcore-tests.sh.
 */

[
{
  description: "Ignore failure of network-related tests on new devices running Android O",
  result: EXEC_FAILED,
  bug: 74725685,
  modes: [device],
  names: ["libcore.libcore.io.OsTest#test_byteBufferPositions_sendto_recvfrom_af_inet",
          "libcore.libcore.net.NetworkSecurityPolicyTest#testCleartextTrafficPolicyWithFtpURLConnection",
          "libcore.libcore.net.NetworkSecurityPolicyTest#testCleartextTrafficPolicyWithHttpURLConnection",
          "libcore.libcore.net.NetworkSecurityPolicyTest#testCleartextTrafficPolicyWithJarFtpURLConnection",
          "libcore.libcore.net.NetworkSecurityPolicyTest#testCleartextTrafficPolicyWithJarHttpURLConnection",
          "libcore.libcore.net.NetworkSecurityPolicyTest#testCleartextTrafficPolicyWithLoggingSocketHandler",
          "org.apache.harmony.tests.java.util.ScannerTest#test_40555",
          "org.apache.harmony.tests.java.util.ScannerTest#test_ConstructorLjava_io_File",
          "org.apache.harmony.tests.java.util.ScannerTest#test_ConstructorLjava_io_FileLjava_lang_String",
          "org.apache.harmony.tests.java.util.ScannerTest#test_ConstructorLjava_io_InputStream",
          "org.apache.harmony.tests.java.util.ScannerTest#test_ConstructorLjava_io_InputStreamLjava_lang_String",
          "org.apache.harmony.tests.java.util.ScannerTest#test_ConstructorLjava_lang_Readable",
          "org.apache.harmony.tests.java.util.ScannerTest#test_ConstructorLjava_lang_String",
          "org.apache.harmony.tests.java.util.ScannerTest#test_ConstructorLjava_nio_channels_ReadableByteChannel",
          "org.apache.harmony.tests.java.util.ScannerTest#test_ConstructorLjava_nio_channels_ReadableByteChannelLjava_lang_String",
          "org.apache.harmony.tests.java.util.ScannerTest#test_ConstructorLjava_nio_file_Path",
          "org.apache.harmony.tests.java.util.ScannerTest#test_ConstructorLjava_nio_file_PathLjava_lang_String",
          "org.apache.harmony.tests.java.util.ScannerTest#test_ConstructorLjava_nio_file_PathLjava_lang_String_Exception",
          "org.apache.harmony.tests.java.util.ScannerTest#test_ConstructorLjava_nio_file_Path_Exception",
          "org.apache.harmony.tests.java.util.ScannerTest#test_close",
          "org.apache.harmony.tests.java.util.ScannerTest#test_delimiter",
          "org.apache.harmony.tests.java.util.ScannerTest#test_findInLine_LPattern",
          "org.apache.harmony.tests.java.util.ScannerTest#test_findInLine_LString",
          "org.apache.harmony.tests.java.util.ScannerTest#test_findInLine_LString_NPEs",
          "org.apache.harmony.tests.java.util.ScannerTest#test_findWithinHorizon_LPatternI",
          "org.apache.harmony.tests.java.util.ScannerTest#test_hasNext",
          "org.apache.harmony.tests.java.util.ScannerTest#test_hasNextBigDecimal",
          "org.apache.harmony.tests.java.util.ScannerTest#test_hasNextBigInteger",
          "org.apache.harmony.tests.java.util.ScannerTest#test_hasNextBigIntegerI",
          "org.apache.harmony.tests.java.util.ScannerTest#test_hasNextBigIntegerI_cache",
          "org.apache.harmony.tests.java.util.ScannerTest#test_hasNextBoolean",
          "org.apache.harmony.tests.java.util.ScannerTest#test_hasNextByte",
          "org.apache.harmony.tests.java.util.ScannerTest#test_hasNextByteI",
          "org.apache.harmony.tests.java.util.ScannerTest#test_hasNextByteI_cache",
          "org.apache.harmony.tests.java.util.ScannerTest#test_hasNextDouble",
          "org.apache.harmony.tests.java.util.ScannerTest#test_hasNextFloat",
          "org.apache.harmony.tests.java.util.ScannerTest#test_hasNextInt",
          "org.apache.harmony.tests.java.util.ScannerTest#test_hasNextIntI",
          "org.apache.harmony.tests.java.util.ScannerTest#test_hasNextIntI_cache",
          "org.apache.harmony.tests.java.util.ScannerTest#test_hasNextLPattern",
          "org.apache.harmony.tests.java.util.ScannerTest#test_hasNextLString",
          "org.apache.harmony.tests.java.util.ScannerTest#test_hasNextLine",
          "org.apache.harmony.tests.java.util.ScannerTest#test_hasNextLine_sequence",
          "org.apache.harmony.tests.java.util.ScannerTest#test_hasNextLong",
          "org.apache.harmony.tests.java.util.ScannerTest#test_hasNextLongI",
          "org.apache.harmony.tests.java.util.ScannerTest#test_hasNextLongI_cache",
          "org.apache.harmony.tests.java.util.ScannerTest#test_hasNextShort",
          "org.apache.harmony.tests.java.util.ScannerTest#test_hasNextShortI",
          "org.apache.harmony.tests.java.util.ScannerTest#test_hasNextShortI_cache",
          "org.apache.harmony.tests.java.util.ScannerTest#test_ioException",
          "org.apache.harmony.tests.java.util.ScannerTest#test_locale",
          "org.apache.harmony.tests.java.util.ScannerTest#test_match",
          "org.apache.harmony.tests.java.util.ScannerTest#test_next",
          "org.apache.harmony.tests.java.util.ScannerTest#test_nextBigDecimal",
          "org.apache.harmony.tests.java.util.ScannerTest#test_nextBigInteger",
          "org.apache.harmony.tests.java.util.ScannerTest#test_nextBigIntegerI",
          "org.apache.harmony.tests.java.util.ScannerTest#test_nextBoolean",
          "org.apache.harmony.tests.java.util.ScannerTest#test_nextByte",
          "org.apache.harmony.tests.java.util.ScannerTest#test_nextByteI",
          "org.apache.harmony.tests.java.util.ScannerTest#test_nextDouble",
          "org.apache.harmony.tests.java.util.ScannerTest#test_nextFloat",
          "org.apache.harmony.tests.java.util.ScannerTest#test_nextInt",
          "org.apache.harmony.tests.java.util.ScannerTest#test_nextIntI",
          "org.apache.harmony.tests.java.util.ScannerTest#test_nextLPattern",
          "org.apache.harmony.tests.java.util.ScannerTest#test_nextLString",
          "org.apache.harmony.tests.java.util.ScannerTest#test_nextLine",
          "org.apache.harmony.tests.java.util.ScannerTest#test_nextLong",
          "org.apache.harmony.tests.java.util.ScannerTest#test_nextLongI",
          "org.apache.harmony.tests.java.util.ScannerTest#test_nextShort",
          "org.apache.harmony.tests.java.util.ScannerTest#test_nextShortI",
          "org.apache.harmony.tests.java.util.ScannerTest#test_radix",
          "org.apache.harmony.tests.java.util.ScannerTest#test_remove",
          "org.apache.harmony.tests.java.util.ScannerTest#test_skip_LPattern",
          "org.apache.harmony.tests.java.util.ScannerTest#test_skip_LString",
          "org.apache.harmony.tests.java.util.ScannerTest#test_toString",
          "org.apache.harmony.tests.java.util.ScannerTest#test_useDelimiter_LPattern",
          "org.apache.harmony.tests.java.util.ScannerTest#test_useDelimiter_String",
          "org.apache.harmony.tests.java.util.ScannerTest#test_useLocale_LLocale",
          "org.apache.harmony.tests.java.util.ScannerTest#test_useRadix_I"]
}
]
