# 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

# TODO(sigmund): remove once annotated_steps.py can be configured to skip
# pub-build
build/*: Skip  # testing of the build folder is not necessary

[ $compiler == dart2js && $runtime != none ]
test/codec_test: Skip  # expected: number semantics in .js are different

[ $compiler == dart2js ]
test/reserved_names_test: Skip
