# 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

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

[ $compiler == dart2js && $checked ]
checked_setter2_test: Fail # Issue 11273
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
function_subtype_setter0_test: Fail # Issue 11273
redirecting_factory_malbounded_test/01: 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

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

[ $compiler == dart2js ]
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
bad_override_test/06: CompileTimeError # Issue 11496
class_override_test/00: CompileTimeError # Issue 11496
field_override3_test/00: MissingCompileTimeError # Issue 11496
field_override3_test/01: MissingCompileTimeError # Issue 11496
field_override3_test/02: MissingCompileTimeError # Issue 11496
field_override3_test/03: MissingCompileTimeError # Issue 11496
getter_override_test/00: MissingCompileTimeError # Issue 11496
getter_override_test/01: MissingCompileTimeError # Issue 11496
getter_override_test/02: MissingCompileTimeError # Issue 11496
method_override7_test/00: MissingCompileTimeError # Issue 11496
method_override7_test/01: MissingCompileTimeError # Issue 11496
method_override7_test/02: MissingCompileTimeError # Issue 11496
method_override8_test/03: CompileTimeError # Issue 11496
setter_override_test/00: MissingCompileTimeError # Issue 11496
setter_override_test/03: MissingCompileTimeError # Issue 11496
setter_override2_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
metadata_syntax_test/05: MissingCompileTimeError # Issue 14548
infinity_test: RuntimeError # Issue 4984
positive_bit_operations_test: RuntimeError # Issue 12795
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.

# 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

null_test/none: RuntimeError  # Issue 12482


[ $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 ]
regress_13494_test: Fail # Issue 13494
malformed_test/none: CompileTimeError # Issue 12695
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
type_checks_in_factory_method_test: Fail # Issue 12747

instanceof3_test: Fail # Issue 14768
is_not_class2_test: Fail # Issue 14768
isnot_malformed_type_test: Fail # Issue 14768
library_ambiguous_test/04: Fail # Issue 14768
malformed2_test/00: Fail # Issue 14768
on_catch_malformed_type_test: Fail # Issue 14768

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

mixin_with_two_implicit_constructors_test: Fail # Issue 11889

# Malformed types not handled as unresolved:
import_core_prefix_test: Fail # Issue 13081
prefix16_test: Fail # Issue 13081
prefix22_test: Fail # Issue 13081

# Calling unresolved class constructor:
call_nonexistent_constructor_test: Fail # Issue 13082

bad_override_test/01: Fail # Issue 11496
bad_override_test/02: Fail # Issue 11496
bad_override_test/06: Fail # Issue 11496
class_override_test/00: Fail # Issue 11496
field_override3_test/00: Fail # Issue 11496
field_override3_test/01: Fail # Issue 11496
field_override3_test/02: Fail # Issue 11496
field_override3_test/03: Fail # Issue 11496
getter_override_test/00: Fail # Issue 11496
getter_override_test/01: Fail # Issue 11496
getter_override_test/02: Fail # Issue 11496
method_override7_test/00: Fail # Issue 11496
method_override7_test/01: Fail # Issue 11496
method_override7_test/02: Fail # Issue 11496
method_override8_test/03: Fail # Issue 11496
setter_override_test/00: Fail # Issue 11496
setter_override_test/03: Fail # Issue 11496
setter_override2_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
metadata_syntax_test/05: MissingCompileTimeError # Issue 14548
const_var_test: Pass, Fail # 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
f_bounded_equality_test: RuntimeError # Issue 14000

# 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

type_parameter_test/01: Fail # Issue 14768
type_parameter_test/02: Fail # Issue 14768
type_parameter_test/03: Fail # Issue 14768
type_parameter_test/04: Fail # Issue 14768
type_parameter_test/05: Fail # Issue 14768
type_parameter_test/06: Fail # Issue 14768

[ $compiler == dart2dart && $minified ]
super_getter_setter_test: Fail # Issue 11065.
f_bounded_quantification4_test: Fail # Issue 12605.
f_bounded_quantification5_test: Fail # Issue 12605.
many_overridden_no_such_method_test: Pass, Fail # Issue 13078
overridden_no_such_method_test: Pass, Fail # Issue 13078
no_such_method_test: Pass, Fail # Issue 13078

import_core_prefix_test: Pass
prefix22_test: Pass
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.
