# 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 == none ]
unicode_test: Fail        # Bug 5163868
*dartc_test: Skip
compare_to2_test: Fail    # Bug 4018
null_test: Fail           # Bug 5511
null_nosuchmethod_test: Fail # Bug 5518
apply_test: Fail # Bug 5670
apply2_test: Fail # Bug 5670

[ $runtime == ff || $runtime == ie ]
unicode_test: Fail

# TODO(jmesserly): now that we have a bot, we need to set up Opera testing.
[ $runtime == opera ]
*: Skip

[ $runtime == ie && ($system == linux || $system == macos) ]
*: Skip

[ $runtime == safari && ($system == linux || $system == windows) ]
*: Skip

[ $arch == simarm ]
*: Skip

[ $arch == arm ]
*: Skip

[ $compiler == dart2js && $checked ]
*: Skip

[ $compiler == dart2js ]
math_parse_double_test: Fail # Expect.equals(expected: <78187493520>, actual: <0>)
math_test: Fail # issue 3333

# Bad test, assumes RegExp.allMatches returns a Collection.
reg_exp_all_matches_test: Fail, OK # NoSuchMethodError : method not found: 'forEach'

reg_exp4_test: Fail, OK # Expects exception from const constructor.

big_integer_vm_test: Fail, OK # VM specific test.
compare_to2_test: Fail, OK    # Requires bigint support.
string_base_vm_test: Fail, OK # VM specific test.

null_nosuchmethod_test: Fail # Bug 5513

[ $compiler == dart2js && $runtime == none ]
*: Fail, Pass # TODO(ahe): Triage these tests.

[ $compiler == dart2js && $runtime == safari ]
core_runtime_types_test: Fail

[ $compiler == dart2js && $runtime == ff && $system == windows ]
null_test: Fail # http://dartbug.com/5523

[ $compiler == dart2js && $runtime == ie ]
date_time7_test: Fail # BUG(3304): Maybe this doesn't time out?
reg_exp_all_matches_test: Fail # BUG(3304): Maybe this doesn't time out?
string_base_vm_test: Fail # BUG(3304): Maybe this doesn't time out?

[ $compiler == dart2dart ]
apply_test: Fail # inherited from VM
apply2_test: Fail # inherited from VM
compare_to2_test: Fail # inherited from VM
null_nosuchmethod_test: Fail # inherited from VM
null_test: Fail # inherited from VM
unicode_test: Fail # inherited from VM
