/*
 * This file contains expectations for ART's buildbot's concurrent collector
 * configurations. The purpose of this file is to temporary and quickly list
 * failing tests and not break the bots on the CC configurations, until they
 * are fixed or 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: "Assertion failing on the concurrent collector configuration.",
  result: EXEC_FAILED,
  names: ["jsr166.LinkedTransferQueueTest#testTransfer2",
          "jsr166.LinkedTransferQueueTest#testWaitingConsumer"],
  bug: 25883050
},
{
  description: "libcore.java.lang.OldSystemTest#test_gc failure on armv8-concurrent-collector.",
  result: EXEC_FAILED,
  names: ["libcore.java.lang.OldSystemTest#test_gc"],
  bug: 26155567
},
{
  description: "TimeoutException on host-x86-concurrent-collector",
  result: EXEC_FAILED,
  names: ["libcore.java.util.zip.ZipFileTest#testZipFileWithLotsOfEntries,
           libcore.java.util.zip.ZipInputStreamTest#testLongMessage"],
  bug: 26507762
}
]
