# 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.


[ ($compiler == none || $compiler == precompiler) && (($runtime == vm || $runtime == dart_precompiled) || $runtime == dartium || $runtime == ContentShellOnAndroid) ]

# Failures ok in tests below. VM moves super initializer to end of list.
Language/Classes/Constructors/Generative_Constructors/execution_t03: Fail, OK
Language/Expressions/Instance_Creation/New/execution_t04: Fail, OK
Language/Expressions/Instance_Creation/New/execution_t06: Fail, OK

LibTest/core/RegExp/Pattern_semantics/firstMatch_NonEmptyClassRanges_A01_t01: Fail # Issue 22200
LibTest/core/RegExp/Pattern_semantics/firstMatch_NonEmptyClassRanges_A01_t05: Fail # Issue 22200
LibTest/core/RegExp/Pattern_semantics/firstMatch_NonEmptyClassRanges_A01_t06: Fail # Issue 22200

LibTest/core/int/toRadixString_A01_t01: Fail # co19 issue 492

Language/Statements/Switch/syntax_t02: fail # Dart issue 12908
Language/Statements/Labels/syntax_t03: fail # Dart issue 2238
Language/Libraries_and_Scripts/Exports/reexport_t01: fail # Dart issue 12916
Language/Libraries_and_Scripts/Exports/reexport_t02: fail # Dart issue 12916

Language/Statements/Assert/execution_t02: skip # co19 issue 734
Language/Statements/Assert/execution_t03: skip # co19 issue 734
Language/Statements/Assert/type_t02: skip # co19 issue 734
Language/Statements/Assert/type_t05: skip # co19 issue 734


LibTest/core/DateTime/parse_A03_t01: fail # Issue 12514
LibTest/core/DateTime/parse_A01_t02: Fail # co19 issue 17.

LibTest/core/DateTime/DateTime.now_A01_t02: Pass, Fail # co19 issue 709

LibTest/isolate/Isolate/spawnUri_A01_t02: Skip # Dart issue 15974
LibTest/isolate/Isolate/spawnUri_A01_t03: Skip # Dart issue 15974
LibTest/isolate/Isolate/spawnUri_A02_t01: RuntimeError # Dart issue 15617
LibTest/isolate/Isolate/spawnUri_A02_t02: Skip # Dart issue 15974
LibTest/isolate/Isolate/spawnUri_A02_t03: Skip # Dart issue 15974
LibTest/isolate/Isolate/spawnUri_A02_t04: Skip # Dart issue 15974
LibTest/isolate/Isolate/spawn_A02_t02: RuntimeError # Dart issue 15617

LibTest/core/Symbol/Symbol_A01_t03: RuntimeError # Issue 13596
LibTest/core/Symbol/Symbol_A01_t05: RuntimeError # Issue 13596

[ ($compiler == none || $compiler == precompiler) && ($runtime == vm || $runtime == dart_precompiled) ]
LibTest/typed_data/Float32x4/reciprocalSqrt_A01_t01: Pass, Fail # co19 issue 599
LibTest/typed_data/Float32x4/reciprocal_A01_t01: Pass, Fail # co19 issue 599
Language/Expressions/Instance_Creation/Const/abstract_class_t01: MissingCompileTimeError # Issue 22007
Language/Expressions/Instance_Creation/Const/abstract_class_t03: MissingCompileTimeError # Issue 22007
# With asynchronous loading, the load errors in these tests are no longer recognized as compile errors:
Language/Libraries_and_Scripts/Imports/invalid_uri_t02: Fail
Language/Libraries_and_Scripts/Exports/invalid_uri_t02: Fail
Language/Libraries_and_Scripts/Parts/syntax_t06: Fail

[ ($runtime == vm || $runtime == dart_precompiled) ]
LibTest/math/MutableRectangle/MutableRectangle.fromPoints_A01_t01: Pass, RuntimeError # co19-roll r607: Please triage this failure

[ ($compiler == none || $compiler == precompiler) && ($runtime == vm || $runtime == dart_precompiled) && $mode == debug ]
LibTest/core/List/List_class_A01_t02: Pass, Slow

[ ($compiler == none || $compiler == precompiler) && ($runtime == vm || $runtime == dart_precompiled) && ($arch != x64 && $arch != simarm64) ]
LibTest/core/int/operator_left_shift_A01_t02: Fail # co19 issue 129

[ ($compiler == none || $compiler == precompiler) && ($runtime == vm || $runtime == dart_precompiled) && $arch == mips ]
LibTest/core/double/toInt_A01_t01: Fail
# These tests take too much memory (300 MB) for our 1 GB test machine.
# co19 issue 673. http://code.google.com/p/co19/issues/detail?id=673
LibTest/core/List/List_class_A01_t02: Skip # co19 issue 673
LibTest/collection/ListMixin/ListMixin_class_A01_t02: Skip # co19 issue 673
LibTest/collection/ListBase/ListBase_class_A01_t02: Skip # co19 issue 673

[ ($compiler == none || $compiler == precompiler) && ($runtime == vm || $runtime == dart_precompiled) && $arch == mips && $mode == debug ]
LibTest/isolate/Isolate/spawnUri_A01_t04: Crash, Pass # Issue 17440
LibTest/isolate/Isolate/spawn_A01_t04: Crash, Pass # Issue 17440

[ ($compiler == none || $compiler == precompiler) && ($runtime == vm || $runtime == dart_precompiled) && ($arch == simarm || $arch == simarmv5te || $arch == simmips || $arch == simarm64) ]
LibTest/core/Uri/Uri_A06_t03: Skip  # Timeout
LibTest/collection/ListMixin/ListMixin_class_A01_t01: Skip  # Timeout
LibTest/collection/ListBase/ListBase_class_A01_t01: Skip  # Timeout
LibTest/collection/ListMixin/ListMixin_class_A01_t02: Skip  # Timeout
LibTest/collection/ListBase/ListBase_class_A01_t02: Skip  # Timeout

[ ($compiler == none || $compiler == precompiler) && $system == windows ]
LibTest/collection/ListMixin/ListMixin_class_A01_t02: Pass, Slow
LibTest/collection/ListBase/ListBase_class_A01_t02: Pass, Slow

[ ($runtime == vm || $runtime == dart_precompiled) ]
LibTest/isolate/Isolate/spawn_A02_t01: Skip # co19 issue 667
LibTest/html/*: SkipByDesign # dart:html not supported on VM.
LayoutTests/fast/*: SkipByDesign # DOM not supported on VM.
WebPlatformTest/*: SkipByDesign # dart:html not supported on VM.

[ ($runtime == vm || $runtime == dart_precompiled) && $mode == debug && $builder_tag == asan ]
Language/Types/Interface_Types/subtype_t27: Skip  # Issue 21174.

[ ($runtime == vm || $runtime == dart_precompiled) && $arch == arm ]
LibTest/typed_data/Float32x4/operator_multiplication_A01_t01: Fail # Dart issue 24416

[ ($runtime == vm || $runtime == dart_precompiled) ]
# co19 update Sep 29, 2015 (3ed795ea02e022ef19c77cf1b6095b7c8f5584d0)
Language/Classes/Getters/type_object_t01: RuntimeError # Please triage this failure
Language/Classes/Getters/type_object_t02: RuntimeError # Please triage this failure
Language/Classes/Setters/syntax_t04: RuntimeError # Please triage this failure
Language/Classes/Setters/type_object_t01: RuntimeError # Please triage this failure
Language/Classes/Setters/type_object_t02: RuntimeError # Please triage this failure
Language/Classes/Static_Methods/type_object_t01: RuntimeError # Please triage this failure
Language/Classes/Static_Methods/type_object_t02: RuntimeError # Please triage this failure
Language/Expressions/Property_Extraction/General_Closurization/class_object_member_t01: MissingCompileTimeError # Please triage this failure
Language/Expressions/Property_Extraction/General_Closurization/class_object_member_t02: MissingCompileTimeError # Please triage this failure
Language/Expressions/Property_Extraction/General_Closurization/class_object_member_t03: MissingCompileTimeError # Please triage this failure
Language/Expressions/Property_Extraction/General_Closurization/class_object_member_t04: MissingCompileTimeError # Please triage this failure
Language/Expressions/Property_Extraction/General_Closurization/class_object_member_t05: MissingCompileTimeError # Please triage this failure
Language/Expressions/Property_Extraction/General_Closurization/class_object_member_t06: MissingCompileTimeError # Please triage this failure
Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/class_object_member_t01: MissingCompileTimeError # Please triage this failure
Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/class_object_member_t02: MissingCompileTimeError # Please triage this failure
Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/class_object_member_t03: MissingCompileTimeError # Please triage this failure
Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/class_object_member_t04: MissingCompileTimeError # Please triage this failure
Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/class_object_member_t05: MissingCompileTimeError # Please triage this failure
Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/class_object_member_t06: MissingCompileTimeError # Please triage this failure
Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/class_object_member_t07: MissingCompileTimeError # Please triage this failure
Language/Expressions/Property_Extraction/Getter_Access_and_Method_Extraction/class_object_member_t08: MissingCompileTimeError # Please triage this failure
Language/Expressions/Property_Extraction/Named_Constructor_Extraction/not_class_t01: CompileTimeError # Please triage this failure
Language/Libraries_and_Scripts/Imports/namespace_changes_t10: RuntimeError # Please triage this failure
Language/Libraries_and_Scripts/Parts/compilation_t09: MissingCompileTimeError # Please triage this failure
Language/Libraries_and_Scripts/URIs/syntax_t04: RuntimeError # Please triage this failure
Language/Libraries_and_Scripts/URIs/syntax_t05: RuntimeError # Please triage this failure
Language/Libraries_and_Scripts/URIs/syntax_t09: RuntimeError # Please triage this failure
Language/Libraries_and_Scripts/URIs/syntax_t10: RuntimeError # Please triage this failure
Language/Libraries_and_Scripts/URIs/syntax_t14: RuntimeError # Please triage this failure
Language/Libraries_and_Scripts/URIs/syntax_t15: RuntimeError # Please triage this failure
Language/Mixins/Mixin_Application/error_t01: MissingCompileTimeError # Please triage this failure
Language/Mixins/Mixin_Application/error_t02: MissingCompileTimeError # Please triage this failure
Language/Mixins/declaring_constructor_t01: MissingCompileTimeError # Please triage this failure
Language/Mixins/not_object_superclass_t01: MissingCompileTimeError # Please triage this failure
Language/Mixins/reference_to_super_t01: MissingCompileTimeError # Please triage this failure

[ ($runtime == vm || $runtime == dart_precompiled) && $mode == debug ]
Language/Mixins/Mixin_Application/wrong_type_t02: Crash # Please triage this failure

[ ($runtime == vm || $runtime == dart_precompiled) && $checked ]
Language/Errors_and_Warnings/static_warning_t01: RuntimeError # Please triage this failure
Language/Errors_and_Warnings/static_warning_t02: RuntimeError # Please triage this failure
Language/Errors_and_Warnings/static_warning_t03: RuntimeError # Please triage this failure
Language/Errors_and_Warnings/static_warning_t04: RuntimeError # Please triage this failure
Language/Errors_and_Warnings/static_warning_t05: RuntimeError # Please triage this failure
Language/Errors_and_Warnings/static_warning_t06: RuntimeError # Please triage this failure

[ ($noopt || $compiler == precompiler) ]
LibTest/collection/ListBase/ListBase_class_A01_t02: Pass, Timeout
LibTest/collection/ListMixin/ListMixin_class_A01_t02: Pass, Timeout
LibTest/core/Map/Map_class_A01_t04: Pass, Timeout
LibTest/core/Uri/encodeQueryComponent_A01_t02: Pass, Timeout
Language/Mixins/Mixin_Application/error_t01: Pass
Language/Mixins/Mixin_Application/error_t02: Pass
Language/Mixins/declaring_constructor_t01: Pass
Language/Expressions/Property_Extraction/Named_Constructor_Extraction/deferred_type_t01: Pass
Language/Metadata/*: Skip # Uses dart:mirrors

[ $runtime == dart_precompiled ]
LibTest/isolate/Isolate/spawnUri*: RuntimeError # Isolate.spawnUri
