# 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 && $host_checked ]
dummy_compiler_test: Crash # Issue 22809

[ $compiler == dart2js ]
dummy_compiler_test: Slow, Pass
recursive_import_test: Slow, Pass
source_mirrors_test: Slow, Pass

[ $compiler == none && $runtime == drt ]
dummy_compiler_test: Skip # Issue 7233

[ $compiler == dart2js && $browser ]
*: Skip

[ $compiler == none && $runtime != vm ]
dart2js_test: SkipByDesign # Uses dart:io.


[ $compiler == dart2js && $mode == debug ]
dummy_compiler_test: Slow, Pass

[ $compiler == none && $runtime == ContentShellOnAndroid ]
dummy_compiler_test: Pass, RuntimeError # Issue 17662
recursive_import_test: Pass, RuntimeError # Issue 17662
source_mirrors_test: Pass, RuntimeError # Issue 17662

[ $compiler == dart2js && $cps_ir ]
dummy_compiler_test: Crash # (switch (function.na...  continue to a labeled switch case
recursive_import_test: Crash # (switch (function.na...  continue to a labeled switch case
source_mirrors_test: Crash, Slow # (switch (function.na...  continue to a labeled switch case
