# 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

# Analyzer2dart is not maintained anymore.
analyzer2dart/test/*: Skip

[ $compiler == none && ($runtime == drt || $runtime == dartium) ]
mutation_observer: Skip # Issue 21149
unittest/*: Skip # Issue 21949
lookup_map/*: SkipByDesign

[ $runtime == vm && $mode == debug ]
analysis_server/test/completion_test: Pass, Slow

[ $runtime == vm && $checked ]
analysis_server/test/completion_test: Pass, Slow

[ $runtime == vm && $system == windows]
analysis_server/test/analysis/get_errors_test: Skip # runtime error, Issue 22180
analysis_server/test/integration/analysis/analysis_options_test: RuntimeError # Issue 24796
analyzer/test/generated/all_the_rest_test: Fail # Issue 21772
analyzer_cli/test/driver_test: Fail # Issue 25471

[ $compiler == dart2js ]
analyzer_cli/test/*: SkipByDesign # Only meant to run on vm
analysis_server/test/*: Skip # Issue 22161
analysis_server/test/analysis_notification_highlights_test: Pass, Slow # 19756, 21628
analysis_server/test/analysis_notification_navigation_test: Pass, Slow # Issue 19756, 21628
analysis_server/test/analysis_notification_occurrences_test: Pass, Slow # Issue 19756, 21628
analysis_server/test/analysis_notification_outline_test: Pass, Slow # Issue 19756, 21628
analysis_server/test/domain_analysis_test: Pass, Slow # Issue 19756, 21628
analysis_server/test/domain_completion_test: Pass, Slow
analysis_server/test/edit/assists_test: Pass, Slow
analysis_server/test/edit/format_test: Pass, Slow
analysis_server/test/edit/refactoring_test: Pass, Slow # Issue 19756, 21628
analysis_server/test/search/element_references_test: Pass, Slow
analysis_server/test/search/top_level_declarations_test: Pass, Slow # 19756, 21628
analysis_server/test/services/index/store/codec_test: Pass, Slow
analysis_server/test/socket_server_test: Pass, Slow # Issue 19756, 21628
analyzer/test/context/declared_variables_test: Pass, Slow # Issue 21628
analyzer/test/dart/element/element_test: Pass, Slow # Issue 24914
analyzer/test/dart/ast/ast_test: Pass, Slow # Issue 19756, 21628
analyzer/test/dart/ast/utilities_test: Pass, Slow # Issue 19756, 21628
analyzer/test/dart/ast/visitor_test: Pass, Slow # Issue 19756, 21628
analyzer/test/enum_test: Slow, Pass, Fail # Issue 21323
analyzer/test/non_hint_code_test: Pass, Slow # Issue 21628
analyzer/test/strong_mode_test: Pass, Slow # Issue 21628
analyzer/test/generated/all_the_rest_test: Pass, Slow # Issue 21628
analyzer/test/generated/checked_mode_compile_time_error_code_test: Pass, Slow # Issue 21628
analyzer/test/generated/ast_test: Pass, Slow # Issue 21628
analyzer/test/generated/checked_mode_compile_time_error_code_test: Pass, Slow # Issue 21628
analyzer/test/generated/compile_time_error_code_test: Pass, Slow # Issue 21628
analyzer/test/generated/constant_test: Pass, Slow # Issue 24914
analyzer/test/generated/declaration_resolver_test: Pass, Slow # Issue 24914
analyzer/test/generated/element_test: Pass, Slow # Issue 21628
analyzer/test/generated/element_resolver_test: Pass, Slow # Issue 21628
analyzer/test/generated/error_suppression_test: Pass, Slow # Issue 21628
analyzer/test/generated/engine_test: SkipSlow
analyzer/test/generated/hint_code_test: Pass, Slow # Issue 21628
analyzer/test/generated/non_hint_code_test: Pass, Slow # Issue 21628
analyzer/test/generated/incremental_resolver_test: Pass, Slow # Issue 21628
analyzer/test/generated/incremental_scanner_test: Pass, Slow # Issue 21628
analyzer/test/generated/inheritance_manager_test: Pass, Slow # Issue 21628
analyzer/test/generated/non_error_resolver_test: Pass, Slow # Issue 21628
analyzer/test/generated/parser_test: Pass, Slow # Issue 21628
analyzer/test/generated/resolver_test: Pass, Slow # Issue 21628
analyzer/test/generated/scanner_test: Pass, Slow # Issue 21628
analyzer/test/generated/simple_resolver_test: Pass, Slow # Issue 21628
analyzer/test/generated/source_factory_test: Pass, Slow # Issue 21628
analyzer/test/generated/static_type_analyzer_test: Pass, Slow # Issue 21628
analyzer/test/generated/static_type_warning_code_test: Pass, Slow
analyzer/test/generated/static_type_warning_code_test: Pass, Slow # Issue 21628
analyzer/test/generated/static_warning_code_test: Pass, Slow # Issue 21628
analyzer/test/generated/strong_mode_test: Pass, Slow # Issue 21628
analyzer/test/generated/type_system_test: Pass, Slow # Issue 21628
analyzer/test/generated/utilities_test: Pass, Slow # Issue 21628
analyzer/test/src/context/cache_test: Pass, Slow # Issue 21628
analyzer/test/src/context/context_test: Pass, Timeout # dartbug.com/23658
analyzer/test/src/dart/ast/utilities_test: Pass, Slow # Issue 24914
analyzer/test/src/dart/constant/evaluation_test: Pass, Slow # Issue 24914
analyzer/test/src/dart/constant/value_test: Pass, Slow # Issue 24914
analyzer/test/src/dart/element/element_test: Pass, Slow # Issue 24914
analyzer/test/src/summary/incremental_cache_test: Pass, Slow # Issue 24914
analyzer/test/src/summary/index_unit_test: Pass, Slow # Issue 24914
analyzer/test/src/summary/linker_test: Pass, Slow # Issue 24914
analyzer/test/src/summary/prelinker_test: Pass, Slow # Issue 24914
analyzer/test/src/summary/resynthesize_ast_test: Pass, Slow
analyzer/test/src/summary/resynthesize_strong_test: Pass, Slow
analyzer/test/src/summary/resynthesize_test: Pass, Slow
analyzer/test/src/summary/summary_sdk_test: Pass, Slow # Issue 24914
analyzer/test/src/summary/summarize_ast_test: Pass, Slow # Issue 24914
analyzer/test/src/summary/summarize_ast_strong_test: Pass, Slow # Issue 24914
analyzer/test/src/summary/summarize_elements_strong_test: Pass, Slow # Issue 24914
analyzer/test/src/summary/summarize_elements_test: Pass, Slow # Issue 24914
analyzer/test/src/task/dart_test: Pass, Slow # Issue 21628
analyzer/test/src/task/dart_work_manager_test: Pass, Slow # Issue 21628
analyzer/test/src/task/driver_test: Pass, Slow # Issue 21628
analyzer/test/src/task/general_test: Pass, Slow # Issue 21628
analyzer/test/src/task/html_test: Pass, Slow # Issue 21628
analyzer/test/src/task/html_work_manager_test: Pass, Slow # Issue 21628
analyzer/test/src/task/incremental_element_builder_test: Pass, Slow # Issue 21628
analyzer/test/src/task/inputs_test: Pass, Slow # Issue 21628
analyzer/test/src/task/manager_test: Pass, Slow # Issue 21628
analyzer/test/src/task/model_test: Pass, Slow # Issue 21628
analyzer/test/src/task/options_test: Pass, Slow # Issue 21628
analyzer/test/src/task/options_work_manager_test: Pass, Slow # Issue 21628
analyzer/test/src/task/strong/checker_test: Pass, Slow # Issue 21628
analyzer/test/src/task/strong/inferred_type_test: Pass, Slow # Issue 21628
analyzer/test/src/task/yaml_test: Pass, Slow # Issue 21628
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
lookup_map/test/version_check_test: SkipByDesign # Only meant to run in vm.
typed_data/test/typed_buffers_test/01: Fail # Not supporting Int64List, Uint64List.

# 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.
analysis_server/test/integration: Skip

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

[ $runtime == d8 ]
analysis_server/test/analysis_notification_overrides_test: Pass, Slow # Issue 19756
analysis_server/test/analysis_notification_occurrences_test: Pass, Slow # Issue 19756
analysis_server/test/analysis_notification_outline_test: Pass, Slow # Issue 19756
analysis_server/test/domain_search_test: Pass, Slow # Issue 19756
analysis_server/test/search/element_reference_test: Pass, Slow # Issue 19756
analysis_server/index/store/codec_test: Pass, Slow # Issue 19756

[ $runtime == jsshell ]
async/test/stream_zip_test: RuntimeError, OK # Issue 26103. Timers are not supported.
lookup_map/test/lookup_map_test: RuntimeError, OK # Issue 26103. Timers are not supported.

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

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

[ $runtime == ie10 ]
analyzer/test/generated/java_core_test: Pass, Timeout # Issue 19747
typed_data/test/typed_buffers_test/none: Fail # Issue   17607 (I put this here explicitly, since this is not the same as on ie9)

[ $runtime == safarimobilesim ]
# Unexplained errors only occuring on Safari 6.1 and earlier.
typed_data/test/typed_buffers_test: RuntimeError

[ $compiler == dart2analyzer ]
compiler/samples/compile_loop/compile_loop: CompileTimeError  # Issue 16524
lookup_map/test/version_check_test: StaticWarning # https://github.com/dart-lang/http_parser/issues/6
lookup_map/test/lookup_map_test: StaticWarning # https://github.com/dart-lang/http_parser/issues/6

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

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

[ $browser ]
analyzer_cli/*: SkipByDesign # Uses dart:io.
*/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/task_dependency_graph/check_test: SkipByDesign # Uses dart:io.
analyzer/tool/summary/check_test: SkipByDesign # Uses dart:io.
analyzer2dart/*: SkipByDesign # Uses dart:io.
http_server/test/*: Fail, OK # Uses dart:io.
observe/test/transformer_test: Fail, OK # Uses dart:io.
observe/test/unique_message_test: SkipByDesign  # Uses dart:io.
dart_messages/test/dart_messages_test: Skip  # Uses dart:io.

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

[ $runtime == vm ]
analyzer/test/file_system/physical_resource_provider_test: Pass, Fail # Issue 25472
# Skip tests on the VM if the package depends on dart:html
mutation_observer: Skip

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

[ $use_repository_packages ]
analyzer/test/*: PubGetError

[ $compiler == dart2js && $cps_ir && $host_checked == false ]
analyzer/test/dart/element/element_test: Pass, Slow # Times out due to inlining, but see issue 24485
analyzer/test/src/summary/resynthesize_test: Pass, Slow # Times out due to inlining, but see issue 24485
analyzer/test/src/task/strong_mode_test: Pass, Slow # Times out due to inlining, but see issue 24485

[ $compiler == dart2js && $cps_ir && $host_checked ]
analyzer/test/dart/ast/ast_test: Crash # Issue 24485
analyzer/test/dart/ast/visitor_test: Crash # Issue 24485
analyzer/test/dart/element/element_test: Crash # Issue 24485
analyzer/test/enum_test: Crash # Issue 24485
analyzer/test/generated/all_the_rest_test: Crash # Issue 24485
analyzer/test/generated/ast_test: Crash # Issue 24485
analyzer/test/generated/checked_mode_compile_time_error_code_test: Crash # Issue 24485
analyzer/test/generated/compile_time_error_code_test: Crash # Issue 24485
analyzer/test/generated/constant_test: Crash # Issue 24485
analyzer/test/generated/declaration_resolver_test: Crash # Issue 24485
analyzer/test/generated/element_resolver_test: Crash # Issue 24485
analyzer/test/generated/element_test: Crash # Issue 24485
analyzer/test/generated/error_suppression_test: Crash # Issue 24485
analyzer/test/generated/hint_code_test: Crash # Issue 24485
analyzer/test/generated/incremental_resolver_test: Crash # Issue 24485
analyzer/test/generated/incremental_scanner_test: Crash # Issue 24485
analyzer/test/generated/inheritance_manager_test: Crash # Issue 24485
analyzer/test/generated/non_error_resolver_test: Crash # Issue 24485
analyzer/test/generated/non_hint_code_test: Crash # Issue 24485
analyzer/test/generated/parser_test: Crash # Issue 24485
analyzer/test/generated/resolver_test: Crash # Issue 24485
analyzer/test/generated/scanner_test: Crash # Issue 24485
analyzer/test/generated/simple_resolver_test: Crash # Issue 24485
analyzer/test/generated/source_factory_test: Crash # Issue 24485
analyzer/test/generated/static_type_analyzer_test: Crash # Issue 24485
analyzer/test/generated/static_type_warning_code_test: Crash # Issue 24485
analyzer/test/generated/static_warning_code_test: Crash # Issue 24485
analyzer/test/generated/strong_mode_test: Crash # Issue 24485
analyzer/test/generated/utilities_test: Crash # Issue 24485
analyzer/test/src/context/cache_test: Crash # Issue 24485
analyzer/test/src/context/context_test: Crash # Issue 24485
analyzer/test/src/dart/ast/utilities_test: Crash # Issue 24485
analyzer/test/src/dart/element/element_test: Crash # Issue 24485
analyzer/test/src/summary/index_unit_test: Crash # Issue 24485
analyzer/test/src/summary/prelinker_test: Crash # Issue 24485
analyzer/test/src/summary/resynthesize_test: Crash # Issue 24485
analyzer/test/src/summary/resynthesize_strong_test: Crash # Issue 24485
analyzer/test/src/summary/summarize_ast_test: Crash # Issue 24485
analyzer/test/src/summary/summarize_elements_test: Crash # Issue 24485
analyzer/test/src/summary/summarize_elements_strong_test: Crash # Issue 24485
analyzer/test/src/task/dart_test: Crash # Issue 24485
analyzer/test/src/task/dart_work_manager_test: Crash # Issue 24485
analyzer/test/src/task/driver_test: Crash # Issue 24485
analyzer/test/src/task/general_test: Crash # Issue 24485
analyzer/test/src/task/html_test: Crash # Issue 24485
analyzer/test/src/task/html_work_manager_test: Crash # Issue 24485
analyzer/test/src/task/incremental_element_builder_test: Crash # Issue 24485
analyzer/test/src/task/inputs_test: Crash # Issue 24485
analyzer/test/src/task/manager_test: Crash # Issue 24485
analyzer/test/src/task/model_test: Crash # Issue 24485
analyzer/test/src/task/options_test: Crash # Issue 24485
analyzer/test/src/task/options_work_manager_test: Crash # Issue 24485
analyzer/test/src/task/strong/checker_test: Crash # Issue 24485
analyzer/test/src/task/strong/inferred_type_test: Crash # Issue 24485
analyzer/test/src/task/strong_mode_test: Crash # Issue 24485
analyzer/test/src/task/yaml_test: Crash # Issue 24485

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

[ $compiler == dart2js && $cps_ir && $checked ]
*: Skip # `assert` not implemented, about 75% tests crash
