# 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

# Skip non-test files ending with "_test".
scheduled_test/lib/*: Skip
polymer/example/scoped_style/*: Skip

scheduled_test/test/scheduled_server_test: Pass, Fail # 13524
scheduled_test/test/scheduled_process_test: Pass, Slow # Issue 9231
scheduled_test/test/scheduled_stream/stream_matcher_test: Pass, Slow
polymer/test/build/script_compactor_test: Pass, Slow

[ $compiler == none && ($runtime == drt || $runtime == dartium) ]
third_party/angular_tests/browser_test/core_dom/shadow_root_options: Fail # Issue 18931 (Disabled for Chrome 35 roll)
polymer/example/component/news/test/news_index_test: Pass, RuntimeError # Issue 18931
intl/test/date_time_format_http_request_test: Pass, Timeout # Issue 19544

[ $compiler == none && ($runtime == dartium) ]
polymer/test/attr_deserialize_test: Pass, RuntimeError # Issue 18931
polymer/test/attr_mustache_test: Pass, RuntimeError # Issue 18931
polymer/test/bind_test: Pass, RuntimeError # Issue 18931
polymer/test/custom_event_test: Pass, RuntimeError # Issue 18931
polymer/test/entered_view_test: Pass, RuntimeError # Issue 18931
polymer/test/event_handlers_test: Pass, RuntimeError # Issue 18931
polymer/test/event_path_test: Pass, RuntimeError # Issue 18931
polymer/test/event_path_declarative_test: Pass, RuntimeError, Timeout # Issue 18931
polymer/test/events_test: Pass, RuntimeError # Issue 18931
polymer/test/instance_attrs_test: Pass, RuntimeError # Issue 18931
polymer/test/js_custom_event_test: Pass, RuntimeError # Issue 18931
polymer/test/js_interop_test: Pass, RuntimeError # Issue 18931
polymer/test/nested_binding_test: Pass, RuntimeError # Issue 18931
polymer/test/noscript_test: Pass, RuntimeError # Issue 18931
polymer/test/prop_attr_bind_reflection_test: Pass, RuntimeError # Issue 18931
polymer/test/prop_attr_reflection_test: Pass, RuntimeError # Issue 18931
polymer/test/property_change_test: Pass, Timeout # Issue 18931
polymer/test/publish_attributes_test: Pass, RuntimeError # Issue 18931
polymer/test/publish_inherited_properties_test: Pass, RuntimeError # Issue 18931
polymer/test/register_test: Pass, RuntimeError # Issue 18931
polymer/test/take_attributes_test: Pass, RuntimeError # Issue 18931
polymer/test/template_distribute_dynamic_test: Pass, RuntimeError # Issue 18931
polymer/test/two_way_bind_test: Pass, RuntimeError # Issue 18931
web_components/test/interop_test: Pass, RuntimeError # Issue 18931

[ $compiler == none && ($runtime == dartium) && $mode == debug ]
polymer/test/instance_attrs_test: Skip # Issue 19496

[ $compiler == none && $runtime == dartium && $system == windows ]
polymer/test/property_observe_test: Pass, Timeout # Issue 19326

[ $runtime == vm && $mode == debug]
analysis_server/test/analysis_server_test: Skip  # Times out
analysis_server/test/domain_context_test: Skip  # Times out
analysis_server/test/domain_server_test: Skip  # Times out
analyzer/test/generated/element_test: Skip  # Times out
analyzer/test/generated/parser_test: Skip  # Times out
code_transformers/test/resolver_test: Skip  # Times out
docgen/test/*: Skip # Slow
polymer/test/build/all_phases_test: Skip # Slow
smoke/test/codegen/end_to_end_test: Skip  # Times out
smoke/test/codegen/recorder_test: Skip  # Times out
template_binding/test/template_binding_test: Skip  # Times out
third_party/html5lib/test/tokenizer_test: Skip  # Times out
barback/test/package_graph/repetition_test: Skip  # Times out
scheduled_test/test/scheduled_server_test: Pass, Fail, Slow # 13524

[ $runtime == vm && ( $arch == simarm || $arch == simmips ) ]
barback/test/too_many_open_files_test: Skip # 14220
code_transformers/test/resolver_test: Skip # Issue 17908
docgen/test/*: Skip # Too slow
polymer/test/build/all_phases_test: Skip # Slow
polymer/test/build/script_compactor_test: Skip # Slow
third_party/html5lib/test/tokenizer_test: Pass, Slow

[ $compiler == dart2js ]
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
docgen/test/*: Skip # Far too slow
third_party/angular_tests/browser_test: Pass, Slow # Large dart2js compile time
typed_data/test/typed_buffers_test/01: Fail # Not supporting Int64List, Uint64List.

[ $compiler == dart2js && $runtime == ff && $system == windows ]
http/test/html/client_test: Fail # Issue 19750
scheduled_test/test/scheduled_stream/scheduled_stream_test: Fail # Issue 19750
json_rpc_2/test/server/server_test: Fail # Issue 19750
stack_trace/test/trace_test: Fail # Issue 19750
shelf/test/log_middleware_test: Fail # Issue 19750

[ $compiler == dart2js && $runtime == drt ]
third_party/angular_tests/browser_test/core_dom/compiler: Fail # Issue 19329
third_party/angular_tests/browser_test/core_dom/shadow_root_options: Fail # Issue 19329
third_party/angular_tests/browser_test/core/templateurl: Fail # Issue 19329
web_components/test/interop_test: Pass, Fail # Issue 19329
web_components/test/interop2_test: Fail # Issue 19329

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

[ $checked && $runtime == drt ]
polymer/test/event_handlers_test: Pass, RuntimeError # Issue 19190

[ $compiler == dart2js && $checked && $runtime == ie9 ]
crypto/test/base64_test: Timeout # Issue 12486
collection/test/priority_queue_test: Pass, Slow # Issue 16426
serialization/test/serialization_test: Skip

[ $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

[ $runtime == jsshell ]
analysis_server/test/analysis_notification_occurrences_test: Pass, Slow # Issue 16473, 19756
analysis_server/test/analysis_notification_outline_test: Pass, Slow # Issue 16473, 19756
analysis_server/test/analysis_notification_navigation_test: Pass, Slow # Issue 16473, 19756
analysis_server/test/domain_analysis_test: Pass, Slow # Issue 16473, 19756
analyzer/test/generated/element_test: Pass, Slow # Issue 16473

[ $runtime == d8 || $runtime == jsshell ]
stack_trace/test/chain_test: Fail # Issues 15171 and 15105
stack_trace/test/vm_test: RuntimeError, OK # VM-specific traces
unittest/test/missing_tick_test: Fail # Timer interface not supported: dartbug.com/7728.

[ $runtime == jsshell ]
async/test/stream_zip_test: RuntimeError, OK # Timers are not supported.
scheduled_test/test/unittest_compatibility_test: Fail # Issue 7728
unittest/test/nested_groups_setup_teardown_test: RuntimeError # http://dartbug.com/10109

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

[ $runtime == vm || $runtime == d8 || $runtime == jsshell ]
polymer/example: Skip # Uses dart:html
polymer/e2e_test: Skip # Uses dart:html
polymer/test/auto_binding_test: Skip # uses dart:html
polymer/test/attr_deserialize_test: Skip # uses dart:html
polymer/test/attr_mustache_test: Skip #uses dart:html
polymer/test/bind_test: Skip # uses dart:html
polymer/test/bind_mdv_test: Skip # uses dart:html
polymer/test/custom_event_test: Skip # uses dart:html
polymer/test/entered_view_test: Skip # uses dart:html
polymer/test/event_handlers_test: Skip #uses dart:html
polymer/test/event_path_declarative_test: Skip #uses dart:html
polymer/test/event_path_test: Skip #uses dart:html
polymer/test/events_test: Skip #uses dart:html
polymer/test/instance_attrs_test: Skip #uses dart:html
polymer/test/js_custom_event_test: Skip #uses dart:html
polymer/test/js_interop_test: Skip #uses dart:html
polymer/test/mirror_loader_test: Skip # uses dart:html
polymer/test/nested_binding_test: Skip # uses dart:html
polymer/test/noscript_test: Skip #uses dart:html
polymer/test/prop_attr_bind_reflection_test: Skip #uses dart:html
polymer/test/prop_attr_reflection_test: Skip #uses dart:html
polymer/test/property_change_test: Skip # uses dart:html
polymer/test/property_observe_test: Skip #uses dart:html
polymer/test/publish_attributes_test: Skip #uses dart:html
polymer/test/publish_inherited_properties_test: Skip #uses dart:html
polymer/test/register_test: Skip #uses dart:html
polymer/test/take_attributes_test: Skip #uses dart:html
polymer/test/template_distribute_dynamic_test: Skip #uses dart:html
polymer/test/two_way_bind_test: Skip #uses dart:html
polymer/test/unbind_test: Skip # uses dart:html
third_party/angular_tests/browser_test: Skip # uses dart:html
web_components/test/*: Skip # uses dart:html

[$compiler == dart2dart]
*: Skip

[ $compiler == dart2js || $compiler == dart2dart ]
source_maps/test/vlq_test: RuntimeError # A VLQ test checks for large numbers that
                                # overflow in JS (numbers slightly larger than
                                # 32 bits where we do bitwise operations).

[ $runtime == opera && $compiler == dart2js ]
intl/test/find_default_locale_browser_test: Fail
intl/test/date_time_format_http_request_test: Skip # Timeout.

[ $runtime == ie9 ]
mime/test/mime_multipart_transformer_test: Skip # No typed_data on IE9.
typed_data/test/typed_buffers_test: Fail, Crash # No typed_data on IE9.
polymer/test/instance_attrs_test: Pass, Fail # Issue 14167
polymer/test/bind_mdv_test: Slow, Pass, RuntimeError # Issue 14412, 13260
matcher/test/core_matchers_test: RuntimeError # Issue 17762
polymer_expressions/test/bindings_test: RuntimeError # Issue 19265
polymer_expressions/test/globals_test: RuntimeError # Issue 19265
template_binding/test/template_binding_test: Pass, RuntimeError # Issue 19265

[ $ie ]
polymer/test/noscript_test: RuntimeError, Pass # Issue 13260
intl/test/date_time_format_http_request_test: Fail # Issue 8983
polymer_expressions/test/syntax_test: Fail, Timeout, Pass # Issue 19138

[ $runtime == ie10 ]
typed_data/test/typed_buffers_test/none: Fail # Issue   17607 (I put this here explicitly, since this is not the same as on ie9)
polymer/e2e_test/*: Pass, RuntimeError # Issue 19265
polymer_expressions/*: Pass, RuntimeError # Issue 19265
template_binding/test/template_binding_test: Pass, RuntimeError # Issue 19265
polymer/test/event_handlers_test: Pass, Timeout # Issue 19327
analyzer/test/generated/java_core_test: Pass, Timeout # Issue 19747

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

# Skip browser-specific tests on VM
[ $runtime == vm ]
path/test/browser_test: Fail, OK # Uses dart:html
intl/test/find_default_locale_browser_test: Skip
intl/test/date_time_format_http_request_test: Skip
third_party/angular_tests/vm_test: Fail # Uses removed APIs. See issue 18733.

[ $runtime == vm && $system == windows ]
intl/test/find_default_locale_standalone_test: Fail # Issue 8110

[ $compiler == dartanalyzer || $compiler == dart2analyzer ]
# These tests are runtime negative but statically positive, so we skip
# them in the analyzer.
mock/test/mock_regexp_negative_test: Skip
mock/test/mock_stepwise_negative_test: Skip
polymer/e2e_test/canonicalization: Skip
polymer/e2e_test/experimental_boot: Skip

third_party/angular_tests/browser_test: StaticWarning # Issue 15890

[ $compiler == dart2js && $runtime == none]
polymer/e2e_test/canonicalization: Skip
polymer/e2e_test/experimental_boot: Skip

[ $compiler == dart2js && $csp ]
polymer/test/noscript_test: Fail # Issue 17326
polymer/test/js_custom_event_test: Fail # Issue 17326
polymer/test/js_interop_test: Fail # Issue 17326

# This test cannot run under CSP because it is injecting a JavaScript polyfill
mutation_observer: Skip

[ $compiler == dart2js && $minified ]
# The unminified unittest tests test that the real names of Dart types are
# printed. Minified versions of these tests exist that test the behavior when
# minified.
matcher/test/*_unminified_test: Skip # DO NOT COPY THIS UNLESS YOU WORK ON DART2JS

[ $compiler == dart2js && $browser ]
stack_trace/test/vm_test: Fail, OK # VM-specific traces
stack_trace/test/chain_test: Fail # Issues 15171 and 15105
crypto/test/sha256_test: Slow, Pass
crypto/test/sha1_test: Slow, Pass
polymer/example/component: Fail # Issue 13198
polymer/e2e_test/canonicalization/test/dev1_test: Fail, OK # tests development only behavior
polymer/e2e_test/canonicalization/test/dev2_test: Fail, OK # tests development only behavior
polymer/e2e_test/canonicalization/test/dev3_test: Fail, OK # tests development only behavior
polymer/e2e_test/canonicalization/test/dir/dev1_test: Fail, OK # tests development only behavior
polymer/e2e_test/canonicalization/test/dir/dev2_test: Fail, OK # tests development only behavior
polymer/e2e_test/bad_import1: RuntimeError # Issue 17596
polymer/e2e_test/bad_import2: RuntimeError # Issue 17596
polymer/e2e_test/bad_import3: Fail, OK # tests broken import
polymer/test/mirror_loader_test: Skip # tests development only behavior

[ $compiler == dart2js && $runtime == chromeOnAndroid ]
intl/test/date_time_format_http_request_test: Fail # TODO(kasperl): Please triage.

[ $browser ]
analysis_server/test/*: Skip # Uses dart:io.
analysis_services/test/*: Skip # Uses dart:io.
analyzer/test/*: Skip # Uses dart:io.
barback/test/*: Fail, OK # Uses dart:io.
code_transformers/test/*: Skip # Uses dart:io.
http/test/io/*: Fail, OK # Uses dart:io.
http_parser/test/web_socket_test: Fail, OK # Uses dart:io
http_multi_server/test/http_multi_server_test: Skip # Uses dart:io
http_server/test/*: Fail, OK # Uses dart:io.
intl/test/date_time_format_file_even_test: Fail, OK # Uses dart:io.
intl/test/date_time_format_file_odd_test: Fail, OK # Uses dart:io.
intl/test/find_default_locale_standalone_test: Fail, OK # Uses dart:io.
intl/test/message_extraction/examples_parsing_test: Fail, OK # Users dart:io
intl/test/message_extraction/failed_extraction_test: Fail, OK # Users dart:io
intl/test/message_extraction/message_extraction_test: Fail, OK # Uses dart:io.
intl/test/message_extraction/really_fail_extraction_test: Fail, OK # Users dart:io
observe/test/transformer_test: Fail, OK # Uses dart:io.
path/test/io_test: Fail, OK # Uses dart:io.
polymer/test/build/*: Fail, OK # Uses dart:io.
shelf/test/shelf_io_test: Fail, OK # Uses dart:io
shelf_web_socket/test/*: Fail, OK # Uses dart:io.
smoke/test/codegen/end_to_end_test: Skip # Uses dart:io.
smoke/test/codegen/recorder_test: Skip # Uses dart:io.
third_party/angular_tests/browser_test/core_dom/cookies: Fail # Issue 16337
third_party/angular_tests/vm_test: Skip # Uses dart:io
watcher/test/*: Fail, OK # Uses dart:io.

scheduled_test/test/descriptor/*: Fail # http://dartbug.com/8440
scheduled_test/test/scheduled_future_matchers_test: Fail # http://dartbug.com/8440
scheduled_test/test/scheduled_process_test: Fail # http://dartbug.com/8440
scheduled_test/test/scheduled_test/*: Fail # http://dartbug.com/8440
scheduled_test/test/scheduled_stream/stream_matcher_test: Fail # http://dartbug.com/8440


*/test/analyzer_test: Skip  # No need to run analysis tests on browser bots

# Skip tests on the browser if the test depends on dart:io
third_party/html5lib/test/parser_test: Skip
third_party/html5lib/test/tokenizer_test: Skip
third_party/html5lib/test/selectors/*: Skip

polymer/test/unbind_test: Pass, Fail # Issue 15259

[ $minified == false ]
# The minified unittest tests test that the minified names of Dart types are
# printed. Unminified versions of these tests exist that test the behavior when
# not minified.
matcher/test/*_minified_test: Skip # DO NOT COPY THIS UNLESS YOU WORK ON DART2JS

[ $arch == mips ]
*: Skip  # Issue 13650

[ $arch == arm ]
*: Skip  # Issue 13624

[ $arch == simarm && $checked ]
watcher/test/directory_watcher/linux_test: Skip # Issue 16118

[ $arch == simarm64 ]
# Timeout. These are not unit tests. They do not run efficiently on our
# simulator.
*: Skip

# Skip serialization test that explicitly has no library declaration in the
# test on Dartium, which requires all tests to have a library.
[ $compiler == none && ( $runtime == dartium || $runtime == drt ) ]
serialization/test/no_library_test: Skip # Expected Failure
serialization/test/serialization_test: Fail # 13921
unittest/test/async_exception_test: RuntimeError # 13921
unittest/test/async_setup_teardown_test: RuntimeError # 13921
unittest/test/completion_test: RuntimeError # 13921
unittest/test/correct_callback_test: RuntimeError # 13921
unittest/test/exception_test: RuntimeError # 13921
unittest/test/excess_callback_test: RuntimeError # 13921
unittest/test/expect_async_args_test: RuntimeError # 13921
unittest/test/expect_async_test: RuntimeError # 13921
unittest/test/group_name_test: RuntimeError # 13921
unittest/test/invalid_ops_test: RuntimeError # 13921
unittest/test/late_exception_test: RuntimeError # 13921
unittest/test/middle_exception_test: RuntimeError # 13921
unittest/test/nested_groups_setup_teardown_test: RuntimeError # 13921
unittest/test/protect_async_test: RuntimeError # 13921
unittest/test/returning_future_test: RuntimeError # 13921
unittest/test/returning_future_using_runasync_test: RuntimeError # 13921
unittest/test/runtests_without_tests_test: RuntimeError # 13921
unittest/test/setup_and_teardown_test: RuntimeError # 13921
unittest/test/setup_test: RuntimeError # 13921
unittest/test/single_correct_test: RuntimeError # 13921
unittest/test/single_failing_test: RuntimeError # 13921
unittest/test/skipped_soloed_nested_test: RuntimeError # 13921
unittest/test/teardown_test: RuntimeError # 13921
unittest/test/testcases_immutable_test: RuntimeError # 13921
polymer/e2e_test/canonicalization/test/deploy1_test: Fail, OK # tests deploy only behavior
polymer/e2e_test/canonicalization/test/deploy2_test: Fail, OK # tests deploy only behavior
polymer/e2e_test/canonicalization/test/deploy3_test: Fail, OK # tests deploy only behavior
polymer/e2e_test/canonicalization/test/dir/dev2_test: RuntimeError # Issue 17596
polymer/e2e_test/canonicalization/test/dir/deploy1_test: Fail, OK # tests deploy only behavior
polymer/e2e_test/canonicalization/test/dir/deploy2_test: Fail, OK # tests deploy only behavior

[ $runtime == vm ]
# Skip tests on the VM if the package depends on dart:html
custom_element: Skip
template_binding: Skip
mutation_observer: Skip
polymer_expressions/test/syntax_test: Skip
polymer_expressions/test/globals_test: Skip
polymer_expressions/test/bindings_test: Skip
third_party/html5lib/test/browser/browser_test: Skip
http/test/html/*: Skip

[ $browser ]
docgen/test/*: Skip  # Uses dart:io
scheduled_test/test/scheduled_server_test: Skip # Uses dart:io

[ $browser || $runtime == vm ]
unittest/test/missing_tick_test: Fail, OK # Expected to fail, due to timeout.


[ $compiler == none && ($runtime == dartium || $runtime == drt) ]
source_maps/test/parser_test: Pass, Timeout # Issue 13719: Please triage this failure.

[ $compiler == dartanalyzer || $compiler == dart2analyzer ]
matcher/test/deprecated_matchers_test: StaticWarning # testing error creating abstract class
third_party/angular_tests/vm_test: StaticWarning # Uses removed APIs. See issue 18733.

[ $runtime == vm && ($system == windows || $system == macos) ]
watcher/test/*/linux_test: Skip

[ $runtime == vm && ($system == windows || $system == linux) ]
watcher/test/*/mac_os_test: Skip

[ $runtime == vm && ($system == macos || $system == linux) ]
watcher/test/*/windows_test: Skip

[ $runtime == safari || $runtime == safarimobilesim || $runtime == chrome || $runtime == ff || $ie ]
# Various issues due to limited browser testing in Angular.
third_party/angular_tests/*: Skip

[ $unchecked ]
third_party/angular_tests/browser_test/angular: Skip # Requires checked mode.
third_party/angular_tests/browser_test/core/scope: Skip # Requires checked mode.
third_party/angular_tests/browser_test/core/zone: Skip # Requires checked mode.
third_party/angular_tests/browser_test/directive/ng_repeat: Skip # Issue 17152
third_party/angular_tests/browser_test/change_detection/dirty_checking_change_detector: Skip # Issue 17152

[ $use_repository_packages ]
analyzer/test/*: PubGetError

[ $runtime == ie9 ]
polymer: Pass, Fail, Timeout # Issue 16717
web_components/test/interop_test: Fail, Timeout # Issue 16717

# No typed_data on IE9.
http/test/html/client_test: Fail
http/test/html/streamed_request_test: Skip
http/test/mock_client_test: Fail
http/test/multipart_test: Fail
http/test/request_test: Fail
http/test/response_test: Fail
oauth2/test/authorization_code_grant_test: Fail
oauth2/test/client_test: Fail
oauth2/test/credentials_test: Fail
oauth2/test/handle_access_token_response_test: Fail

[ $runtime == drt ]
http/test/html/client_test: Skip # Issue 18566
