# 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

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

scheduled_test/test/scheduled_server_test: Pass, Slow, Fail # Issue 9231, 13524
scheduled_test/test/scheduled_process_test: Pass, Slow # Issue 9231

# Skip test not runnable via test.dart
third_party/html5lib/test/dom_compat_test: Skip
third_party/html5lib/test/browser/browser_test: Skip

[ $compiler == dart2js ]
analyzer_experimental/test/generated/ast_test: RuntimeError #Issue 12341

[ $compiler == dart2js && $runtime == drt ]
polymer/test/prop_attr_reflection_test: Fail # Issue 14048

[ $compiler == dart2js && $checked && $runtime == ie9 ]
crypto/test/base64_test: Timeout # Issue 12486

[ $runtime == d8 || $runtime == jsshell ]
unittest/test/unittest_nested_groups_setup_teardown_test: Pass, RuntimeError # http://dartbug.com/10109
stack_trace/test/vm_test: RuntimeError, OK # VM-specific traces
sequence_zip/test/stream_test: RuntimeError, OK # Timers are not supported.
unittest/test/missing_tick_test: Fail # Timer interface not supported: dartbug.com/7728.

[$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 ]
intl/test/date_time_format_http_request_test: Fail # Issue 8983
mime/test/mime_multipart_transformer_test: Skip # No typed_data on IE9.

[ $runtime == safari ]
fixnum/test/int_64_test: Pass, Fail # Bug in JSC.
crypto/test/hmac_sha1_test: Pass, Fail # Issue 11407.
crypto/test/sha1_test: Fail # Issue 11407.
stack_trace/test/trace_test: Fail # http://dartbug.com/12380
crypto/test/sha256_test: Pass, Fail # Issue 12502
crypto/test/hmac_sha256_test: Pass, Fail # Issue 12502
polymer_expressions/test/globals_test: Fail # Issue 13890

[ $runtime == ie9 || $runtime == ie10 ]
polymer/test/attr_deserialize_test: Fail, Timeout # Issue 12865, 13197, 13260
polymer/test/attr_mustache_test: Fail, Timeout # Issue 12865, 13197, 13260
polymer/test/event_path_test: Fail, Timeout # Issue 12865, 13197, 13260
polymer/test/events_test: Fail, Timeout # Issue 12865, 13197, 13260
polymer/test/prop_attr_reflection_test: Fail, Timeout # Issue 12865, 13197, 13260
polymer/test/prop_attr_bind_reflection_test: Fail, Timeout # Issue 12865, 13197, 13260
polymer/test/publish_attributes_test: Fail, Timeout # Issue 12865, 13197, 13260
polymer/test/take_attributes_test: Fail, Timeout # Issue 12865, 13197, 13260
polymer_expressions/test/globals_test: Fail # Issue 13890

[ $system == windows && ($runtime == chrome || $runtime == ff) ]
polymer/test/attr_deserialize_test: Pass, Timeout # Issue 13260
polymer/test/attr_mustache_test: Pass, Timeout # Issue 13260
polymer/test/event_path_test: Pass, Timeout # Issue 13260
polymer/test/events_test: Pass, Timeout # Issue 13260
polymer/test/instance_attrs_test: Pass, Timeout # Issue 13260
polymer/test/prop_attr_reflection_test: Pass, Timeout # Issue 13260
polymer/test/prop_attr_bind_reflection_test: Pass, Timeout # Issue 13260
polymer/test/publish_attributes_test: Pass, Timeout # Issue 13260
polymer/test/take_attributes_test: Pass, Timeout # Issue 13260

# 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
polymer/test/attr_deserialize_test: Fail, OK # Uses dart:html
polymer/test/attr_mustache_test: Fail, OK # Uses dart:html
polymer/test/event_path_test: Fail, OK # Uses dart:html
polymer/test/events_test: Fail, OK # Uses dart:html
polymer/test/instance_attrs_test: Fail, OK # Uses dart:html
polymer/test/prop_attr_reflection_test: Fail, OK # Uses dart:html
polymer/test/prop_attr_bind_reflection_test: Fail, OK # Uses dart:html
polymer/test/publish_attributes_test: Fail, OK # Uses dart:html
polymer/test/take_attributes_test: Fail, OK # Uses dart:html
polymer/example: Fail, OK # Uses dart:html

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

[ $compiler == dart2js ]
stack_trace/test/trace_test: Pass, Timeout # Issue 11645

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

[ $compiler == dart2js && $csp ]
unittest/test/mirror_matchers_test: Skip # Issue 12151

# 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.
unittest/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
crypto/test/sha256_test: Slow, Pass
crypto/test/sha1_test: Slow, Pass
polymer/example/component: Fail # Issue 13198

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

[ $browser ]
analyzer_experimental/test/error_test: Fail, Timeout, OK # Uses dart:io.
analyzer_experimental/test/generated/element_test: Fail, OK # Uses dart:io.
analyzer_experimental/test/generated/resolver_test: Fail, OK # Uses dart:io.
analyzer_experimental/test/options_test: Fail, OK, Pass # Uses dart:io.
analyzer_experimental/test/services/formatter_test: Fail, OK # Uses dart:io.
analyzer_experimental/test/parse_compilation_unit_test: Fail, OK # Uses dart:io.
barback/test/*: Fail, OK # Uses dart:io.
http/test/client_test: Fail, OK # Uses dart:io.
http/test/http_test: Fail, OK # Uses dart:io.
http/test/mock_client_test: Fail, OK # Uses dart:io.
http/test/multipart_test: Fail, OK # Uses dart:io.
http/test/request_test: Fail, OK # Uses dart:io.
http/test/response_test: Fail, OK # Uses dart:io.
http/test/streamed_request_test: Fail, OK # 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/message_extraction_test: Fail, OK # Uses dart:io.
intl/test/message_extraction/failed_extraction_test: Fail, OK # Users dart:io
oauth2/test/authorization_code_grant_test: Fail, OK # Uses dart:io.
oauth2/test/client_test: Fail, OK # Uses dart:io.
oauth2/test/credentials_test: Fail, OK # Uses dart:io.
oauth2/test/handle_access_token_response_test: Fail, OK # Uses dart:io.
observe/test/transform_test: Fail, OK # Uses dart:io.
path/test/io_test: Fail, OK # Uses dart:io.
polymer/test/build/*: Fail, OK # Uses dart:io.
watcher/test/*: Fail, OK # Uses dart:io.

scheduled_test/test/descriptor/async_test: Fail # http://dartbug.com/8440
scheduled_test/test/descriptor/directory_test: Fail # http://dartbug.com/8440
scheduled_test/test/descriptor/file_test: Fail # http://dartbug.com/8440
scheduled_test/test/descriptor/nothing_test: Fail # http://dartbug.com/8440
scheduled_test/test/descriptor/pattern_test: 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/abort_test: Fail # http://dartbug.com/8440
scheduled_test/test/scheduled_test/current_schedule_current_task_test: Fail # http://dartbug.com/8440
scheduled_test/test/scheduled_test/current_schedule_errors_test: Fail # http://dartbug.com/8440
scheduled_test/test/scheduled_test/current_schedule_state_test: Fail # http://dartbug.com/8440
scheduled_test/test/scheduled_test/nested_task_test: Fail # http://dartbug.com/8440
scheduled_test/test/scheduled_test/on_complete_test: Fail # http://dartbug.com/8440
scheduled_test/test/scheduled_test/on_exception_test: Fail # http://dartbug.com/8440
scheduled_test/test/scheduled_test/out_of_band_task_test: Fail # http://dartbug.com/8440
scheduled_test/test/scheduled_test/set_up_test: Fail # http://dartbug.com/8440
scheduled_test/test/scheduled_test/signal_error_test: Fail # http://dartbug.com/8440
scheduled_test/test/scheduled_test/simple_test: Fail # http://dartbug.com/8440
scheduled_test/test/scheduled_test/task_return_value_test: Fail # http://dartbug.com/8440
scheduled_test/test/scheduled_test/timeout_test: Fail # http://dartbug.com/8440
scheduled_test/test/scheduled_test/wrap_async_test: Fail # http://dartbug.com/8440
scheduled_test/test/scheduled_test/wrap_future_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

[ $runtime == safari]
 # Bug in JSC: the test only passes when being debugged.
crypto/test/hmac_md5_test: Fail, Pass

[ $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.
unittest/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 || $arch == simmips ]
barback/test/too_many_open_files_test: Pass, Slow
third_party/html5lib/test/tokenizer_test: Pass, Slow
watcher/test/no_subscription_test: Pass, Fail  # Issue 13705.
barback/test/too_many_open_files_test: Pass, Slow

# 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/unittest_async_exception_test: Fail # 13921
unittest/test/unittest_async_setup_teardown_test: Fail # 13921
unittest/test/unittest_completion_test: Fail # 13921
unittest/test/unittest_correct_callback_test: Fail # 13921
unittest/test/unittest_exception_test: Fail # 13921
unittest/test/unittest_excess_callback_test: Fail # 13921
unittest/test/unittest_late_exception_test: Fail # 13921
unittest/test/unittest_middle_exception_test: Fail # 13921
unittest/test/unittest_nested_groups_setup_teardown_test: Fail # 13921
unittest/test/unittest_runtests_without_tests_test: Fail # 13921
unittest/test/unittest_setup_and_teardown_test: Fail # 13921
unittest/test/unittest_setup_test: Fail # 13921
unittest/test/unittest_single_correct_test: Fail # 13921
unittest/test/unittest_single_failing_test: Fail # 13921
unittest/test/unittest_skipped_soloed_nested_test: Fail # 13921
unittest/test/unittest_teardown_test: Fail # 13921
unittest/test/unittest_test_returning_future_test: Fail # 13921
unittest/test/unittest_test_returning_future_using_runasync_test: Fail # 13921
unittest/test/unittest_testcases_immutable_test: Fail # 13921
unittest/test/unitttest_group_name_test: Fail # 13921


# Skip tests on the VM if the package depends on dart:html
[ $runtime == vm ]
custom_element: Skip
mdv: 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

[ $runtime == safari || $runtime == chrome || $runtime == ie9 || $runtime == ff || $runtime == dartium || $runtime == drt ]
docgen/test/single_library_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 # This test should fail, not time out.

# Issue http://dartbug.com/12930
[ $runtime == vm ]
intl/test/message_extraction/message_extraction_test: Pass, Fail # Issue 12930

[ $compiler == none && $runtime == vm ]
observe/test/observe_test: Pass, Fail # Issue 13543

[ $compiler == none && $runtime == vm && $checked ]
intl/test/message_extraction/failed_extraction_test: Pass, Fail # Issue 13543

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

[ $compiler == dartanalyzer ]
# pkg issue 13944; Missing inherited members: 'ListChangeRecord.addedCount' and 'ListChangeRecord.removedCount'
custom_element/test/analyzer_test: fail
mdv/test/analyzer_test: fail
observe/test/observe_test: fail

# pkg issue 13945; Missing inherited member 'Trace.frames'
observe/test/observe_test: fail

[ $compiler == none && ( $runtime == dartium || $runtime == drt ) ]
polymer/test/prop_attr_reflection_test: fail # Issue 14036
