# 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 || $runtime == ContentShellOnAndroid) ]
third_party/angular_tests/browser_test/*: Skip # github perf_api.dart issue 5
third_party/angular_tests/browser_test/core_dom/shadow_root_options: Fail # Issue 19329
polymer/example/component/news/test/news_index_test: RuntimeError # Issue 18931
intl/test/date_time_format_http_request_test: Skip # Times out flakily. Issue 19544
intl/test/date_time_format_local_even_test: Skip # Times out flakily. Issue 19544
intl/test/date_time_format_local_odd_test: Skip # Times out flakily. Issue 19544

[ $compiler == none && ($runtime == dartium || $runtime == ContentShellOnAndroid) ]
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/computed_properties_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_binding_release_handler_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: Skip # Sometimes times out. Issue 19326
polymer/test/bind_properties_test: Skip # Sometimes times out. 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
analysis_server/test/integration/analysis/update_content_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
analysis_server/*: Skip # Timeout in some tests.

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

analysis_server/test/search/element_references_test: Pass, Slow
analysis_server/test/services/index/store/codec_test: Pass, Slow

# 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 && $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
shelf/test/log_middleware_test: Fail # Issue 19750

[ $runtime == ff ]
stack_trace/test/trace_test: Fail # Issue 19750
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
shelf/test/log_middleware_test: Fail # Issue 19750

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

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

[ $compiler == dart2js && $runtime == drt ]
third_party/angular_tests/browser_test/core_dom/shadow_root_options: Fail # Issue 19329

[ $compiler == dart2js && $csp && $runtime == drt ]
web_components/test/interop_test: Fail # Issue 19329

[ $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
analysis_server/test/search/element_reference_test: Pass, Slow # Issue 19756
analysis_server/index/store/codec_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
analysis_server/test/analysis_notification_highlights_test: Pass, Slow # 16473, 19756
analysis_server/test/search/top_level_declarations_test: Pass, Slow # 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/bind_properties_test: Skip # uses dart:html
polymer/test/build/log_injector_test: Skip # uses dart:html
polymer/test/computed_properties_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_binding_release_handler_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
template_binding/test/custom_element_bindings_test: Pass, RuntimeError # Issue 20714
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

[ $runtime == safari ]
polymer/test/js_interop_test: Pass, RuntimeError # Issue 20075

[ $runtime == safari || $ie ]
polymer/test/two_way_bind_test: Pass, RuntimeError # Issue 20075

# 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

[ $compiler == dartanalyzer || $compiler == dart2analyzer ]
# This test uses third_party/pkg/perf_api/lib/perf_api.dart, which
# contains illegal constant constructors.
third_party/angular_tests/browser_test: CompileTimeError

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

[ $compiler == dart2js && $csp ]
# 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_server/tool/spec/check_all_test: Skip # Uses dart:io.
analyzer2dart/*: 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/message_extraction_no_deferred_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/all_phases_test: Fail, OK # Uses dart:io.
polymer/test/build/polyfill_injector_test: Fail, OK # Uses dart:io.
polymer/test/build/static_clean_test: Fail, OK # Uses dart:io.
polymer/test/build/build_log_combiner_test: Fail, OK # Uses dart:io.
polymer/test/build/script_compactor_test: Fail, OK # Uses dart:io.
polymer/test/build/utils_test: Fail, OK # Uses dart:io.
polymer/test/build/import_inliner_test: Fail, OK # Uses dart:io.
polymer/test/build/linter_test: 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.
stub_core_library/test/*: Fail, OK # 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 == 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 || $runtime == ContentShellOnAndroid) ]
serialization/test/no_library_test: Skip # Expected Failure
serialization/test/serialization_test: Fail # 13921
unittest/test/async_exception_test: RuntimeError # 13921
unittest/test/async_exception_with_future_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 == dartanalyzer || $compiler == dart2analyzer ]
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

[ $system == windows ]
analysis_server/test/integration/search/get_type_hierarchy_test: Pass, Fail # Issue 20436
