# 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.

# Skip non-test files ending with "_test".
packages/*: SkipByDesign
*/packages/*: SkipByDesign
*/*/packages/*: SkipByDesign
*/*/*/packages/*: SkipByDesign
*/*/*/*packages/*: SkipByDesign
*/*/*/*/*packages/*: SkipByDesign

# Only run tests from the test directory, since we don't care about the
# difference between transformed an untransformed code.
build/test/*: SkipByDesign
build/test/*/*: SkipByDesign
build/test/*/*/*: SkipByDesign
build/test/*/*/*/*: SkipByDesign

# Don't run library files as tests
lib/*: SkipByDesign
lib/*/*: SkipByDesign
lib/*/*/*: SkipByDesign
lib/*/*/*/*: SkipByDesign

test/dart2js/compiles_generated_file_from_dependency_test: Pass, Slow
test/serve/web_socket/url_to_asset_id_test: Pass, Slow
test/transformer/loads_a_diamond_transformer_dependency_graph_test: Pass, Slow

# Pub only runs on the VM, so just rule out all compilers.
[ $compiler == dart2js ]
*: Skip

# Pub only runs on the standalone VM, not the browser.
[ $runtime == drt || $runtime == dartium || $runtime == opera ]
*: Skip

[ $runtime == vm && $system == windows ]
test/run/app_can_read_from_stdin_test: Fail # Issue 19448
test/run/forwards_signal_posix_test: SkipByDesign
