# 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 ]
class_test: Fail
statements_test: Fail
typed_locals_test: Fail
no_such_method_test: Fail # Wrong Invocation.memberName.
constant_javascript_semantics4_test: Fail, OK
mirrors_used_closure_test: Fail # Issue 17939

[ $compiler == dart2js && $runtime == jsshell ]
mirror_printer_test: Pass, Slow # Issue 16473

[ $compiler == dart2js && $checked ]
variable_type_test/03: Fail, OK
variable_type_test/01: Fail, OK

[ $compiler == dart2js && ($runtime == d8 || $runtime == chrome || $runtime == drt) ]
bound_closure_interceptor_type_test: Fail, Pass # v8 issue 3084. https://code.google.com/p/v8/issues/detail?id=3084

[ $compiler == dart2js && $mode == debug ]
operator_test: Skip
string_interpolation_test: Skip

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

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

[ $compiler == dart2js && $minified ]
to_string_test: Fail # Issue 7179.
runtime_type_test: Fail, OK # Tests extected output of Type.toString().
code_motion_exception_test: Skip  # Requires unminified operator names.
mirrors_used_warning_test/minif: Fail, OK # Tests warning that minified code will be broken.

[ $compiler == dart2js && $runtime == safari ]
deferred_fail_and_retry_worker_test: Timeout  # Issue 22106

[ $compiler == dart2js && ($runtime == drt || $runtime == ff || $runtime == safari || $runtime == jsshell) ]
code_motion_exception_test: Skip  # Required V8 specific format of JavaScript errors.

[ $compiler == dart2js && ($runtime == drt || $runtime == ff || $runtime == safari || $runtime == safarimobilesim || $runtime == chrome || $runtime == chromeOnAndroid) ]
isolate2_test/01: Fail # Issue 14458.

[ $runtime == jsshell ]
timer_test: Fail # Issue 7728.

[ $runtime == none ]
timer_negative_test: Fail, OK # A negative runtime test.
bailout8_test: Fail, OK # Mismatch in thrown exception.

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

[ $compiler == dart2js && $csp ]
deferred_fail_and_retry_test: SkipByDesign # Uses eval to simulate failed loading.
deferred_fail_and_retry_worker_test: SkipByDesign # Uses eval to simulate failed loading.
deferred_custom_loader_test: SkipByDesign # Issue 25683

[ $compiler == none && $runtime == vm ]
invalid_annotation_test/01: MissingCompileTimeError, OK # vm is lazy
lookup_map/dead_entry_through_mirrors_test: SkipByDesign # Test for tree-shaking, vm never tree-shakes

[ $compiler == dart2js && $cps_ir == false ]
big_allocation_expression_test: Crash # Issue 24635

[ $compiler == dart2js && $cps_ir ]
async_stacktrace_test/asyncStar: Crash # (foo()async*{try {tr...  cannot handle sync*/async* functions
