/*
 * 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 hammerhead-concurrent-collector",
  result: EXEC_FAILED,
  modes: [device],
  names: ["libcore.icu.RelativeDateTimeFormatterTest#test_bug25821045",
          "libcore.java.text.SimpleDateFormatTest#testLocales",
          "libcore.java.util.zip.ZipFileTest#testZipFileWithLotsOfEntries"],
  bug: 26711853
}
]
