# 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.
# 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
analysis_server/tool/spec/check_all_test: Skip # Issue 29133
analyzer/test/generated/compile_time_error_code_driver_test: Slow, Pass
analyzer/test/generated/compile_time_error_code_kernel_test: Slow, Pass
analyzer/test/generated/compile_time_error_code_test: Slow, Pass
analyzer/test/generated/hint_code_kernel_test: Slow, Pass
analyzer/test/generated/non_error_resolver_driver_test: Slow, Pass
analyzer/test/generated/non_error_resolver_kernel_test: Slow, Pass
analyzer/test/generated/static_type_warning_code_kernel_test: Slow, Pass
analyzer/test/generated/static_warning_code_driver_test: Slow, Pass
analyzer/test/generated/static_warning_code_kernel_test: Slow, Pass
analyzer/test/generated/strong_mode_kernel_test: Slow, Pass
analyzer/test/src/dart/analysis/driver_kernel_test: Slow, Pass
analyzer/test/src/summary/resynthesize_kernel_test: Slow, Pass
analyzer/test/src/task/strong/checker_test: Slow, Pass
analyzer2dart/test/*: Skip # Analyzer2dart is not maintained anymore.
analyzer_plugin/test/plugin/folding_mixin_test: Slow, Pass
analyzer_plugin/tool/spec/check_all_test: Skip # Issue 29133
dart_messages/test/dart_messages_test: Skip # Requires a package root.
dev_compiler/gen/*: SkipByDesign # Skip dev_compiler codegen tests
dev_compiler/test/codegen/*: Skip # Skip dev_compiler codegen tests
dev_compiler/test/codegen_test: Skip # Skip dev_compiler codegen tests
dev_compiler/test/options/*: Skip # Skip dev_compiler codegen tests
dev_compiler/test/sourcemap/*: SkipByDesign # Skip dev_compiler codegen tests
dev_compiler/test/sourcemap/testfiles/*: SkipByDesign # Skip dev_compiler codegen tests
dev_compiler/test/worker/*: Skip # Skip dev_compiler codegen tests
front_end/test/fasta/analyze_test: Pass, Slow
front_end/test/fasta/ast_builder_test: Pass, Slow
front_end/test/fasta/bootstrap_test: Pass, Slow
front_end/test/fasta/compile_test: Pass, ExtraSlow
front_end/test/fasta/outline_test: Pass, Slow
front_end/test/fasta/rasta/*: SkipByDesign # Anything in rasta is input to fasta unit tests and shouldn't be run as tests.
front_end/test/fasta/sdk_test: SkipByDesign # sdk_test would take too long to complete, and should be run in a different way.
front_end/test/fasta/shaker_test: Skip # Issue http://dartbug.com/32531
front_end/test/fasta/strong_test: Pass, ExtraSlow
front_end/test/minimal_incremental_kernel_generator_test: Slow, Pass
front_end/test/whole_program_test: Slow, Pass
front_end/testcases/*: Skip # These are not tests but input for tests.
front_end/tool/incremental_perf_test: Slow, Pass
kernel/test/closures_test: Slow, Pass
kernel/testcases/*: Skip # These are not tests but input for tests.
vm/test/transformations/type_flow/transformer_test: Slow, Pass
vm/testcases/*: SkipByDesign # These are not tests but input for tests.

[ $compiler == dart2analyzer ]
dev_compiler/test/options/*: SkipByDesign

[ $compiler != dart2analyzer ]
analyzer/test/src/summary/summarize_fasta_test: RuntimeError, Slow

[ $compiler == dart2js ]
analysis_server/test/integration: SkipByDesign # Analysis server integration tests don't make sense to run under dart2js, since the code under test always runs in the Dart vm as a subprocess.
analyzer_cli/test/*: SkipByDesign # Only meant to run on vm
analyzer_plugin/test/*: SkipByDesign # Only meant to run on vm
analyzer_plugin/tool/*: SkipByDesign # Only meant to run on vm
collection/test/equality_test/01: Fail # Issue 1533
collection/test/equality_test/02: Fail # Issue 1533
collection/test/equality_test/03: Fail # Issue 1533
collection/test/equality_test/04: Fail # Issue 1533
collection/test/equality_test/05: Fail # Issue 1533
collection/test/equality_test/none: Pass, Fail # Issue 14348
compiler/tool/*: SkipByDesign # Only meant to run on vm
front_end/test/*: SkipByDesign # Only meant to run on vm, most use dart:mirrors and dart:io
front_end/tool/*: SkipByDesign # Only meant to run on vm
status_file/test/normalize_test: SkipByDesign # Uses dart:io
status_file/test/parse_and_normalize_test: SkipByDesign # Uses dart:io
status_file/test/repo_status_files_test: SkipByDesign # Uses dart:io
telemetry/test/*: SkipByDesign # Only meant to run on vm
testing/*: SkipByDesign # Only meant to run on vm
typed_data/test/typed_buffers_test/01: Fail # Not supporting Int64List, Uint64List.

[ $compiler == none ]
kernel/test/closures_test: Fail

[ $runtime == dart_precompiled ]
*: SkipByDesign # The pkg test framework imports dart:mirrors.

[ $runtime == flutter ]
status_file/*: SkipByDesign # Only meant to run on the standalone VM.

[ $runtime == jsshell ]
async/test/stream_zip_test: RuntimeError, OK # Issue 26103. Timers are not supported.
front_end/test/*: RuntimeError, OK, Pass # Issue 26103. Timers are not supported.
kernel/test/*: RuntimeError, OK # Issue 26103. Timers are not supported.

[ $runtime == vm ]
analysis_server/test/completion_test: Pass, Slow
analysis_server/test/integration/analysis/error_test: Pass, Slow
analysis_server/test/integration/analysis/lint_test: Pass, Slow
analysis_server/test/integration/completion: Pass, Slow
analysis_server/test/integration/edit/format_test: Pass, Slow
analysis_server/test/integration/edit/import_elements_test: Pass, Slow
analysis_server/test/integration/edit/organize_directives_test: Pass, Slow
analysis_server/test/integration/search/find_top_level_declarations_test: Pass, RuntimeError # 31571
analyzer/test/file_system/physical_resource_provider_test: Pass, Fail # Issue 25472
analyzer/test/src/task/strong/inferred_type_test: Pass, Slow
analyzer_cli/test/driver_test: Pass, Slow, Timeout
mutation_observer: Skip # Skip tests on the VM if the package depends on dart:html

[ $runtime != vm ]
dev_compiler/test/options/*: SkipByDesign
front_end/test/src/incremental/hot_reload_e2e_test: Skip
vm/test/*: SkipByDesign # Only meant to run on vm

[ $system == windows ]
front_end/test/fasta/ast_builder_test: Pass, Slow, Timeout
front_end/test/fasta/bootstrap_test: Skip # Issue 31902
front_end/test/fasta/strong_test: Pass, Slow, Timeout
front_end/test/incremental_load_from_dill_test: Pass, Slow
front_end/test/src/incremental/hot_reload_e2e_test: Skip # Issue 31901
front_end/test/whole_program_test: Skip # Issue 31902

[ $browser ]
*/test/analyzer_test: SkipByDesign # No need to run analysis tests on browser bots
analysis_server/test/*: SkipByDesign # Uses dart:io.
analysis_server/tool/spec/check_all_test: SkipByDesign # Uses dart:io.
analyzer/test/*: SkipByDesign # Uses dart:io.
analyzer/tool/summary/check_test: SkipByDesign # Uses dart:io.
analyzer/tool/task_dependency_graph/check_test: SkipByDesign # Uses dart:io.
analyzer2dart/*: SkipByDesign # Uses dart:io.
analyzer_cli/*: SkipByDesign # Uses dart:io.
compiler/tool/*: SkipByDesign # Only meant to run on vm
dart_messages/test/dart_messages_test: Skip # Uses dart:io.
front_end/tool/*: SkipByDesign # Only meant to run on vm
http_server/test/*: Fail, OK # Uses dart:io.
kernel/test/*: SkipByDesign # Uses dart:io and bigints.
observe/test/transformer_test: Fail, OK # Uses dart:io.
observe/test/unique_message_test: SkipByDesign # Uses dart:io.
status_file/*: SkipByDesign # Only meant to run on the standalone VM.
testing/test/analyze_test: SkipByDesign

[ $jscl ]
kernel/test/*: SkipByDesign # Uses dart:io and bigints.

[ $arch == x64 && $runtime == vm && $system == windows && $checked ]
analyzer/test/src/task/strong/inferred_type_test: Pass, Slow

[ $builder_tag != dart2js_analyzer && $compiler == dart2js ]
analysis_server/test/*: Skip # Issue 26813
analyzer/test/*: Skip # Issue 26813
analyzer/tool/*: Skip # Issue 26813

# Don't analyze tests in strong mode yet
[ $compiler == dart2analyzer && $strong ]
*: Skip # Issue 28649

# Analyze dev_compiler but only run its tests on the vm
[ $compiler != dart2analyzer && $runtime != vm ]
dev_compiler/test/*: Skip

[ $compiler == dart2js && $runtime == chrome && $system == macos ]
third_party/di_tests/di_test: Pass, Slow # Issue 22896

[ $compiler == dart2js && $runtime == d8 ]
front_end/test/src/base/uri_resolver_test: SkipByDesign # Relies on access to file system

[ $compiler == dart2js && $runtime != d8 ]
front_end/test/mixin_export_test: RuntimeError # Issue 30576

[ $compiler == dart2js && $runtime == drt ]
async/test/stream_zip_test: RuntimeError, Pass # Issue 18548

[ $compiler == dart2js && $browser ]
crypto/test/sha1_test: Slow, Pass
crypto/test/sha256_test: Slow, Pass

[ $compiler == dart2js && $checked ]
crypto/test/base64_test: Slow, Pass

[ $compiler == dart2js && $csp ]
mutation_observer: Skip # This test cannot run under CSP because it is injecting a JavaScript polyfill

[ $compiler == dart2js && $fasta && $host_checked ]
analysis_server_client/test/analysis_server_client_test: Crash
js_ast/test/printer_callback_test: Crash
js_ast/test/string_escape_test: Crash

[ $compiler == dart2js && ($runtime == chrome || $runtime == ff) ]
async/test/stream_zip_test: SkipSlow # Times out. Issue 22050
collection/test/unmodifiable_collection_test: SkipSlow # Times out. Issue 22050

[ $compiler == none && $runtime == drt ]
front_end/*: SkipByDesign
mutation_observer: Skip # Issue 21149
unittest/*: Skip # Issue 21949

[ $runtime == vm && $system == windows ]
analysis_server/test/analysis/get_errors_test: Skip # runtime error, Issue 22180
analysis_server/test/benchmarks_test: RuntimeError # Issue 32355
analysis_server/test/integration/*: Skip # Issue 32356
analyzer/test/generated/non_error_resolver_kernel_test: RuntimeError # Issue 30785
analyzer/test/src/task/strong/checker_test: Pass, Slow
analyzer/tool/task_dependency_graph/check_test: Slow, Pass

[ $runtime == vm && $system == windows && $checked ]
front_end/tool/perf_test: Slow, Pass

[ $runtime == vm && $checked ]
analysis_server/test/completion_test: Pass, Slow
analysis_server/test/integration/edit/sort_members_test: Pass, Slow
analysis_server/test/services/correction/fix_test: Pass, Slow
analysis_server/test/socket_server_test: Skip # Pass, Slow
analyzer/test/generated/non_error_resolver_kernel_test: Pass, Slow
analyzer/test/src/summary/resynthesize_ast_test: Pass, Slow
analyzer/test/src/task/strong/front_end_inference_test: Pass, Slow

[ $runtime == vm && $use_sdk ]
kernel/test/metadata_test: Skip # Issue 31900

# Timeout. These tests do not run efficiently on our simulator or low-end
# devices.
[ $runtime == vm && ($arch == armv5te || $arch == armv6 || $arch == simarm || $arch == simarm64 || $arch == simarmv5te || $arch == simarmv6 || $arch == simdbc64) ]
*: Skip

[ $arch != x64 || $compiler != none || $mode != release || $runtime != vm ]
front_end/test/whole_program_test: SkipByDesign

[ $mode != release || $runtime != vm ]
front_end/test/fasta/*: Skip
front_end/tool/_fasta/*: Skip

[ $mode != release || $runtime != vm || $system == windows ]
kernel/test/closures_test: Skip

