# 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 ]
Language/Expressions/Spawning_an_Isolate/new_isolate_t01: SkipByDesign
LibTest/io/*: SkipByDesign # dart:io not supported.
LibTest/isolate/*: SkipByDesign # dart:isolate not supported.

[ $builder_tag != run_webgl_tests && $compiler == dart2js ]
LayoutTests/fast/canvas/webgl*: Skip # Only run WebGL on special builders, issue 29961

[ $compiler == dart2js && $runtime == d8 ]
LayoutTests/*: SkipByDesign # d8 is not a browser
LibTest/html/*: SkipByDesign # d8 is not a browser
WebPlatformTest/*: SkipByDesign # d8 is not a browser
