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

[ $runtime == vm ]
browser/*: SkipByDesign  # Browser specific tests
isolate_stress_test: Fail # Issue 12588: This should be able to pass when we have wrapper-less tests.

[ $runtime == vm && $arch == mips && $mode == debug ]
mandel_isolate_test: Skip # Uses 600 MB Ram on our 1 GB test device.

[ $compiler == none || $compiler == dart2dart ]
serialization_test: SkipByDesign # Tests dart2js-specific serialization code
compile_time_error_test/01: Skip # Issue 12587
capability_test: Fail   # Not implemented yet
pause_test: Fail        # Not implemented yet
start_paused_test: Fail # Not implemented yet
ondone_test: Skip       # Not implemented yet, hangs.
ping_test: Fail         # Not implemented yet
ping_pause_test: Fail   # Not implemented yet
kill_test: Skip         # Not implemented yet, hangs.
kill2_test: Skip        # Not implemented yet, hangs.
kill3_test: Skip        # Not implemented yet, hangs.
kill_self_test: Skip    # Not implemented yet, hangs.
handle_error_test: Skip # Not implemented yet, hangs.
handle_error2_test: Skip # Not implemented yet, hangs.
handle_error3_test: Skip # Not implemented yet, hangs.

[ $compiler == dart2js && $jscl ]
browser/*: SkipByDesign  # Browser specific tests

[ $compiler == dart2js && $runtime == jsshell ]
pause_test: Fail  # non-zero timer not supported.

[ $compiler == dart2js ]
serialization_test: RuntimeError # Issue 1882, tries to access class TestingOnly declared in isolate_patch.dart

[ $compiler == dart2js && $runtime == ie9 ]
browser/typed_data_message_test: Fail # Issue 12624

[ $compiler == dart2js && $runtime == safari ]
cross_isolate_message_test: Skip # Issue 12627
message_test: Skip # Issue 12627

[ $compiler == dart2js ]
spawn_uri_vm_test: SkipByDesign # Test uses a ".dart" URI.
spawn_uri_nested_vm_test: SkipByDesign # Test uses a ".dart" URI.

[ $compiler == dart2js && $jscl ]
spawn_uri_test: SkipByDesign # Loading another file is not supported in JS shell

[ $compiler == dart2js && $runtime == ie9 ]
spawn_uri_test: Fail # Issue 12630

[ $compiler == dart2js && $runtime == none ]
serialization_test: Pass # Issue 12628

[ $compiler == dart2js && $runtime == chromeOnAndroid ]
isolate_stress_test: Pass, Slow # TODO(kasperl): Please triage.

mandel_isolate_test: Pass, Timeout # TODO(kasperl): Please triage.

[ $compiler == dart2dart ]
illegal_msg_mirror_test: RuntimeError    # Issue 16548
spawn_uri_multi_test/none: RuntimeError  # Issue 16549
spawn_uri_nested_vm_test: RuntimeError   # Issue 16549
spawn_uri_test: RuntimeError             # Issue 16549
spawn_uri_vm_test: RuntimeError          # Issue 16549

[ $compiler == dart2js && ( $runtime == ff || $runtime == safari || $runtime == drt || $runtime == chrome || $runtime == chromeOnAndroid) ]
isolate_stress_test: Pass, Slow # Issue 10697

[ $compiler == dart2js && $runtime == chromeOnAndroid ]
unresolved_ports_test: Pass, Timeout # Issue 15610

[ $compiler == none && $runtime == drt ]
isolate_stress_test: Skip # Issue 14463
spawn_uri_nested_vm_test: Skip # Issue 14463

[ $jscl || $runtime == ie9 ]
spawn_uri_multi_test/none: RuntimeError # http://dartbug.com/13544

[ $compiler == none && $runtime == dartium ]
spawn_uri_nested_vm_test: Skip # Issue 14479: This test is timing out.

[ $compiler == none && $runtime == dartium ]
isolate_stress_test: Skip # Issue 14463

[ $compiler == none && ( $runtime == dartium || $runtime == drt ) ]
compile_time_error_test/none: Fail, OK # Issue 13921 Dom isolates don't support spawnFunction
isolate_import_test/none: Fail, OK # Issue 13921 Dom isolates don't support spawnFunction
simple_message_test/none: Fail, OK # Issue 13921 Dom isolates don't support spawnFunction

[ $compiler == dartanalyzer || $compiler == dart2analyzer ]
browser/typed_data_message_test: StaticWarning
mint_maker_test: StaticWarning
serialization_test: StaticWarning
