# Copyright (c) 2012, 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.

# This file contains the tests that have been identified as broken and
# have been filed on the co19 issue tracker at
#    https://code.google.com/p/co19/issues/list .
#
# In order to qualify here these tests need to fail both on the VM and dart2js.

### GENERAL FAILURES ###

[ $runtime == vm || $runtime != vm ]
# Tests that fail everywhere, including the analyzer.

LibTest/isolate/IsolateStream/contains_A02_t01: Fail # co19 issue 668

[ $compiler != dartanalyzer && $compiler != dart2analyzer ]
# Tests that fail on every runtime, but not on the analyzer.
Language/07_Classes/6_Constructors/1_Generative_Constructors_A12_t02: fail # co19-roll r587: Please triage this failure
Language/07_Classes/6_Constructors/1_Generative_Constructors_A20_t02: fail # co19-roll r587: Please triage this failure

LibTest/core/Invocation/namedArguments_A01_t01: RuntimeError # co19-roll r607: Please triage this failure
LibTest/core/Symbol/Symbol_A01_t04: RuntimeError # co19-roll r607: Please triage this failure

Language/07_Classes/07_Classes_A13_t01: Pass, MissingCompileTimeError, Fail # co19-roll r623: Please triage this failure
Language/07_Classes/07_Classes_A13_t04: Pass, MissingCompileTimeError, Fail # co19-roll r623: Please triage this failure
Language/07_Classes/07_Classes_A13_t07: Pass, MissingCompileTimeError, Fail # co19-roll r623: Please triage this failure

LibTest/math/acos_A01_t01: PASS, FAIL, OK # co19 issue 44
LibTest/math/asin_A01_t01: PASS, FAIL, OK # co19 issue 44
LibTest/math/atan_A01_t01: PASS, FAIL, OK # co19 issue 44

LibTest/math/cos_A01_t01: PASS, FAIL, OK # co19 issue 44
LibTest/math/tan_A01_t01: PASS, FAIL, OK  # co19 issue 44

LibTest/math/MutableRectangle/MutableRectangle_A01_t01: RuntimeError # co19 issue 674
LibTest/math/Rectangle/Rectangle_A01_t01: RuntimeError # co19 issue 674

LibTest/core/Expando/Expando_A03_t01: RuntimeError # Issue 17735
LibTest/core/Expando/Expando_A03_t03: RuntimeError # Issue 17735
LibTest/core/Expando/Expando_A03_t04: RuntimeError # Issue 17735
LibTest/core/Expando/Expando_A03_t05: RuntimeError # Issue 17735

LibTest/isolate/SendPort/send_A02_t02: SKIP # co19 issue 493 (not fixed in r672)
LibTest/isolate/SendPort/send_A02_t03: SKIP # co19 issue 495 (not fixed in r672)

LibTest/isolate/IsolateStream/any_A01_t01: Fail # Co19 issue 639 (Fixed in r674)
LibTest/isolate/IsolateStream/asBroadcastStream_A01_t01: Fail # Co19 issue 639
LibTest/isolate/IsolateStream/contains_A01_t01: Fail # Co19 issue 639
LibTest/isolate/IsolateStream/first_A01_t01: Fail # Co19 issue 639
LibTest/isolate/IsolateStream/first_A02_t01: Fail # Co19 issue 639
LibTest/isolate/IsolateStream/first_A02_t02: Fail # Co19 issue 639
LibTest/isolate/IsolateStream/isBroadcast_A01_t01: Fail # Co19 issue 639
LibTest/isolate/IsolateStream/isBroadcast_A01_t02: Fail # Co19 issue 639
LibTest/isolate/IsolateStream/isEmpty_A01_t01: Fail # Co19 issue 639
LibTest/isolate/IsolateStream/last_A01_t01: Fail # Co19 issue 639
LibTest/isolate/IsolateStream/last_A02_t01: Fail # Co19 issue 639
LibTest/isolate/IsolateStream/length_A01_t01: Fail # Co19 issue 639
LibTest/isolate/IsolateStream/single_A01_t01: Fail # Co19 issue 639
LibTest/isolate/IsolateStream/single_A02_t01: Fail # Co19 issue 639
LibTest/isolate/ReceivePort/receive_A01_t01: Fail # Co19 issue 639
LibTest/isolate/ReceivePort/receive_A01_t03: Fail # Co19 issue 639
LibTest/isolate/ReceivePort/sendPort_A01_t01: Fail # Co19 issue 639
LibTest/isolate/SendPort/call_A01_t01: Fail # Co19 issue 639
LibTest/isolate/SendPort/send_A02_t04: Fail # Co19 issue 639
LibTest/isolate/SendPort/send_A02_t05: Fail # Co19 issue 639
LibTest/isolate/SendPort/send_A02_t06: Fail # Co19 issue 639
LibTest/isolate/SendPort/send_A03_t01: Fail # Co19 issue 639
LibTest/isolate/SendPort/send_A03_t02: Fail # Co19 issue 639

LibTest/isolate/ReceivePort/any_A01_t02: RuntimeError # co19 issue 676
Language/14_Libraries_and_Scripts/4_Scripts_A03_t03: MissingRuntimeError, OK # co19 issue 638

[ $runtime == dartium || $compiler == dart2js ]
LibTest/async/Future/Future.delayed_A01_t02: Pass, Fail # Issue 15524

### CHECKED MODE FAILURES ###

[ $compiler != dartanalyzer && $compiler != dart2analyzer && $checked ]
LibTest/collection/DoubleLinkedQueue/removeFirst_A01_t01: RuntimeError # co19-roll r607: Please triage this failure
LibTest/collection/LinkedList/LinkedList_A01_t01: RuntimeError # co19-roll r623: Please triage this failure
LibTest/math/MutableRectangle/boundingBox_A01_t01: RuntimeError # co19 issue 675
LibTest/math/MutableRectangle/boundingBox_A01_t02: RuntimeError # co19 issue 675
LibTest/math/MutableRectangle/intersection_A01_t01: RuntimeError # co19 issue 675
