# 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 && $runtime == drt ]
convert/chunked_conversion_utf87_test: Pass, Fail # v8 bug: Issue 12293
typed_data/byte_data_test: Pass, Fail # v8 bug: Issue 12293

[ $compiler == dart2js ]
math/double_pow_test: Fail
math/low_test: Fail
math/random_test: Fail
mirrors/invoke_test: Fail # Issue 11954
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/generics_test: Fail # Issue 12333
mirrors/fake_function_test: Fail # Issue 11612
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_metadata_test: Fail # Issue 10905
mirrors/library_uri_io_test: Skip # Not intended for dart2js as it uses dart:io.
mirrors/reflected_type_test: Fail # Issue 12607
mirrors/unnamed_library_test: Fail # Issue 10580
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


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

[ $compiler == dart2js && $runtime != jsshell && $runtime != safari && $runtime != ff && $runtime != ie9 && $runtime != ie10]
math/math_test: Fail
math/math2_test: Fail

[ $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, Timeout  # Issue 12029
convert/streamed_conversion_utf8_encode_test: Pass, Timeout  # Issue 12029
convert/streamed_conversion_json_utf8_decode_test: Pass, Timeout # Issue 12029
async/deferred/deferred_api_test: Pass, Timeout # 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/mixin_test: Fail # TODO(ahe): This test is slightly broken. http://dartbug.com/12464
mirrors/hierarchy_test: Fail # TODO(ahe): This test is slightly broken. http://dartbug.com/12464

[ $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 == simmips || $arch == mips ]
convert/chunked_conversion_utf88_test: Pass, Slow # Issue 12025.
convert/streamed_conversion_json_utf8_decode_test: Pass, Slow

[ $arch == simarm || $arch == arm ]
typed_data/uint32x4_arithmetic_test: Crash # Unimplemented

