# 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 6706
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_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.
collection_length_test: Pass, Timeout # Issue 12844

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

[ $compiler == dart2js ]
error_stack_trace1_test: RuntimeError # Issue 12399
hash_set_test/01: RuntimeError # Issue 11551

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

[ $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?
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 == chromeOnAndroid ]
list_as_map_test: Pass, Slow # TODO(kasperl): Please triage.

[ $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: RuntimeError # Generic types aren't right.

[ $compiler == dart2js ]
map_values2_test: RuntimeError # 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: RuntimeError
iterable_to_set_test: RuntimeError

[ $compiler == dart2dart && $minified ]
error_stack_trace1_test: Fail # Fails in minified mode, test depends on method names.

[ $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 == simmips ]
int_parse_radix_test: Skip # Timeout

[ $arch == simmips && $checked ]
collection_length_test: Pass, Timeout

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