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

reg_exp_unicode_2_test: Fail # Bug 6592

[ $compiler == none ]
unicode_test: Fail        # Bug 6706
*dartc_test: Skip
compare_to2_test: Fail    # Bug 4018

symbol_test/01: Fail, Pass # bug 11669
symbol_test/02: Fail, Pass # bug 11669
symbol_test/03: Fail, Pass # bug 11669

[ $compiler == none || $compiler == dart2dart ]
symbol_test/none: Fail # bug 11669
error_stack_trace_test: Fail  # Bug http://dartbug.com/11680
error_stack_trace2_test: Fail  # Bug 5802

[ $runtime == ff || $runtime == ie9 || $runtime == jsshell ]
unicode_test: Fail

[ $runtime == ff || $runtime == ie9 || $runtime == jsshell || $runtime == safari ]
double_round3_test: Fail, OK # Runtime rounds 0.49999999999999994 to 1.
double_round_to_double2_test: Fail, OK # Runtime rounds 0.49999999999999994 to 1.

[ $runtime == ie9 ]
double_round4_test: Fail, OK # IE bug: Math.round(4503599627370497) != 4503599627370497.
double_round_to_double3_test: Fail, OK # IE bug: Math.round(4503599627370497) != 4503599627370497.

[ $compiler == dart2js && ($runtime == chrome || $runtime == drt || $runtime == d8 || $runtime == safari) ]
string_trim_unicode_test: Fail  # V8 bug 2408

[ $runtime == opera ]
core_runtime_types_test: Fail
null_nosuchmethod_test: Fail # Issue: 7413
date_time7_test: Fail
unicode_test: Fail

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

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

[ $runtime == vm ]
string_trim_unicode_test: Fail  # Bug 6569

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

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.

string_replace_func_test: Skip # Bug 6554 - doesn't terminate.

error_stack_trace_test: Fail  # Bug http://dartbug.com/11681
error_stack_trace2_test: Fail  # Bug http://dartbug.com/11681

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

[ $compiler == dart2js && $runtime == ie9 ]
date_time7_test: Fail # BUG(3304): Maybe this doesn't time out?
json_strict_test: Fail # IE parses slightly harmless no-standard JSON.
string_base_vm_test: Fail # BUG(3304): Maybe this doesn't time out?
list_test: Fail # IE doesn't support typed data.

[ $compiler == dart2js && ($runtime == firefox || $runtime == safari || $runtime == chrome || $runtime == drt) ]

[ $compiler == dart2dart ]
compare_to2_test: Fail # inherited from VM
unicode_test: Fail # inherited from VM


# Library changes
[ $compiler == none || $compiler == dart2js || $compiler == dart2dart ]
map_keys2_test: Fail # Generic types aren't right.

[ $compiler == dart2js ]
map_values2_test: Fail # Generic types aren't right

## Tests failing after merge of experimental library branch.
[ $compiler == dart2js ]
# Tests fail due to bug in generics on constants, issue 6827
iterable_to_list_test: Fail
iterable_to_set_test: Fail

[ $compiler == dartanalyzer ]
symbol_test/02: Fail
symbol_test/03: Fail
int_parse_radix_test: fail
list_insert_test: fail
list_removeat_test: fail

[ $compiler == dart2analyzer ]
symbol_test/02: Fail
symbol_test/03: Fail
int_parse_radix_test: fail
list_insert_test: fail
list_removeat_test: fail

[ $arch == arm ]
collection_to_string_test: Pass, Crash # Issue: 11207

[ $arch == simarm && $mode == debug ]
collection_to_string_test: Pass, Crash # Issue: 11207

[ $arch == mips ]
*: Skip

[ $arch == simmips ]
int_parse_radix_test: Skip # Timeout

[ $arch == simmips && $checked ]
hash_map2_test: Pass, Crash # Too far PC relative branch (?)
list_test: Pass, Crash # Invalid relative branch offset. Issue 11851.
collection_length_test: Pass, Timeout

[ $arch == simmips && $mode == debug ]
collection_to_string_test: Pass, Crash # Issue: 11207
