# 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 ]
bound_closure_super_test: Fail
call_on_native_class_test: CompileTimeError # Issue 14813
native_no_such_method_exception4_frog_test: CompileTimeError # Issue 9631
native_no_such_method_exception5_frog_test: CompileTimeError # Issue 9631

[ $compiler == dart2js ]
fake_thing_test: Fail # Issue 13010

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

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

[ $compiler == dart2js && $cps_ir ]
compute_this_script_test: RuntimeError # receiver.get$_nums is not a function
event_loop_test: RuntimeError # receiver.get$_nums is not a function
internal_library_test: RuntimeError # receiver.get$_nums is not a function
mirror_intercepted_field_test: Crash # (=_EmptyStream<T>;): Unhandled node
native_closure_identity_frog_test: RuntimeError # invoke is not a function
native_exception_test: RuntimeError # J.getInterceptor(...).toString$0 is not a function
native_method_inlining_test: RuntimeError # Please triage this failure.
native_mirror_test: Crash # (=_EmptyStream<T>;): Unhandled node
native_no_such_method_exception3_frog_test: RuntimeError # Please triage this failure.
native_wrapping_function3_frog_test: RuntimeError # invoke is not a function
native_wrapping_function_frog_test: RuntimeError # invoke is not a function
optimization_hints_test: RuntimeError # Please triage this failure.
static_methods_test: RuntimeError # invoke is not a function
subclassing_constructor_1_test: RuntimeError # Please triage this failure.
subclassing_constructor_2_test: RuntimeError # Please triage this failure.
subclassing_super_call_test: RuntimeError # this.get$afield is not a function
subclassing_super_field_1_test: RuntimeError # Please triage this failure.
subclassing_super_field_2_test: RuntimeError # Please triage this failure.
super_call_test: RuntimeError # this.bar$0 is not a function
