# 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 directory contains tests that are intended to show the
# current state of the language.

[ $compiler == none ]
mixin_super_constructor_named_test: Fail # Issue 12631
mixin_super_constructor_positionals_test: Fail # Issue 12631
built_in_identifier_prefix_test: Fail # Issue 6970
throwing_lazy_variable_test: Fail # Issue 5802
f_bounded_equality_test: RuntimeError # Issue 14000

# These bugs refer currently ongoing language discussions.
constructor_initializer_test/none: Fail # Issue 12633
constructor5_test: Fail # Issue 6422
constructor6_test: Fail # Issue 6422
closure_in_initializer_test: Fail # Issue 6422

# Regular bugs which should be fixed.
lazy_static3_test: Fail # Issue 12593
duplicate_export_negative_test: Fail # Issue 6134
mixin_forwarding_constructor2_test: Fail # Issue 13641
implicit_setter_test: Fail # Issue 13917

[ $compiler == none && $runtime == vm ]
class_keyword_test/02: MissingCompileTimeError # Issue 13627

[ $compiler == none && $checked ]
type_variable_bounds4_test/01: Fail # Issue 14006

[ $compiler == none && $unchecked ]
# Only checked mode reports an error on type assignment
# problems in compile time constants.
compile_time_constant_checked_test/02: Fail, OK
compile_time_constant_checked2_test/01: Fail, OK
compile_time_constant_checked2_test/02: Fail, OK
compile_time_constant_checked2_test/03: Fail, OK
compile_time_constant_checked2_test/04: Fail, OK
compile_time_constant_checked2_test/05: Fail, OK
compile_time_constant_checked2_test/06: Fail, OK
compile_time_constant_checked3_test/01: Fail, OK
compile_time_constant_checked3_test/02: Fail, OK
compile_time_constant_checked3_test/03: Fail, OK
compile_time_constant_checked3_test/04: Fail, OK
compile_time_constant_checked3_test/05: Fail, OK
compile_time_constant_checked3_test/06: Fail, OK

[ $runtime == vm || (($runtime == drt || $runtime == dartium) && $compiler == none) ]
call_test: Fail # Issue 12602
dynamic_prefix_core_test: Fail # Issue 12478

[ $compiler == none && $runtime == drt ]
mixin_illegal_object_test/01: pass # Issue 10952.
mixin_illegal_object_test/02: pass # Issue 10952.

[ $compiler == dart2js && $runtime == ie9 ]
lazy_static3_test: Fail # Issue 13469

[ $compiler == none && $runtime == dartium && $unchecked ]
named_parameters_type_test/01: Fail # Issue 13719: Please triage this failure.
named_parameters_type_test/02: Fail # Issue 13719: Please triage this failure.
named_parameters_type_test/03: Fail # Issue 13719: Please triage this failure.
positional_parameters_type_test/01: Fail # Issue 13719: Please triage this failure.
positional_parameters_type_test/02: Fail # Issue 13719: Please triage this failure.
assertion_test: Fail # Issue 13719: Please triage this failure.
generic_test: Fail # Issue 13719: Please triage this failure.
list_literal1_test/01: Fail # Issue 13719: Please triage this failure.
list_literal4_test: Fail # Issue 13719: Please triage this failure.
map_literal1_test/01: Fail # Issue 13719: Please triage this failure.
map_literal4_test: Fail # Issue 13719: Please triage this failure.
type_checks_in_factory_method_test: Fail # Issue 13719: Please triage this failure.
vm/type_vm_test: Fail # Issue 13719: Please triage this failure.

[ $compiler == none && $runtime == dartium ]
first_class_types_literals_test: Pass, Fail # Issue 13719: Please triage this failure.
issue13474_test: Pass, Fail # Issue 13719: Please triage this failure.
regress_13494_test: Pass, Fail # Issue 13719: Please triage this failure.

[ $compiler == none && ( $runtime == dartium || $runtime == drt ) ]
typed_message_test: Crash, Fail # Issue 13921, 14400

