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

[ $runtime == ie9 || $runtime == ie10 ]
polymer/test/events_test: Fail, Timeout # Issue 12865, 13197, 13260
polymer/test/event_path_test: Fail, Timeout # Issue 12865, 13197, 13260

[ $system == windows && ($runtime == chrome || $runtime == ff) ]
polymer/test/events_test: Pass, Timeout # Issue 13260
polymer/test/event_path_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/events_test: Fail, OK # Uses dart:html
polymer/test/event_path_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.
polymer/test/utils_test: 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 == arm ]
*: Skip

[ $arch == simarm ]
*: Skip

[ $arch == mips ]
*: Skip

[ $arch == simmips ]
*: 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

# 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
