# 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 == dart2js || $compiler == dart2dart ]
bad_constructor_test/05: CompileTimeError # Issue 13669
malformed_test/05: MissingCompileTimeError # Issue 12695
malformed_test/06: MissingCompileTimeError # Issue 12695
full_stacktrace1_test: Pass, RuntimeError # Issue 12698
full_stacktrace2_test: Pass, RuntimeError # Issue 12698
full_stacktrace3_test: Pass, RuntimeError # Issue 12698
stacktrace_test: Pass, RuntimeError # # Issue 12698
illegal_invocation_test/01: CompileTimeError # Issue 13630
instantiate_type_variable_test/01: CompileTimeError # Issue 13631
library_ambiguous_test/00: CompileTimeError # Issue 13632
library_ambiguous_test/01: CompileTimeError # Issue 13632
library_ambiguous_test/02: CompileTimeError # Issue 13632
library_ambiguous_test/03: CompileTimeError # Issue 13632
type_variable_conflict_test/01: Fail # Issue 13702
type_variable_conflict_test/02: Fail # Issue 13702
type_variable_conflict_test/03: Fail # Issue 13702
type_variable_conflict_test/04: Fail # Issue 13702
type_variable_conflict_test/05: Fail # Issue 13702
type_variable_conflict_test/06: Fail # Issue 13702

ref_before_declaration_test/00: MissingCompileTimeError
ref_before_declaration_test/01: MissingCompileTimeError
ref_before_declaration_test/02: MissingCompileTimeError
ref_before_declaration_test/03: MissingCompileTimeError
ref_before_declaration_test/04: MissingCompileTimeError
ref_before_declaration_test/05: MissingCompileTimeError
ref_before_declaration_test/06: MissingCompileTimeError

prefix3_negative_test: Crash # Issue 17139
setter_declaration2_negative_test: Crash # Issue 17139

# VM specific tests that should not be run by dart2js.
vm/*: Skip # Issue 12699

[ $compiler == dart2js && $checked ]
mixin_bound_test: Crash # Issue 17658
type_variable_bounds_test/02: Fail # Issue 12702
type_variable_bounds2_test/01: Fail # Issue 12702
type_variable_bounds2_test/04: Fail # Issue 12702
type_variable_bounds2_test/06: Pass # Issue 12702 (pass for the wrong reasons).
type_variable_bounds3_test/00: Fail # Issue 12702
closure_type_test: Fail # Issue 12745
malbounded_redirecting_factory_test/02: Fail # Issue 12825
malbounded_redirecting_factory_test/03: Fail # Issue 12825
malbounded_redirecting_factory2_test/02: Fail # Issue 12825
malbounded_redirecting_factory2_test/03: Fail # Issue 12825
malbounded_instantiation_test/01: Fail # Issue 12702
malbounded_type_cast_test: Fail # Issue 14121
malbounded_type_test_test/03: Fail # Issue 14121
malbounded_type_test_test/04: Fail # Issue 14121
default_factory2_test/01: Fail # Issue 14121
typevariable_substitution2_test/01: Crash # Issue 15875
typevariable_substitution2_test/02: Crash # Issue 15875

[ $compiler == dart2js && $unchecked ]
type_checks_in_factory_method_test: RuntimeError # Issue 12746
assertion_test: RuntimeError # Issue 12748
double_to_string_as_exponential2_test: RuntimeError # Issue 12749
double_to_string_as_fixed2_test: RuntimeError # Issue 12749
double_to_string_as_precision2_test: RuntimeError # Issue 12749
list_literal1_test/01: MissingCompileTimeError, OK # Checked mode test.
map_literal1_test/01: MissingCompileTimeError, OK # Checked mode test.
compile_time_constant_checked_test/02: MissingCompileTimeError, OK
compile_time_constant_checked2_test/01: MissingCompileTimeError, OK
compile_time_constant_checked2_test/02: MissingCompileTimeError, OK
compile_time_constant_checked2_test/03: MissingCompileTimeError, OK
compile_time_constant_checked2_test/04: MissingCompileTimeError, OK
compile_time_constant_checked2_test/05: MissingCompileTimeError, OK
compile_time_constant_checked2_test/06: MissingCompileTimeError, OK
compile_time_constant_checked3_test/01: MissingCompileTimeError, OK
compile_time_constant_checked3_test/02: MissingCompileTimeError, OK
compile_time_constant_checked3_test/03: MissingCompileTimeError, OK
compile_time_constant_checked3_test/04: MissingCompileTimeError, OK
compile_time_constant_checked3_test/05: MissingCompileTimeError, OK
compile_time_constant_checked3_test/06: MissingCompileTimeError, OK
type_check_const_function_typedef2_test/00: MissingCompileTimeError, OK
malformed2_test/01: MissingCompileTimeError, OK
generic_test: RuntimeError, OK
named_parameters_type_test/01: MissingRuntimeError, OK
named_parameters_type_test/02: MissingRuntimeError, OK
named_parameters_type_test/03: MissingRuntimeError, OK
positional_parameters_type_test/01: MissingRuntimeError, OK
positional_parameters_type_test/02: MissingRuntimeError, OK
issue13474_test: RuntimeError, OK

[ $compiler == dart2js && $minified ]
cyclic_type_test: Fail # Issue 12605
cyclic_type2_test: Fail # Issue 12605
f_bounded_quantification4_test: Fail # Issue 12605
f_bounded_quantification5_test: Fail # Issue 12605
mixin_generic_test: Fail # Issue 12605
mixin_mixin2_test: Fail # Issue 12605
mixin_mixin3_test: Fail # Issue 12605
mixin_mixin4_test: Fail # Issue 12605
mixin_mixin5_test: Fail # Issue 12605
mixin_mixin6_test: Fail # Issue 12605
mixin_mixin_bound_test: RuntimeError # Issue 12605
mixin_mixin_bound2_test: RuntimeError # Issue 12605

[ $compiler == dart2js ]
type_variable_conflict2_test/01: RuntimeError # Issue 16180
type_variable_conflict2_test/02: Crash # Issue 16180
type_variable_conflict2_test/06: Crash # Issue 16180
type_variable_conflict2_test/08: Crash # Issue 16180
type_variable_conflict2_test/10: Crash # Issue 16180
malformed_test/none: RuntimeError # Issue 12695
branch_canonicalization_test: RuntimeError # Issue 638.
identical_closure2_test: RuntimeError # Issue 1533, Issue 12596
integer_division_by_zero_test: RuntimeError # Issue 8301
built_in_identifier_prefix_test: CompileTimeError # Issue 6972
number_identity2_test: RuntimeError # Issue 12596
new_expression_type_args_test/00: CompileTimeError # Issue 5519
new_expression_type_args_test/01: CompileTimeError # Issue 5519
double_int_to_string_test: RuntimeError # Issue 1533
mint_arithmetic_test: RuntimeError # Issue 1533
left_shift_test: RuntimeError # Issue 1533
factory_redirection_test/01: CompileTimeError # Issue 12752
bad_override_test/01: CompileTimeError # Issue 11496
bad_override_test/02: CompileTimeError # Issue 11496
constructor_named_arguments_test/01: CompileTimeError # Issue 5519
not_enough_positional_arguments_test/01: CompileTimeError # Issue 12838
not_enough_positional_arguments_test/02: CompileTimeError # Issue 12838
not_enough_positional_arguments_test/05: CompileTimeError # Issue 12838
metadata_test: CompileTimeError # Issue 5841
infinity_test: RuntimeError # Issue 4984
mixin_mixin2_test: RuntimeError # Issue 13109.
mixin_mixin3_test: RuntimeError # Issue 13109.
mixin_mixin7_test: RuntimeError # Issue 13109.
mixin_regress_13688_test: RuntimeError # Issue 13109.
modulo_test: RuntimeError # Issue 15246
truncdiv_test: RuntimeError # Issue 15246
invocation_mirror2_test: RuntimeError # Issue 6490 (wrong retval).
generic_closure_test: RuntimeError # Issue 12605
call_closurization_test: RuntimeError # Issue 17474

# Compilation errors.
const_var_test: CompileTimeError # Issue 12793
map_literal3_test: CompileTimeError # Issue 12793
method_override5_test: RuntimeError # Issue 12809
external_test/13: CompileTimeError # Issue 12887
list_literal4_test: RuntimeError # Issue 12890
map_literal4_test: RuntimeError # Issue 12891
built_in_identifier_test/01: CompileTimeError # Issue 13022

scope_variable_test/01: MissingCompileTimeError # Issue 13016

numbers_test: RuntimeError, OK # Issue 1533
canonical_const2_test: RuntimeError, OK # Issue 1533
bit_operations_test: RuntimeError, OK # Issue 1533
expect_test: RuntimeError, OK # Issue 13080

[ ($compiler == dart2js || $compiler == dart2dart) && $unchecked ]
type_check_const_function_typedef2_test/00: MissingCompileTimeError, OK

[ $compiler == dart2js && $runtime == none ]
*: Fail, Pass # TODO(ahe): Triage these tests.


[ $compiler == dart2js && ($runtime == ff || $runtime == jsshell || $runtime == ie9 || $runtime == safari)]
round_test: Fail, OK # Common JavaScript engine Math.round bug.

[ $compiler == dart2js && $runtime == chromeOnAndroid ]
override_field_test/02: Pass, Slow # TODO(kasperl): Please triage.

[ $compiler == dart2js && $runtime == ie9 ]
double_to_string_as_exponential3_test: Fail # Issue 12750
double_to_string_as_fixed_test: Fail # Issue 12750
double_to_string_as_precision3_test: Fail # Issue 12750
expect_test: Fail # Issue 13080
stack_overflow_test: Fail
stack_overflow_stacktrace_test: Fail


[ $runtime == opera ]
null_access_error_test: Fail # Issue: 7413
string_interpolate_null_test: Fail # Issue: 7413
call_through_null_getter_test: Fail
closure3_test: Fail
execute_finally3_test: Fail
method_invocation_test: Fail
stack_overflow_test: Fail
stack_overflow_stacktrace_test: Fail
closure_call_wrong_argument_count_negative_test: Skip
label_test: Skip


[ $compiler == dart2dart ]
type_variable_conflict2_test/02: MissingCompileTimeError # Issue 16180
type_variable_conflict2_test/06: MissingCompileTimeError # Issue 16180
type_variable_conflict2_test/08: MissingCompileTimeError # Issue 16180
type_variable_conflict2_test/10: MissingCompileTimeError # Issue 16180
regress_13494_test: Fail # Issue 13494
mixin_super_constructor_named_test: Fail # Issue 12631
mixin_super_constructor_positionals_test: Fail # Issue 12631

built_in_identifier_prefix_test: Fail # Issue 6972
constructor_initializer_test/none: Fail # Issue 12633
factory3_test: Fail # Issue 13077
redirecting_factory_long_test: Fail # Issue 13077
type_checks_in_factory_method_test: Fail # Issue 12747

# Mixins fail on the VM.
mixin_forwarding_constructor2_test: Fail # Issue 13641

mixin_with_two_implicit_constructors_test: Fail # Issue 11889

# Calling unresolved class constructor:
call_nonexistent_constructor_test/01: Fail # Issue 13082
call_nonexistent_constructor_test/02: Fail # Issue 13082

bad_override_test/01: Fail # Issue 11496
bad_override_test/02: Fail # Issue 11496

constructor_named_arguments_test/01: Fail # Issue 5519
not_enough_positional_arguments_test/01: Fail # Issue 12839
not_enough_positional_arguments_test/02: Fail # Issue 12839
not_enough_positional_arguments_test/05: Fail # Issue 12839

metadata_test: Fail # Issue 12762
const_var_test: CompileTimeError # Issue 12794
map_literal3_test: Fail # Issue 12794
external_test/13: Fail # Issue 12888
built_in_identifier_test/01: Fail # Issue 13022
list_literal1_test/01: Fail # Issue 12993
map_literal1_test/01: Fail # Issue 12993
method_override4_test: Fail # Issue 12810
method_override5_test: Fail # Issue 12810
scope_variable_test/01: Fail # Issue 13016
factory_redirection_test/01: Fail # Issue 12753
factory_redirection_test/02: Crash # Issue 12753
factory_redirection_test/03: Crash # Issue 12753
factory_redirection_test/09: Fail # Issue 12753

malbounded_type_literal_test: Fail # Issue 13960

# DartVM problem.
constructor5_test: Fail
constructor6_test: Fail
closure_in_initializer_test: Fail

# Minified mode failures.

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

# 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
malformed2_test/01: Fail, OK

[ $compiler == dart2dart && $checked ]
# Dart VM problems
malbounded_type_cast_test: Fail # Issue 14123
malbounded_type_test_test/01: Fail # Issue 14131
malbounded_instantiation_test/01: Fail # Issue 14132

[ $compiler == dart2dart && $minified ]
cyclic_type_test: Fail # Issue 12605.
cyclic_type2_test: Fail # Issue 12605.
super_getter_setter_test: Fail # Issue 11065.
f_bounded_quantification4_test: Fail # Issue 12605.
f_bounded_quantification5_test: Fail # Issue 12605.
type_variable_typedef_test: Fail # Issue 11467
type_variable_conflict2_test/01: RuntimeError # Issue 16180

invocation_mirror_test: Fail, OK # Issue 12706 (hardcoded names).
super_call4_test: Fail, OK # hardcoded names.

[ $minified ]
stack_trace_test: Fail, OK # Stack trace not preserved in minified code.

[ $runtime == ie9 ]
stack_trace_test: Fail, OK # Stack traces not available in IE9.
deferred_constraints_type_annotation_test/*: Fail, Pass # http://dartbug.com/12635
deferred_constraints_constants_test/*: Fail, Pass # http://dartbug.com/12635
deferred_no_such_method_test*: Fail, Pass # http://dartbug.com/12635
deferred_constraints_type_annotation_old_syntax_test/*: Fail, Pass # http://dartbug.com/12635
deferred_constraints_constants_old_syntax_test/*: Fail, Pass # http://dartbug.com/12635
deferred_shadow_load_library_test: Fail, Pass # Issue 17807
deferred_closurize_load_library_test: Fail, Pass # Issue 17807

[ ($compiler == dart2js && $csp)]
deferred_constraints_type_annotation_test/*: Skip # Issue 16898
deferred_constraints_constants_test/*: Skip # Issue 16898
deferred_no_such_method_test*: Skip # Issue 16898
deferred_constraints_type_annotation_old_syntax_test/*: Skip # Issue 16898
deferred_constraints_constants_old_syntax_test/*: Skip # Issue 16898

[ $compiler == dart2js && $runtime == d8 && $system == windows ]
*deferred*: Skip # Issue 17458
