# 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

# tests that don't need to be ran after pub-build
build/test/transformer_test: Skip
build/test/initializer_cycle_error_test.initialize_test: Skip # Build time warning
build/test/initializer_from_test.initialize_test: SkipByDesign

# tests that need to run, but we use the bootstrap output instead
# (build/test/foo.initialize.dart) which is renamed by the .test_config scripts.
build/test/deferred_library_test: Skip
build/test/initializer_custom_filter_test: Skip
build/test/initializer_cycle_error_test: Skip
build/test/initializer_from_test: Skip
build/test/initializer_parts_test: Skip
build/test/initializer_super_test: Skip
build/test/initializer_test: Skip
build/test/initializer_type_filter_test: Skip
build/test/init_method_test: Skip

# failing tests
[ $compiler == none ]
test/deferred_library_test: RuntimeError # Issue 22592
build/test/deferred_library_test.initialize_test: RuntimeError # Issue 22592

[ $browser ]
# All tests are for the standalone vm only
build/test/*: Skip
test/*: Skip
