# 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 && $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/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/generated/all_the_rest_test: Pass, Slow # Issue 21628
analyzer/test/generated/ast_test: Pass, Slow # Issue 21628
analyzer/test/generated/compile_time_error_code_test: Pass, Slow
analyzer/test/generated/compile_time_error_code_test: Pass, Slow # Issue 21628
analyzer/test/generated/constant_test.dart: 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/engine_test: SkipSlow
analyzer/test/generated/incremental_resolver_test: Pass, Slow # Issue 21628
analyzer/test/generated/incremental_scanner_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/source_factory_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/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/element/element_test: Pass, Slow # Issue 24914
analyzer/test/src/summary/prelinker_test: Pass, Slow # Issue 24914
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_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
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 # 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/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/compile_time_error_code_test: Crash # Issue 24485
analyzer/test/generated/element_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/non_error_resolver_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/source_factory_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/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/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/strong/checker_test: Crash # t: Failed assertion: line 88 pos 12: '!variable2index.containsKey(element)' is not true.
analyzer/test/src/task/strong/inferred_type_test: Crash # t: Failed assertion: line 88 pos 12: '!variable2index.containsKey(element)' is not true.
analyzer/test/src/task/strong_mode_test: Crash # Issue 24485
