# 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 ]
getter_setter_in_lib_test: Fail # Issue 23288
method_name_test: Fail # issue 25574
setter4_test: CompileTimeError # issue 13639

async_star_cancel_while_paused_test: RuntimeError # Issue 22853
tearoff_basic_test: Skip # Tear-off not supported
tearoff_constructor_basic_test: Skip # Tear-off not supported

try_catch_on_syntax_test/10: Fail # Issue 19823
try_catch_on_syntax_test/11: Fail # Issue 19823

deep_nesting1_negative_test: Crash # Issue 25557
deep_nesting2_negative_test: Crash # Issue 25557

call_function_apply_test: RuntimeError # Issue 23873
mixin_supertype_subclass_test: CompileTimeError # Issue 23773
mixin_supertype_subclass2_test: CompileTimeError # Issue 23773
mixin_supertype_subclass3_test: CompileTimeError # Issue 23773
mixin_supertype_subclass4_test: CompileTimeError # Issue 23773
mixin_of_mixin_test: CompileTimeError # Issue 23773

# The following tests are supposed to fail.
# In testing-mode, dart2js supports all dart:X libraries (because it
# uses '--categories=all').
library_env_test/has_no_html_support: RuntimeError, OK
library_env_test/has_no_io_support: RuntimeError, OK
library_env_test/has_no_mirror_support: RuntimeError, OK

accessor_conflict_import2_test: RuntimeError # Issue 25626
accessor_conflict_import_prefixed2_test: RuntimeError # Issue 25626
accessor_conflict_import_prefixed_test: RuntimeError # Issue 25626
accessor_conflict_import_test: RuntimeError # Issue 25626

[ $compiler == dart2js && $fast_startup ]
const_evaluation_test/*: Fail # mirrors not supported
deferred_constraints_constants_test/none: Fail # mirrors not supported
deferred_constraints_constants_test/reference_after_load: Fail # mirrors not supported
deferred_constraints_constants_test: Pass # mirrors not supported, passes for the wrong reason
enum_mirror_test: Fail # mirrors not supported
field_increment_bailout_test: Fail # mirrors not supported
instance_creation_in_function_annotation_test: Fail # mirrors not supported
invocation_mirror2_test: Fail # mirrors not supported
invocation_mirror_invoke_on2_test: Fail # mirrors not supported
invocation_mirror_invoke_on_test: Fail # mirrors not supported
issue21079_test: Fail # mirrors not supported
library_env_test/has_mirror_support: Fail # mirrors not supported
library_env_test/has_no_mirror_support: Pass # fails for the wrong reason.
many_overridden_no_such_method_test: Fail # mirrors not supported
no_such_method_test: Fail # mirrors not supported
null_test/0*: Pass # mirrors not supported, fails for the wrong reason
null_test/none: Fail # mirrors not supported
overridden_no_such_method_test: Fail # mirrors not supported
redirecting_factory_reflection_test: Fail # mirrors not supported
regress_13462_0_test: Fail # mirrors not supported
regress_13462_1_test: Fail # mirrors not supported
regress_18535_test: Fail # mirrors not supported
super_call4_test: Fail # mirrors not supported
super_getter_setter_test: Fail # mirrors not supported
vm/reflect_core_vm_test: Fail # mirrors not supported

[ $compiler == dart2js && $fast_startup && $checked ]
generic_local_functions_test: Fail # reified type for generic function not generated correctly
generic_methods_generic_function_parameter_test: Fail # reified type for generic function not generated correctly

[ $compiler == dart2js && $runtime == jsshell ]
await_for_test: Skip # Jsshell does not provide periodic timers, Issue 7728
async_star_test: RuntimeError # Jsshell does not provide non-zero timers, Issue 7728
regress_23996_test: RuntimeError # Jsshell does not provide non-zero timers, Issue 7728
async_star_no_cancel_test: RuntimeError # Need triage
async_star_no_cancel2_test: RuntimeError # Need triage

[ $compiler == dart2js && $browser ]
config_import_test: Fail # Test flag is not passed to the compiler.

# Experimental feature: Syntactic support for generic methods.
generic_functions_test: CompileTimeError # DartOptions not passed to compiler.
generic_local_functions_test: CompileTimeError # DartOptions not passed to compiler.
generic_methods_test: CompileTimeError # DartOptions not passed to compiler.
generic_sends_test: CompileTimeError # DartOptions not passed to compiler.
generic_methods_new_test: CompiletimeError # DartOptions not passed to compiler.
generic_methods_function_type_test: CompiletimeError # DartOptions not passed to compiler.
generic_methods_type_expression_test: CompiletimeError # DartOptions not passed to compiler.
generic_methods_generic_function_parameter_test: CompiletimeError # DartOptions not passed to compiler.

# Experimental feature: Use initializing formals in initializers and constructor body.
initializing_formal_access_test: CompiletimeError # DartOptions not passed to compiler.
initializing_formal_capture_test: CompiletimeError # DartOptions not passed to compiler.
initializing_formal_final_test: CompiletimeError # DartOptions not passed to compiler.
initializing_formal_type_test: CompiletimeError # DartOptions not passed to compiler.

library_env_test/has_no_io_support: Pass # Issue 27398
library_env_test/has_io_support: RuntimeError # Issue 27398

[ $compiler == dart2js ]
invocation_mirror_empty_arguments_test: Fail # Issue 24331
nan_identical_test: Fail # Issue 11551
symbol_literal_test/*: Fail # Issue 21825
constructor_duplicate_final_test/01: Fail # Issue 13363
constructor_duplicate_final_test/02: Fail # Issue 13363
override_inheritance_mixed_test/08: Fail # Issue 18124
override_inheritance_mixed_test/09: Fail # Issue 18124
bad_constructor_test/05: CompileTimeError # Issue 13669
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
stacktrace_rethrow_nonerror_test: Pass, RuntimeError # Issue 12698
stacktrace_rethrow_error_test: Pass, RuntimeError # Issue 12698
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
mixin_forwarding_constructor4_test/01: MissingCompileTimeError # Issue 15101
mixin_forwarding_constructor4_test/02: MissingCompileTimeError # Issue 15101
mixin_forwarding_constructor4_test/03: MissingCompileTimeError # Issue 15101
mixin_super_constructor_named_test/01: Fail # Issue 15101
mixin_super_constructor_positionals_test/01: Fail # Issue 15101
mixin_super_test: CompileTimeError # Issue 23773
mixin_super_2_test: CompileTimeError # Issue 23773
mixin_super_bound2_test: CompileTimeError # Issue 23773
mixin_super_use_test: CompileTimeError # Issue 23773
mixin_superclass_test: CompileTimeError # Issue 23773

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

regress_22976_test: CompileTimeError # Issue 23132

if_null_assignment_behavior_test/13: Crash # Issue 23491
if_null_assignment_behavior_test/14: Crash # Issue 23491

const_error_multiply_initialized_test/02: CompileTimeError # Issue 23618
const_error_multiply_initialized_test/04: CompileTimeError # Issue 23618

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

multiline_newline_test/01: CompileTimeError # Issue 23888
multiline_newline_test/02: CompileTimeError # Issue 23888
multiline_newline_test/03: CompileTimeError # Issue 23888
multiline_newline_test/04: MissingCompileTimeError # Issue 23888
multiline_newline_test/05: MissingCompileTimeError # Issue 23888
multiline_newline_test/06: MissingCompileTimeError # Issue 23888
multiline_newline_test/none: RuntimeError # Issue 23888

[ $compiler == dart2js && $checked ]
async_return_types_test/nestedFuture: Fail # Issue 26429
async_return_types_test/wrongTypeParameter: Fail # Issue 26429
regress_26133_test: RuntimeError # Issue 26429
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_cast2_test: Fail # Issue 14121
malbounded_type_test_test/03: Fail # Issue 14121
malbounded_type_test_test/04: Fail # Issue 14121
malbounded_type_test2_test: Fail # Issue 14121
default_factory2_test/01: Fail # Issue 14121

[ $compiler == dart2js && $unchecked ]
type_checks_in_factory_method_test: RuntimeError # Issue 12746
assertion_test: RuntimeError # Issue 12748
generic_test: RuntimeError, OK
map_literal4_test: RuntimeError, OK # Checked mode required.
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 && $unchecked && $minified ]
f_bounded_quantification5_test: Fail, OK # Issue 12605

[ $compiler == dart2js && $minified ]
cyclic_type_test/0*: Fail # Issue 12605
cyclic_type2_test: Fail # Issue 12605
f_bounded_quantification4_test: Fail, OK # 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
symbol_conflict_test: RuntimeError # Issue 23857

[ $compiler == dart2js ]
malformed_test/none: Fail # Expect failure in lib/_internal/js_runtime/lib/preambles/d8.js

type_variable_conflict2_test/01: RuntimeError # Issue 19725

branch_canonicalization_test: RuntimeError # Issue 638.
identical_closure2_test: RuntimeError # Issue 1533, Issue 12596
integer_division_by_zero_test: RuntimeError # Issue 8301
number_identity2_test: RuntimeError # Issue 12596
double_int_to_string_test: RuntimeError # Issue 1533
mint_arithmetic_test: RuntimeError # Issue 1533
left_shift_test: RuntimeError # Issue 1533
regress_24283_test: RuntimeError # Issue 1533
constructor_named_arguments_test/01: CompileTimeError # Issue 25225
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.
modulo_test: RuntimeError # Issue 15246
truncdiv_test: RuntimeError # Issue 15246
invocation_mirror2_test: RuntimeError # Issue 6490 (wrong retval).
generic_closure_test: RuntimeError # Issue 12605
const_switch_test/02: RuntimeError # Issue 17960
const_switch_test/04: RuntimeError # Issue 17960

const_dynamic_type_literal_test/02: CompileTimeError # Issue 23009
const_dynamic_type_literal_test/03: CompileTimeError # Issue 23009

# Compilation errors.
external_test/10: CompileTimeError # Issue 12887
external_test/13: CompileTimeError # Issue 12887
external_test/20: CompileTimeError # Issue 12887
list_literal4_test: RuntimeError # Issue 12890
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 && $runtime == none ]
*: Fail, Pass # TODO(ahe): Triage these tests.

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

[ $compiler == dart2js && $runtime == ff ]
round_test: Pass, Fail, OK # Fixed in ff 35. Common JavaScript engine Math.round bug.

[ $compiler == dart2js && $runtime == chrome && $system == macos ]
await_future_test: Pass, Timeout # Issue 26735

[ $compiler == dart2js && ($runtime == safari || $runtime == safarimobilesim)]
# Safari codegen bug, fixed on some versions of Safari 7.1 (Version 7.1 (9537.85.10.17.1))
call_through_getter_test: Fail, OK

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

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

[ $compiler == dart2js && $cps_ir == false ]
accessor_conflict_export2_test: Crash # Issue 25626
accessor_conflict_export_test: Crash # Issue 25626
generic_field_mixin4_test: Crash # Issue 18651
generic_field_mixin5_test: Crash # Issue 18651
many_method_calls_test: Crash # Stack overflow in HGraphVisitor.visitPostDominatorTree.visitBasicBlockAndSuccessors
method_override5_test: RuntimeError # Issue 12809
super_no_such_method4_test/01: RuntimeError # Issue 25716
super_no_such_method5_test/01: RuntimeError # Issue 25716

[ $compiler == dart2js && $runtime != drt && $runtime != dartium ]
issue23244_test: RuntimeError # 23244

[ $compiler == dart2js && $cps_ir ]
accessor_conflict_export_test: CompileTimeError # Issue 25747
accessor_conflict_export2_test: CompileTimeError # Issue 25747
async_await_syntax_test/a03a: Crash # (a03a()async*{}): cannot handle sync*/async* functions
async_await_syntax_test/a03b: Crash # (a03b()async*{}): cannot handle sync*/async* functions
async_await_syntax_test/a09a: Crash # (a09a()async*{yield 0;}): cannot handle sync*/async* functions
async_await_syntax_test/a10a: Crash # (a10a()async*{yield* [] ;}): cannot handle sync*/async* functions
async_await_syntax_test/a11d: Crash # (get async async*{}): cannot handle sync*/async* functions
async_await_syntax_test/b03a: Crash # (b03a()async*{}): cannot handle sync*/async* functions
async_await_syntax_test/b09a: Crash # (b09a()async*{yield 0;}): cannot handle sync*/async* functions
async_await_syntax_test/b10a: Crash # (b10a()async*{yield* [] ;}): cannot handle sync*/async* functions
async_await_syntax_test/b11d: Crash # (get async async*{}): cannot handle sync*/async* functions
async_await_syntax_test/c03a: Crash # (c03a()async*{}): cannot handle sync*/async* functions
async_await_syntax_test/c09a: Crash # (c09a()async*{yield 0;}): cannot handle sync*/async* functions
async_await_syntax_test/c10a: Crash # (c10a()async*{yield* [] ;}): cannot handle sync*/async* functions
async_await_syntax_test/d03a: Crash # (()async*{}): cannot handle sync*/async* functions
async_await_syntax_test/d09a: Crash # (()async*{yield 0;}): cannot handle sync*/async* functions
async_await_syntax_test/d10a: Crash # (()async*{yield* [] ;}): cannot handle sync*/async* functions
async_or_generator_return_type_stacktrace_test/02: Crash # (void badReturnTypeAsyncStar()async*{}): cannot handle sync*/async* functions
async_return_types_test/nestedFuture: Crash #  cannot handle sync*/async* functions
async_return_types_test/none: Crash # cannot handle sync*/async* functions
async_return_types_test/tooManyTypeParameters: Crash # cannot handle sync*/async* functions
async_return_types_test/wrongReturnType: Crash # cannot handle sync*/async* functions
async_return_types_test/wrongTypeParameter: Crash # cannot handle sync*/async* functions
async_star_cancel_and_throw_in_finally_test: Crash # (foo()async*{try {in...  cannot handle sync*/async* functions
async_star_cancel_while_paused_test: Crash # (f()async*{list.add(...  cannot handle sync*/async* functions
async_star_no_cancel_test: Crash # (foo()async*{try {in...  cannot handle sync*/async* functions
async_star_no_cancel2_test: Crash # (foo()async*{try {in...  cannot handle sync*/async* functions
async_star_regression_2238_test: Crash # (f()async*{label1:label2:yield 0;}): cannot handle sync*/async* functions
async_star_regression_23116_test: Crash # (Stream<int> foo(Com...  cannot handle sync*/async* functions
async_star_regression_fisk_test: Crash # (fisk()async*{res.ad...  cannot handle sync*/async* functions
async_star_stream_take_test: Crash # (Stream makeStream(i...  cannot handle sync*/async* functions
async_star_take_reyield_test: Crash # (fivePartialSums(Str...  cannot handle sync*/async* functions
async_star_test: Crash # (f()async*{}): cannot handle sync*/async* functions
asyncstar_concat_test: Crash # (concat(a,b)async*{yield* a;yield* b;}): cannot handle sync*/async* functions
asyncstar_throw_in_catch_test: Crash # (foo4(Tracer tracer)...  cannot handle sync*/async* functions
asyncstar_yield_test: Crash # (Stream<int> foo4()a...  cannot handle sync*/async* functions
asyncstar_yieldstar_test: Crash # (foo2(Stream subStream)async*{yield* subStream;}): cannot handle sync*/async* functions
call_closurization_test: RuntimeError # Bad type inference for ".call" tear-off.
field3a_negative_test: Fail # Bogus result from type inference in case of invalid program.
gc_test: Crash # Internal Error: Pending statics (see above).
if_null_assignment_static_test/29: Crash # Pending statics: JSArray
if_null_assignment_static_test/31: Crash # Pending statics: JSArray
if_null_assignment_static_test/32: Crash # Pending statics: JSArray
if_null_assignment_static_test/33: Crash # Pending statics: JSArray
if_null_assignment_static_test/35: Crash # Pending statics: JSArray
invocation_mirror_test: Crash # (super[37]=42): visitUnresolvedSuperIndexSet
many_calls_test: Crash # Internal Error: Pending statics (see above).
mixin_bound_test: RuntimeError # TypeError: Cannot read property 'toString$0' of undefined
super_call4_test: RuntimeError # Please triage this failure.
super_getter_setter_test: RuntimeError # Expect.equals(expected: <42>, actual: <null>) fails.
super_operator_index5_test: Crash # (super[0]=42): visitUnresolvedSuperIndexSet
super_operator_index7_test: Crash # (super[0]=42): visitUnresolvedSuperIndexSet
super_operator_index8_test: Crash # (super[f()]=g()): visitUnresolvedSuperIndexSet
super_operator_index_test/03: Crash # (super[4]=42): visitUnresolvedSuperIndexSet
super_operator_index_test/05: Crash # (super[4]=42): visitUnresolvedSuperIndexSet
switch8_test: Crash # Pending statics: JSArray

[ $compiler == dart2js && $cps_ir && $host_checked == false ]
regress_21795_test: Pass, RuntimeError # Due to inlining?

[ $compiler == dart2js && $cps_ir && $host_checked ]
accessor_conflict_export2_test: Crash # Duplicate export of 'x'
accessor_conflict_export_test: Crash # Duplicate export of 'x'
async_throw_in_catch_test/forceAwait: Crash # Issue 24485
async_throw_in_catch_test/none: Crash # Issue 24485
execute_finally9_test: Crash # Issue 24485
regress_21795_test: Crash # Issue 24485
regress_23537_test: Crash # Issue 24485
try_finally_regress_25333_test: Crash # Issue 24485

[ $compiler == dart2js && $cps_ir && $checked ]
*: Skip # `assert` not implemented

[ $compiler == dart2js && $host_checked ]
regress_26855_test/1: Crash # Issue 26867
regress_26855_test/2: Crash # Issue 26867
regress_26855_test/3: Crash # Issue 26867
regress_26855_test/4: Crash # Issue 26867
