# 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 == dart2dart]
bool_from_environment2_test: Skip
bool_from_environment_default_value_test: Skip
bool_from_environment_test: Skip
int_from_environment2_test: Skip
int_from_environment3_test: Skip
int_from_environment_default_value_test: Skip
int_from_environment_test: Skip
string_from_environment2_test: Skip
string_from_environment3_test: Skip
string_from_environment_default_value: Skip
string_from_environment_test: Skip

[ $compiler == none && ($runtime == drt || $runtime == dartium) ]
bool_from_environment2_test: Skip
bool_from_environment_default_value_test: Skip
bool_from_environment_test: Skip
int_from_environment2_test: Skip
int_from_environment3_test: Skip
int_from_environment_default_value_test: Skip
int_from_environment_test: Skip
string_from_environment2_test: Skip
string_from_environment3_test: Skip
string_from_environment_default_value: Skip
string_from_environment_test: Skip

[ $compiler == dartanalyzer || $compiler == dart2analyzer]
bool_from_environment2_test/01: Fail
bool_from_environment2_test/02: Fail
bool_from_environment2_test/03: Fail
bool_from_environment2_test/04: Fail
int_from_environment3_test/01: Fail
int_from_environment3_test/02: Fail
int_from_environment3_test/03: Fail
int_from_environment3_test/04: Fail
string_from_environment3_test/01: Fail
string_from_environment3_test/02: Fail
string_from_environment3_test/03: Fail
string_from_environment3_test/04: Fail

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

[ $compiler == none && $runtime == drt ]
main_test: Fail  # Dartium needs to check for both main() and main(args).

[ $compiler == none && $runtime == dartium ]
main_test: Fail  # Dartium needs to check for both main() and main(args).

[ $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.
nan_infinity_test/01: Fail # Issue 11551

list_test/01: RuntimeError # Issue 14616

[ $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.
shuffle_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 # Issue 8210

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

[ $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
symbol_test/01: fail # test issue 13730; It is static type warning if "const" instance creation argument type is not compatible with parameter type

[ $compiler == dart2analyzer ]
symbol_test/02: Fail
symbol_test/03: Fail
int_parse_radix_test: fail
list_insert_test: fail
list_removeat_test: fail
symbol_test/01: fail # test issue 13730; It is static type warning if "const" instance creation argument type is not compatible with parameter type

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

[ $compiler == dartanalyzer || $compiler == dart2analyzer ]
collection_to_string_test: StaticWarning
error_stack_trace_test: StaticWarning
iterable_element_at_test: StaticWarning
iterable_test: StaticWarning
list_map_test: StaticWarning
num_clamp_test: StaticWarning
queue_test: StaticWarning
string_codeunits_test: StaticWarning
string_test: StaticWarning
