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

[ $compiler == none ]
serialization_test: SkipByDesign # Tests dart2js-specific serialization code
isolate2_negative_test: Skip  # Issue 12587.
isolate3_negative_test: Skip  # Issue 12587.

[ $analyzer ]
isolate2_negative_test: Fail
isolate_import_negative_test: Fail
unresolved_ports_test: Pass

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

[ $compiler == dart2js && $runtime == drt ]
unresolved_ports_negative_test: Pass, Crash # Issue 10613
isolate_stress_test: Pass, Crash # Issue 14438

[ $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 && $runtime == opera ]
isolate2_negative_test: Skip # Issue 12625
unresolved_ports_negative_test: Skip # Issue 12626

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

[ $compiler == dart2js && $browser ]
isolate2_negative_test: Fail, Pass # Issue 7769

[ $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 ]
spawn_function_negative_test: Fail # Issue 12628
unresolved_ports_negative_test: Fail # Issue 12628
isolate_negative_test: Fail # Issue 12628
serialization_test: Pass # Issue 12628
isolate_import_negative_test: Fail # Issue 12628
isolate2_negative_test: Fail # Issue 12628
illegal_msg_function_test: Pass # Issue 12628
illegal_msg_mirror_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 ]
*: Skip # Issue 12629

[ $compiler == dart2js && $runtime == ff && ($system == windows || $system == linux) ]
mandel_isolate_test: Pass, Fail, Timeout # Issue 7952

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

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

[ $csp ]
spawn_uri_multi_test/none: Fail # http://dartbug.com/13454
spawn_uri_test: Fail # http://dartbug.com/13454

[ $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 == drt || $runtime == dartium) ]
# Issue 13921: spawnFunction is not allowed on Dartium's DOM thread.
browser/compute_this_script_browser_test: Fail
browser/typed_data_message_test: Skip # 13961
count_test: Fail
cross_isolate_message_test: Fail
illegal_msg_function_test: Fail
illegal_msg_mirror_test: Fail
isolate_complex_messages_test: Fail
isolate_stress_test: Fail
mandel_isolate_test: Fail
message2_test: Fail
message_test: Fail
mint_maker_test: Fail
nested_spawn2_test: Fail
nested_spawn_test: Fail
raw_port_test: Fail
request_reply_test: Fail
spawn_function_custom_class_test: Fail
spawn_function_test: Fail
stacktrace_message_test: Fail
unresolved_ports_test: Fail
static_function_test: Fail

[ $compiler == dartanalyzer || $compiler == dart2analyzer ]
browser/typed_data_message_test: StaticWarning
isolate3_negative_test: CompileTimeError
isolate_import_negative_test: CompileTimeError
mint_maker_test: StaticWarning
serialization_test: StaticWarning
unresolved_ports_test: StaticWarning

