# 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 && $host_checked == false ]
dummy_compiler_test: Slow, Pass

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

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

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


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

[ ($noopt || $compiler == precompiler || $compiler == dart2app) ]
source_mirrors_test: SkipByDesign # Imports dart:mirrors
