# Copyright (c) 2011, 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.

[ $browser ]
*: Skip

[ $compiler == dart2js && $runtime == d8 && $system == windows && !$dart2js_with_kernel ]
compute_this_script_test: Skip # Issue 17458

[ $compiler == dart2js && $checked && $dart2js_with_kernel ]
bound_closure_super_test: RuntimeError
fake_thing_test: RuntimeError
mirror_intercepted_field_test: RuntimeError
native_library_same_name_used_frog_test: CompileTimeError
native_mirror_test: RuntimeError
native_no_such_method_exception4_frog_test: RuntimeError
native_no_such_method_exception5_frog_test: RuntimeError
subclassing_constructor_1_test: RuntimeError
subclassing_super_call_test: RuntimeError
subclassing_super_field_1_test: RuntimeError
subclassing_super_field_2_test: RuntimeError

[ $compiler == dart2js && $dart2js_with_kernel && $fast_startup ]
bound_closure_super_test: RuntimeError
fake_thing_test: RuntimeError
mirror_intercepted_field_test: RuntimeError
native_library_same_name_used_frog_test: CompileTimeError
native_mirror_test: RuntimeError
native_no_such_method_exception3_frog_test: RuntimeError
native_no_such_method_exception4_frog_test: RuntimeError
native_no_such_method_exception5_frog_test: RuntimeError
optimization_hints_test: RuntimeError
subclassing_constructor_1_test: RuntimeError
subclassing_super_call_test: RuntimeError
subclassing_super_field_1_test: RuntimeError
subclassing_super_field_2_test: RuntimeError

[ $compiler == dart2js && $dart2js_with_kernel && $host_checked ]
bound_closure_super_test: RuntimeError
compute_this_script_test: Crash # 'file:*/pkg/compiler/lib/src/ssa/types.dart': Failed assertion: line 63 pos 12: '!result.isEmpty': is not true.
fake_thing_test: RuntimeError
mirror_intercepted_field_test: RuntimeError
native_library_same_name_used_frog_test: CompileTimeError
native_mirror_test: RuntimeError
native_no_such_method_exception4_frog_test: RuntimeError
native_no_such_method_exception5_frog_test: RuntimeError
subclassing_constructor_1_test: RuntimeError
subclassing_super_call_test: RuntimeError
subclassing_super_field_1_test: RuntimeError
subclassing_super_field_2_test: RuntimeError

[ $compiler == dart2js && $dart2js_with_kernel && $minified ]
bound_closure_super_test: RuntimeError
fake_thing_test: RuntimeError
mirror_intercepted_field_test: RuntimeError
native_library_same_name_used_frog_test: CompileTimeError
native_mirror_test: RuntimeError
native_no_such_method_exception4_frog_test: RuntimeError
native_no_such_method_exception5_frog_test: RuntimeError
optimization_hints_test: RuntimeError
subclassing_constructor_1_test: RuntimeError
subclassing_super_call_test: RuntimeError
subclassing_super_field_1_test: RuntimeError
subclassing_super_field_2_test: RuntimeError

[ $compiler == dart2js && !$dart2js_with_kernel ]
bound_closure_super_test: Fail
fake_thing_test: Fail # Issue 13010
native_no_such_method_exception4_frog_test: CompileTimeError # Issue 9631
native_no_such_method_exception5_frog_test: CompileTimeError # Issue 9631

[ $compiler == dart2js && !$dart2js_with_kernel && $fast_startup ]
mirror_intercepted_field_test: Fail # mirrors not supported
native_mirror_test: Fail # mirrors not supported
native_no_such_method_exception3_frog_test: Fail # mirrors not supported
native_no_such_method_exception4_frog_test: Fail # mirrors not supported
native_no_such_method_exception5_frog_test: Fail # mirrors not supported

[ $compiler == dart2js && !$dart2js_with_kernel && $minified ]
optimization_hints_test: Fail, OK # Test relies on unminified names.

