# 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 (read-only).
#    https://github.com/dart-lang/co19/issues .
#
# 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.

LibTest/core/RegExp/firstMatch_A01_t01: Fail # co19 issue 742

[ $system == linux ]
LibTest/collection/ListBase/ListBase_class_A01_t01: Fail # co19 issue 72
LibTest/collection/ListBase/ListBase_class_A01_t02: Fail # co19 issue 72
LibTest/collection/ListBase/listToString_A01_t01: Fail # co19 issue 72
LibTest/collection/ListBase/listToString_A02_t01: Fail # co19 issue 72
LibTest/collection/MapBase/MapBase_class_A01_t01: Fail # co19 issue 72
LibTest/collection/MapMixin/MapMixin_class_A01_t01: Fail # co19 issue 72

[ $compiler != dart2analyzer ]
# Tests that fail on every runtime, but not on the analyzer.
Language/Classes/same_name_type_variable_t04: Pass, MissingCompileTimeError, Fail # Issue 14513,25525
Language/Classes/same_name_type_variable_t07: Pass, MissingCompileTimeError, Fail # Issue 14513,25525
Language/Expressions/Instance_Creation/Const/abstract_class_t01: Pass, Fail # co19 issue 66
Language/Expressions/Instance_Creation/Const/abstract_class_t03: Pass, Fail # co19 issue 66
LibTest/async/Stream/asBroadcastStream_A02_t01: Fail # co19 issue 687
LibTest/collection/DoubleLinkedQueue/DoubleLinkedQueue_class_A01_t01: RuntimeError # Issue 27183
LibTest/collection/LinkedListEntry/unlink_A01_t02: Fail # co19 pull request 73
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/core/RegExp/Pattern_semantics/firstMatch_CharacterEscape_A06_t02: RuntimeError # co19 issue 741
LibTest/core/RegExp/Pattern_semantics/firstMatch_DecimalEscape_A01_t02: Fail # co19 issue 740
LibTest/core/Symbol/Symbol_A01_t04: RuntimeError # Issue 25804
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/asBroadcastStream_A02_t01: Fail # co19 issue 687
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_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/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/math/acos_A01_t01: PASS, FAIL, OK  # Issue 26261
LibTest/math/asin_A01_t01: PASS, FAIL, OK  # Issue 26261
LibTest/math/atan_A01_t01: PASS, FAIL, OK  # Issue 26261
LibTest/math/cos_A01_t01: PASS, FAIL, OK  # Issue 26261
LibTest/math/tan_A01_t01: PASS, FAIL, OK  # Issue 26261
LibTest/math/log_A01_t01: PASS, FAIL, OK  # Issue 26261

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

[ ($compiler == none || $compiler == precompiler || $compiler == dart2appjit) && ($runtime == vm || $runtime == drt || $runtime == dartium || $runtime == dart_precompiled || $runtime == dart_app) ]
# Optional trailing commas for argument and parameter lists added to language.
# https://github.com/dart-lang/co19/issues/68
Language/Expressions/Function_Invocation/Actual_Argument_List_Evaluation/syntax_t05: Fail, OK
Language/Expressions/Method_Invocation/Ordinary_Invocation/syntax_t05: Fail, OK
Language/Expressions/Method_Invocation/Ordinary_Invocation/syntax_t10: Fail, OK
Language/Expressions/Method_Invocation/Super_Invocation/syntax_t05: Fail, OK
Language/Functions/Formal_Parameters/syntax_t04: Fail, OK
Language/Functions/Formal_Parameters/syntax_t05: Fail, OK
Language/Functions/Formal_Parameters/syntax_t12: Fail, OK
