# 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 ]
16407_test: Fail # Issue 16407
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.

[ $host_checked && $compiler == dart2js && $cps_ir ]
21724_test: Crash # Please triage this failure.

[ $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 ]
16407_test: Pass # Please triage this failure.
23432_test: RuntimeError # Issue 23432
async_stacktrace_test/asyncStar: Crash # (foo()async*{try {tr...  cannot handle sync*/async* functions
closure_capture5_test: Crash # (i=0): For-loop variable captured in loop header
deferred/deferred_class_test: RuntimeError # Z.loadLibrary is not a function
deferred/deferred_constant2_test: RuntimeError # U.loadLibrary is not a function
deferred/deferred_constant3_test: RuntimeError # Y.loadLibrary is not a function
deferred/deferred_constant4_test: RuntimeError # B.loadLibrary is not a function
deferred/deferred_function_test: Crash # (lib.foo('a')): deferred access is not implemented
deferred/deferred_mirrors1_test: RuntimeError # U.loadLibrary is not a function
deferred/deferred_overlapping_test: RuntimeError # E.loadLibrary is not a function
deferred_split_test: RuntimeError # Z.loadLibrary is not a function
switch_test/none: Crash # (switch (val){foo:ba...  continue to a labeled switch case
