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

[ $compiler == dart2js ]
math/*: Skip
mirrors/class_mirror_type_variables_test: Fail # Issue 12087
mirrors/invoke_private_test: Fail # Issue 12164
mirrors/function_type_mirror_test: Fail # Issue 12166
mirrors/method_mirror_name_test: Fail # Issue 6335
mirrors/method_mirror_properties_test: Fail # Issue 11861
mirrors/method_mirror_returntype_test : Fail # Issue 11928
mirrors/mirrors_test: Fail # TODO(ahe): I'm working on fixing this.
mirrors/null_test : Fail # Issue 12129
mirrors/library_uri_io_test: Skip # Not intended for dart2js as it uses dart:io.
async/run_async3_test: Fail # _enqueueImmediate runs after Timer. http://dartbug.com/9002
async/run_async4_test: Pass, Fail # no global exception handler in isolates. http://dartbug.com/9012
async/run_async6_test: Fail # global error handling is not supported. http://dartbug.com/5958
async/stream_controller_async_test: Fail, Pass # http://dartbug.com/11953


[ $compiler == dart2js && ($runtime == d8) ]
typed_data/byte_data_test: Fail, OK # d8 doesn't support DataView

[ $csp ]
mirrors/*: Skip # Issue 6490

[ $compiler == dart2js && $jscl ]
async/future_test: Fail # Timer interface not supported; dartbug.com/7728.
async/slow_consumer2_test: Fail # Timer interface not supported; dartbug.com/7728.
async/slow_consumer3_test: Fail # Timer interface not supported; dartbug.com/7728.
async/slow_consumer_test: Fail # Timer interface not supported; dartbug.com/7728.
async/stream_from_iterable_test: Fail # Timer interface not supported; dartbug.com/7728.
async/stream_state_nonzero_timer_test: Fail # Timer interface not supported; dartbug.com/7728.
async/multiple_timer_test: Fail,OK # Needs Timer to run.
async/timer_cancel_test: Fail,OK # Needs Timer to run.
async/timer_cancel1_test: Fail,OK # Needs Timer to run.
async/timer_cancel2_test: Fail,OK # Needs Timer to run.
async/timer_isolate_test: Fail, OK # Needs Timer to run.
async/timer_repeat_test: Fail,OK # Needs Timer to run.
async/timer_test: Fail,OK # Needs Timer to run.

[ $compiler == dart2js && ($jscl || $runtime == d8) ]
async/stream_controller_async_test: Fail # Timer interface not supported; dartbug.com/7728.
async/stream_periodic_test: Fail # Timer interface not supported; dartbug.com/7728.
async/stream_periodic2_test: Fail # Timer interface not supported; dartbug.com/7728.
async/stream_periodic3_test: Fail # Timer interface not supported; dartbug.com/7728.
async/stream_periodic4_test: Fail # Timer interface not supported; dartbug.com/7728.
async/stream_periodic5_test: Fail # Timer interface not supported; dartbug.com/7728.
async/run_zoned7_test: Fail # Timer interface not supported: dartbug.com/7728.
async/catch_errors22_test: Fail # Timer interface not supported: dartbug.com/7728.
async/timer_isActive_test: Fail # Timer interface not supported: dartbug.com/7728.

[ $compiler == dart2js && $browser ]
async/timer_not_available_test: Fail, OK # only meant to test when there is no way to
                                         # implement timer (currently only in d8)

[ $compiler == dart2dart ]
mirrors/*: Skip # http://dartbug.com/11511
async/run_async6_test: Fail             # Issue 10957 - may be related to issue 10910

[ $compiler == dart2dart && $minified ]
json/json_test: Fail                            # Issue 10961

[ $runtime == ff ]
# FF setTimeout can fire early: https://bugzilla.mozilla.org/show_bug.cgi?id=291386
multiple_timer_test: Pass, Fail
timer_isolate_test: Pass, Fail
timer_test: Pass, Fail
convert/chunked_conversion_utf88_test: Pass, Timeout  # Issue 12029
convert/streamed_conversion_utf8_encode_test: Pass, Timeout  # Issue 12029

[ $runtime == ie9 ]
# IE9 doesn't support typed arrays.
typed_data/*: Fail # Issue 11971
convert/chunked_conversion_utf88_test: Pass, Slow  # Issue 12029

[ $runtime == opera ]
async/multiple_timer_test: Pass, Fail

[ $runtime == opera && $system == windows]
# TODO(efortuna): Investigate.
async/timer_test: Fail, Pass

[ $runtime == vm ]
async/timer_not_available_test: Fail, OK # only meant to test when there is no way to
                                         # implement timer (currently only in d8)
async/timer_isolate_test: Skip # See Issue 4997
mirrors/native_class_test: Fail, OK # This test is meant to run in a browser.

[ $runtime == vm || ($compiler == none && $runtime == drt) ]
async/run_async3_test: Fail # _enqueueImmediate runs after Timer. http://dartbug.com/9001.
mirrors/parameter_test: Fail # http://dartbug.com/11567
mirrors/operator_test: Fail # http://dartbug.com/11944
mirrors/null_test: Fail # Issue 12128

[ $compiler == none && $runtime == drt ]
async/timer_isolate_test: Skip # See Issue 4997
async/timer_not_available_test: Skip # only meant to test when there is no way to
                                     # implement timer (currently only in d8)
mirrors/library_uri_io_test: Skip # Not intended for drt as it uses dart:io.
mirrors/local_isolate_test: Skip # http://dartbug.com/12188
async/run_async6_test: Fail # Issue 10910

[ $compiler == none && $runtime == drt && $system == windows ]
async/multiple_timer_test: Fail, Pass # See Issue 10982
async/timer_test: Fail, Pass # See Issue 10982

[ $arch == mips ]
*: Skip

[ $arch == simmips ]
convert/chunked_conversion_utf88_test: Pass, Slow # Issue 12025.
convert/streamed_conversion_json_utf8_decode_test: Pass, Slow
