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

# In order to maintain maximum test coverage for all builds,
# please use the following procedure to mark a test
# failed on architectures other than the one you are working on.
#
# 1) Copy the old version of the test to
#    tests/language/src/test_name_[dartc|vm]_test.dart.
#    to maintain coverage.
# 2) File a bug on each architecture for the failure due to the language change.
# 3) Update the language/src directory with the updated test.

[ $compiler == dart2dart ]
mixin_super_constructor_named_test: Fail
mixin_super_constructor_positionals_test: Fail
function_type_alias6_test/00: Fail # Issue 11986
function_type_alias9_test/00: Crash # Issue 11986

[ $compiler == none ]
mixin_super_constructor_named_test: Fail
mixin_super_constructor_positionals_test: Fail
built_in_identifier_prefix_test: Fail # http://dartbug.com/6970
library_juxtaposition_test: Fail # Issue 6877
pseudo_kw_illegal_test/14: Fail  # Issue 356
bound_closure_equality_test: Fail # Issue 10849

# These bugs refer currently ongoing language discussions.
constructor5_test: Fail           # (Discussion ongoing)

constructor_initializer_test: Fail # Side effects in constructor parameters

constructor6_test: Fail           # Issue 6422
closure_in_initializer_test: Fail # Issue 6422

# Regular bugs which should be fixed.
const_init6_negative_test: Fail       # Issue 811
super_first_constructor_test: Fail # Issue 1372.

parameter_initializer6_negative_test: Fail # Issue 3502

named_parameters_aggregated_test/05: Fail # Compile-time error reported instead of static type warning.

lazy_static3_test: Fail # Issue 3558

type_error_test: Fail # http://dartbug.com/5280

# DartC specific tests that should not be run by the VM
*dartc_test: Skip
*dartc_negative_test: Skip

compile_time_constant10_test/none: Fail # issue 5214

export_cyclic_test: Fail, Crash # issue 6060
duplicate_export_negative_test: Fail # issue 6134
type_annotation_test/04: Fail # Issue 6970
type_annotation_test/06: Fail # Issue 6973
type_annotation_test/09: Fail # Issue 6973

on_catch_malformed_type_test: Fail # Issue 8601

mixin_mixin_test: Fail
mixin_issue10216_2_test: Fail
mixin_illegal_object_test/01: Crash # Issue 10952
mixin_illegal_object_test/02: Crash # Issue 10952

type_variable_field_initializer_closure_test: Crash # issue 8847
closures_initializer_test: Crash # issue 8847
closures_initializer2_test: Crash # issue 8847

mixin_forwarding_constructor2_test: Fail # Issue 11888
mixin_typedef_constructor_test: Fail # Issue 11888
mixin_type_parameter2_test: Fail # Issue 11888

const_constructor_mixin_test/01: Fail # Issue 11917
const_constructor_mixin2_test/01: Fail # Issue 11917
const_constructor_mixin3_test/01: Fail # Issue 11917

[ $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


[ $compiler == none && $runtime == drt ]
type_variable_field_initializer_closure_test: Fail # issue 8847
closures_initializer_test: Fail # VM bug: issue 8847
closures_initializer2_test: Fail # VM bug: issue 8847
final_variable_assignment_test/01: Fail
final_variable_assignment_test/02: Fail
final_variable_assignment_test/03: Fail
final_variable_assignment_test/04: Fail


[ $runtime == dartium ]
import_combinators_test: Fail


[ $runtime == vm || ($runtime == drt && $compiler == none) ]
first_class_types_literals_test: Fail # issue 11761
call_test: Fail # Issue 1604
throw8_test: Fail # Issue 11972

[ $runtime == chrome ]


[ $runtime == ie9 && ($system == linux || $system == macos) ]
*: Skip

[ $runtime == safari && ($system == linux || $system == windows) ]
*: Skip

[ $browser ]


[ $compiler == dart2dart ]
built_in_identifier_prefix_test: Fail # Inherited from dart2js.
constructor_initializer_test: Fail # VM issue
factory3_test: Fail
type_checks_in_factory_method_test: Fail

many_overridden_no_such_method_test: Fail, Pass, OK # Fails in minified mode, test depends on method names.
overridden_no_such_method_test: Fail, Pass, OK # Fails in minified mode, test depends on method names.

on_catch_malformed_type_test: Fail # Issue 8601

# False positive compile-time error is masking expected compile-time error
mixin_type_parameters_errors_test/*: Skip

# Mixins fail on the VM.
mixin_mixin_test: Fail                      # VM issue
mixin_issue10216_2_test: Fail               # VM issue
mixin_forwarding_constructor2_test: Fail # Issue 11888
mixin_typedef_constructor_test: Fail # Issue 11888
mixin_type_parameter2_test: Fail # Issue 11888

mixin_with_two_implicit_constructors_test: Fail # Issue 11889

# Malformed types not handled as unresolved:
import_core_prefix_test: Fail
prefix16_test: Fail
prefix22_test: Fail
type_annotation_test/04: Fail
type_annotation_test/06: Fail

# Calling unresolved class constructor:
call_nonexistent_constructor_test: Fail

bad_override_test/01: Fail
bad_override_test/02: Fail

# Missing compile-time error when modifying final local variables
final_variable_assignment_test/01: Fail
final_variable_assignment_test/02: Fail
final_variable_assignment_test/03: Fail
final_variable_assignment_test/04: Fail

compile_time_constant10_test/01: Fail # http://dartbug.com/5519
compile_time_constant10_test/02: Fail # http://dartbug.com/5519
compile_time_constant_arguments_test/01: Fail # http://dartbug.com/5519
compile_time_constant_arguments_test/02: Fail # http://dartbug.com/5519
compile_time_constant_arguments_test/03: Fail # http://dartbug.com/5519
compile_time_constant_arguments_test/05: Fail # http://dartbug.com/5519
compile_time_constant_arguments_test/06: Fail # http://dartbug.com/5519
const_constructor_syntax_test/04: Fail # http://dartbug.com/5519
const_syntax_test/01: Fail # http://dartbug.com/5519
const_syntax_test/02: Fail # http://dartbug.com/5519
const_syntax_test/03: Fail # http://dartbug.com/5519
const_syntax_test/04: Fail # http://dartbug.com/5519
const_syntax_test/05: Fail # http://dartbug.com/5519
const_syntax_test/06: Fail # http://dartbug.com/5519
const_syntax_test/07: Fail # http://dartbug.com/5519
const_syntax_test/08: Fail # http://dartbug.com/5519
const_syntax_test/10: Fail # http://dartbug.com/5519
constructor_named_arguments_test/01: Fail # http://dartbug.com/5519
final_for_in_variable_test/01: Fail # http://dartbug.com/5519
final_is_not_const_test/01: Fail # http://dartbug.com/5519
final_syntax_test/01: Fail # http://dartbug.com/5519
final_syntax_test/02: Fail # http://dartbug.com/5519
final_syntax_test/03: Fail # http://dartbug.com/5519
final_syntax_test/04: Fail # http://dartbug.com/5519
getter_no_setter_test/01: Fail # http://dartbug.com/5519
named_parameters_aggregated_test/01: Fail # http://dartbug.com/5519
named_parameters_aggregated_test/03: Fail # http://dartbug.com/5519
not_enough_positional_arguments_test/01: Fail # http://dartbug.com/5519

metadata_test: Fail
# Fails in conservative mode, issue 4935, passes in minifinying mode.
argument_definition_test/*: Skip # Not implemented.
const_var_test: Pass, Fail # Map literals take 2 type arguments.
map_literal3_test: Fail # Map literals take 2 type arguments.
class_cycle_negative_test: Fail, OK # Bad test: assumes eager loading.
interface_cycle_negative_test: Fail, OK # Bad test: assumes eager loading.
# Common problems with dart2js.  In illegal family, invalid
# declarations are simply not parsed.  In pseudo kw dart2js
# chokes on things like typedef(x) => "typedef $x" and alike.
abstract_syntax_test/01: Fail
abstract_syntax_test/02: Fail
pseudo_kw_illegal_test/14: Fail
pseudo_kw_test: Fail
# external keyword is not yet supported by dart2js/dart2dart.
external_test/*: Skip
lazy_static3_test: Fail, OK # Issue 3558
# dart2js frontend doesn't even analyse problematic classes.
duplicate_implements_test/01: Fail
duplicate_implements_test/02: Fail
duplicate_implements_test/03: Fail
duplicate_implements_test/04: Fail
interface_factory_constructor_negative_test: Fail
method_override4_test: Fail
method_override5_test: Fail
operator1_negative_test: Fail
static_final_field_negative_test: Fail
static_top_level_test/00: Fail
static_top_level_test/01: Fail
static_top_level_test/02: Fail
static_top_level_test/03: Fail
static_top_level_test/04: Fail
static_top_level_test/05: Fail
static_top_level_test/06: Fail
static_top_level_test/07: Fail
# Bug in dart2js parser: it happily parses 1is int; variable declaration.
number_identifier_negative_test: Fail
# Common with language_dart2js.
factory_redirection_test/0*: Skip # Flaky negative tests, crash, fail, or pass. Not implemented.
factory_redirection_test/1*: Skip # Flaky negative tests, crash, fail, or pass. Not implemented.
function_type_alias5_test/00: Fail
function_type_alias5_test/01: Fail
function_type_alias5_test/02: Fail
function_type_alias7_test/00: Fail
parameter_initializer6_negative_test: Fail # Issue 3502
syntax_test/47: Fail
# DartVM problem.
constructor5_test: Fail
constructor6_test: Fail
closure_in_initializer_test: Fail
super_first_constructor_test: Fail
# VM specific tests.
# This test hard codes name of file being run and precise position.
generic_test: Fail, Ok
# Minified mode failures.
# TODO(antonm): proper support in test framework.
no_such_method_test: Pass, Fail, OK # Hard codes the name of invoked method ("foo").

named_parameters_aggregated_test/05: Fail # Compile-time error reported instead of static type warning.

new_expression_type_args_test/00: Fail # Wrongly reports compile-time error.
new_expression_type_args_test/01: Fail # Wrongly reports compile-time error.

get_set_syntax_test/00: Fail # Fixed by https://chromiumcodereview.appspot.com/10915111
get_set_syntax_test/01: Fail # Fixed by https://chromiumcodereview.appspot.com/10915111
get_set_syntax_test/02: Fail # Fixed by https://chromiumcodereview.appspot.com/10915111
get_set_syntax_test/03: Fail # Fixed by https://chromiumcodereview.appspot.com/10915111
get_set_syntax_test/04: Fail # Fixed by https://chromiumcodereview.appspot.com/10915111
get_set_syntax_test/05: Fail # Fixed by https://chromiumcodereview.appspot.com/10915111
get_set_syntax_test/06: Fail # Fixed by https://chromiumcodereview.appspot.com/10915111
get_set_syntax_test/07: Fail # Fixed by https://chromiumcodereview.appspot.com/10915111
get_set_syntax_test/08: Fail # Fixed by https://chromiumcodereview.appspot.com/10915111
get_set_syntax_test/13: Fail # Fixed by https://chromiumcodereview.appspot.com/10915111
get_set_syntax_test/14: Fail # Fixed by https://chromiumcodereview.appspot.com/10915111
get_set_syntax_test/15: Fail # Fixed by https://chromiumcodereview.appspot.com/10915111

compile_time_constant10_test/none: Fail # Triage this.

# 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

type_error_test: Fail, OK # VM bug: http://dartbug.com/5280

type_variable_field_initializer_closure_test: Crash # VM bug: issue 8847
closures_initializer_test: Crash # VM bug: issue 8847
closures_initializer2_test: Crash # VM bug: issue 8847

bound_closure_equality_test: Fail # Issue 10849

[ $compiler == dart2dart && $minified ]
super_getter_setter_test: Fail # Issue 11065.

# TODO(tball): Assign proper bug numbers.
class_literal_test: Fail

import_core_prefix_test: Pass
prefix22_test: Pass
invocation_mirror_test: Fail, OK # hardcoded names.
super_call4_test: Fail, OK # hardcoded names.


[ $arch == simarm || $arch == arm ]
try_catch4_test: Crash, Fail


[ $arch == mips ]
*: Skip

[ $arch == simmips ]
try_catch4_test: Fail
