# 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 && $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.
sequence_zip/test/stream_test: Pass, Fail # Flaky, issue 12873

[ $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/test/attr_deserialize_test: Fail # Issue 12865, 13197
polymer/test/attr_mustache_test: Fail # Issue 12865, 13197
polymer/test/event_path_test: Fail # Issue 12865, 13197
polymer/test/events_test: Fail # Issue 12865, 13197
polymer/test/prop_attr_reflection_test: Fail # Issue 12865, 13197

[ $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/publish_attributes_test: Fail, Timeout # Issue 12865, 13197, 13260
polymer/test/take_attributes_test: Fail, Timeout # Issue 12865, 13197, 13260

[ $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/prop_attr_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/prop_attr_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, 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 ]
watcher/test/no_subscription_test: Pass, Fail  # Issue 13705.

[ $arch == simarm || $arch == simmips ]
third_party/html5lib/test/tokenizer_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

# 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
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
