# 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, Fail, Slow, Crash # Issue 9231, 9582
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: Fail #Issue 12341

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

[ $compiler == dart2js && $runtime == drt ]
crypto/test/hmac_sha256_test: Pass, Fail # v8 bug: Issue 12293
crypto/test/sha1_test: Pass, Fail # v8 bug: Issue 12293
crypto/test/sha256_test: Pass, Fail # v8 bug: Issue 12293
path/test/relative_test: Pass, Fail # v8 bug: Issue 12293

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

[$compiler == dart2dart]
*: Skip

[ $compiler == dart2js || $compiler == dart2dart ]
source_maps/test/vlq_test: Fail # 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 == ff ]
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

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