# Copyright (c) 2014, 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.

# Don't run any test-like files that show up in packages directories. It
# shouldn't be necessary to run "pub install" in these packages, but if you do
# it shouldn't break the tests.
*/packages/*/*: Skip
*/*/packages/*/*: Skip
*/*/*/packages/*/*: Skip
*/*/*/*/packages/*/*: Skip
*/*/*/*/*/packages/*/*: Skip

build/*: Skip  # nothing requires pub-build

[ $runtime == vm && $mode == debug]
test/tokenizer_test: Skip  # Times out

[ $runtime == vm && ( $arch == simarm || $arch == simmips ) ]
test/tokenizer_test: Pass, Slow

[ $browser ]
test/parser_test: Skip
test/tokenizer_test: Skip
test/selectors/*: Skip

[ $runtime == vm ]
test/browser/browser_test: Skip
