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

# Run this test manually to verify that the fixnum library produces
# the same results as native ints on a set of directed and random inputs.
# Skip it when running automated tests because it times out.  This
# test only makes sense on runtimes that support 64-bit integer
# arithmetic natively, i.e., the VM.
fixnum/test/int_64_vm_test: Skip

# Skip the cURL tests until we have bundled binaries to run them on all
# platforms.
http/test/curl_client_test: Skip

[$compiler == dart2dart]
*: Skip

# Don't compiile tests that use dart:io to JS
[ $compiler == dart2js || $compiler == dart2dart || $compiler == dartc ]
http/test/*: Skip

# Skip tests that use local file access if we're running in any browser
[ $runtime == opera || $runtime == ff || $runtime == ie9 || $runtime == dartium || $runtime == chrome || $runtime == safari || $runtime == drt ]
http/test/*: Skip
intl/test/date_time_format_file_even_test: Skip
intl/test/date_time_format_file_odd_test: Skip
intl/test/find_default_locale_standalone_test: Skip

[ $runtime == opera && $compiler == dart2js ]
intl/test/find_default_locale_browser_test: Fail
intl/test/date_time_format_http_request_test: Skip # Timeout.

# Skip browser-specific Intl tests on VM
[ $runtime == vm ]
intl/test/find_default_locale_browser_test: Skip
intl/test/date_time_format_http_request_test: Skip

# Skip http request tests on Dartium while resolving an odd
# error there that causes the tests to timeout.
[ $runtime == dartium || $runtime == drt ]
intl/test/date_time_format_http_request_test: Skip

# Skip intl_message tests that use mirrors on dart2js until it's been
# implemented there.
[ $compiler == dart2js ]
intl/test/intl_message_test: Skip
intl/test/intl_message_basic_example_test: Skip

[ $compiler == dartc ]
unittest/test/mock_regexp_negative_test: Fail
unittest/test/mock_stepwise_negative_test: Fail

[ $system == windows ]
http/test/request_test: Pass, Timeout # Issue 6594

[ $compiler == dart2js || $compiler == dartc ]
unittest/test/instance_test: Skip

[ $compiler == none && $runtime == drt ]
dartdoc/test/dartdoc_test: Skip # See dartbug.com/4541.

