# Copyright (c) 2013, the Dart project authors.  Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.

[ $compiler == none && $runtime == drt ]
*: Skip # running co19 tests on content_shell would make our dartium cycle-times very long

[ $compiler == none && $runtime == dartium ]
Language/13_Statements/04_Local_Function_Declaration_A04_t01: Fail, MissingCompileTimeError # co19-roll r607: Please triage this failure
Language/07_Classes/6_Constructors/1_Generative_Constructors_A09_t01: Pass, Fail # Issue 13719: Please triage this failure.
Language/12_Expressions/12_Spawning_an_Isolate_A01_t01: Fail # Issue 13921
Language/14_Libraries_and_Scripts/3_Parts_A02_t02: Pass, Timeout # Issue 13719: Please triage this failure.
Language/14_Libraries_and_Scripts/4_Scripts_A03_t03: Pass # Issue 14478: This should break.
LibTest/async/Completer/completeError_A02_t01: Pass, Fail # Issue 13719: Please triage this failure.
LibTest/async/Future/Future_A01_t03: Fail # co19-roll r641: Please triage this failure
LibTest/core/int/operator_left_shift_A01_t02: Pass, Fail # Issue 13719: Please triage this failure.
LibTest/isolate/isolate_api/spawnFunction_A01_t01: Fail # Issue 13921
LibTest/isolate/isolate_api/spawnFunction_A01_t02: Fail # Issue 13921
LibTest/isolate/isolate_api/spawnFunction_A01_t03: Fail # Issue 13921
LibTest/isolate/isolate_api/spawnFunction_A01_t04: Fail # Issue 13921
LibTest/isolate/isolate_api/spawnFunction_A01_t05: Fail # Issue 13921
LibTest/isolate/isolate_api/spawnFunction_A02_t01: Fail # Issue 13921
LibTest/isolate/isolate_api/spawnFunction_A03_t01: Fail # Issue 13921
LibTest/isolate/isolate_api/spawnFunction_A04_t02: Fail # Issue 13921
LibTest/isolate/isolate_api/spawnFunction_A04_t02: Timeout # Issue 13719: Please triage this failure.
LibTest/isolate/isolate_api/spawnFunction_A04_t03: Fail # Issue 13921
LibTest/isolate/isolate_api/spawnFunction_A04_t03: Timeout # Issue 13719: Please triage this failure.
LibTest/isolate/isolate_api/streamSpawnFunction_A01_t01: Fail # Issue 13921
LibTest/isolate/IsolateSink/add_A01_t01: Fail # Issue 13921
LibTest/isolate/IsolateSink/add_A01_t02: Fail # Issue 13921
LibTest/isolate/IsolateSink/add_A02_t01: Fail # Issue 13921
LibTest/isolate/IsolateSink/close_A01_t03: Fail # Issue 13921
LibTest/isolate/IsolateSink/close_A01_t04: Fail # Issue 13921
LibTest/isolate/IsolateSink/operator_equality_A01_t01: Fail # Issue 13921
LibTest/isolate/ReceivePort/toSendPort_A01_t02: Pass, Fail # Issue 13719: Please triage this failure.
LibTest/isolate/SendPort/send_A02_t01: Fail # Issue 13921
LibTest/isolate/SendPort/send_A02_t04: Fail # Issue 13921
LibTest/isolate/SendPort/send_A02_t05: Fail # Issue 13921
LibTest/isolate/SendPort/send_A02_t06: Fail # Issue 13921

LibTest/isolate/isolate_api/spawnUri_A01_t01: Skip # Issue 13992
LibTest/isolate/isolate_api/spawnUri_A01_t02: Skip # Issue 13992
LibTest/isolate/isolate_api/spawnUri_A01_t03: Skip # Issue 13992
LibTest/isolate/isolate_api/spawnUri_A01_t04: Skip # Issue 13992
LibTest/isolate/isolate_api/spawnUri_A01_t05: Skip # Issue 13992

[ $compiler == none && $runtime == dartium && $checked ]
Language/13_Statements/09_Switch_A09_t01: Fail # Please triage this failure (enabled checked mode tests on dartium)
Language/12_Expressions/12_Instance_Creation_A01_t08: Fail # Please triage this failure (enabled checked mode tests on dartium)
LibTest/core/List/removeAt_A02_t01: Fail # co19-roll r641: Please triage this failure
