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

[ $runtime == vm && $arch == simarm64 ]
*: Skip

[ $compiler == none || $compiler == dart2dart ]
serialization_test: SkipByDesign # Tests dart2js-specific serialization code
isolate_throws_test/01: Skip # Issue 12587
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.

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