# 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/typed_data/ByteData/buffer_A01_t01: Fail # co19 r736 bug - sent comment.
LayoutTests/fast/mediastream/getusermedia_t01: Fail # co19 issue 738.

# These tests are obsolete and need updating.
WebPlatformTest/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-002_t01: Skip # Issue 19019
WebPlatformTest/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-003_t01: Skip # Issue 19019

# These tests are broken in both Javascript and Dart (co19 folks contacted to fix).
WebPlatformTest/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-004_t01: Skip # Issue 21115

[ $compiler != dartanalyzer && $compiler != dart2analyzer ]
# Tests that fail on every runtime, but not on the analyzer.

LibTest/async/Future/Future.error_A01_t01: RuntimeError # co19 issue 712
LibTest/async/Completer/completeError_A02_t01: RuntimeError # co19 issue 712
LibTest/isolate/ReceivePort/asBroadcastStream_A02_t01: Fail # co19 issue 687
LibTest/async/Stream/asBroadcastStream_A02_t01: Fail # co19 issue 687

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/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

[ $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/collection/LinkedList/lastWhere_A02_t01: RuntimeError # co19 issue 737
