# 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 && ($runtime == drt || $runtime == dartium || $runtime == ContentShellOnAndroid) ]
bool_from_environment2_test: Skip
bool_from_environment_test: Skip
from_environment_const_type_test: Skip
from_environment_const_type_undefined_test: Skip
int_from_environment2_test: Skip
int_from_environment3_test: Skip
int_from_environment_test: Skip
string_from_environment2_test: Skip
string_from_environment3_test: Skip
string_from_environment_test: Skip

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

symbol_test/01: Fail, Pass # bug 11669

# #void should be a valid symbol.
[ $compiler == none || $compiler == dart2js ]
symbol_reserved_word_test/02: CompileTimeError # bug 20191
symbol_reserved_word_test/05: CompileTimeError # bug 20191

[ $compiler == none && ($runtime == drt || $runtime == dartium || $runtime == ContentShellOnAndroid) ]
symbol_reserved_word_test/02: RuntimeError # bug 20191 / dartium/drt cannot detect CompileTimeErrors
symbol_reserved_word_test/05: RuntimeError # bug 20191 / dartium/drt cannot detect CompileTimeErrors

# new Symbol('void') should be allowed.
[ $compiler == dart2js ]
symbol_reserved_word_test/03: RuntimeError # bug 19972
int_parse_radix_test/01: Pass, Fail # JS implementations disagree on U+0085 being whitespace.
int_parse_radix_test/02: Fail # No bigints.
double_parse_test/01: Pass, Fail # JS implementations disagree on U+0085 being whitespace.
integer_to_radix_string_test: RuntimeError # issue 22045
int_modulo_arith_test/bignum: RuntimeError # No bigints.
int_modulo_arith_test/modPow: RuntimeError # No bigints.


# With the exception of 'void', const Symbol() should not accept reserved
# words.
[ $compiler == none || $compiler == dart2js ]
symbol_reserved_word_test/04: MissingCompileTimeError # bug 11669, 19972
symbol_reserved_word_test/07: MissingCompileTimeError # bug 11669, 19972
symbol_reserved_word_test/10: MissingCompileTimeError # bug 11669, 19972

[ $compiler == none && ($runtime == drt || $runtime == dartium || $runtime == ContentShellOnAndroid) ]
symbol_reserved_word_test/04: Fail # bug 11669, 19972 / dartium/drt cannot detect CompileTimeErrors
symbol_reserved_word_test/07: Fail # bug 11669, 19972 / dartium/drt cannot detect CompileTimeErrors
symbol_reserved_word_test/10: Fail # bug 11669, 19972 / dartium/drt cannot detect CompileTimeErrors

# With the exception of 'void', new Symbol() should not accept reserved words.
[ $compiler == none ]
symbol_reserved_word_test/06: RuntimeError # bug 11669
symbol_reserved_word_test/09: RuntimeError # bug 11669
symbol_reserved_word_test/12: RuntimeError # bug 11669

[ $compiler == none && $runtime != dartium && $runtime != drt && $runtime != ContentShellOnAndroid ]
symbol_test/02: MissingCompileTimeError # bug 11669
symbol_test/03: MissingCompileTimeError # bug 11669

[ $compiler == none ]
symbol_test/none: Fail # bug 11669
symbol_operator_test/03: Fail # bug 11669
string_case_test/01: Fail # Bug 18061

iterable_return_type_test/01: RuntimeError # Issue 13646
iterable_return_type_test/02: RuntimeError # Issue 13646

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

[ $compiler == none && $runtime == ContentShellOnAndroid ]
core_runtime_types_test: Pass, Fail # Issue 20525

[ $runtime == ff || $runtime == jsshell ]
unicode_test: Fail
# Firefox takes advantage of the ECMAScript number parsing cop-out clause
# (presumably added to allow Mozilla's existing behavior)
# and only looks at the first 20 significant digits.
# The Dart VM and the other ECMAScript implementations follow the correct
# IEEE-754 rounding algorithm.
double_parse_test: Fail, OK

[ $runtime == safari || $runtime == safarimobilesim ]
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 == ff ]
double_round3_test: Pass, Fail, OK # Fails on ff 34, passes on ff 35. Runtime rounds 0.49999999999999994 to 1.
double_round_to_double2_test: Pass, Fail, OK # Fails on ff 34, passes on ff 35. Runtime rounds 0.49999999999999994 to 1.

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

[ $compiler == dart2js ]
growable_list_test: RuntimeError # Fails to detect concurrent modification in addAll.
error_stack_trace1_test: RuntimeError # Issue 12399
hash_set_test/01: RuntimeError # Issue 11551
integer_to_string_test/01: RuntimeError # Issue 1533
iterable_return_type_test/01: RuntimeError # Issue 20085
iterable_return_type_test/02: RuntimeError # Dart2js does not support Uint64*.

big_integer_*: Skip # 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
regexp/pcre_test: Pass, Slow # Issue 21593
regress_r21715_test: RuntimeError # Requires bigint support.

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

[ $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 == dart2js && ($runtime == safari || $runtime == safarimobilesim) ]
string_split_test: RuntimeError # Issue 21431

[ $compiler == dart2js && (($runtime == safari && $builder_tag == mac10_7) || $runtime == safarimobilesim) ]
list_test/01: Fail # Safari bug: Array(-2) seen as dead code.
string_trimlr_test/none: Fail

[ $compiler == dart2js && $runtime == ie10 ]
string_case_test/01: Fail, OK  # Bug in IE.
string_case_test/02: Fail, OK  # Bug in IE.

[ $compiler == dart2js && ($runtime == ff || $runtime == jsshell) ]
string_case_test/01: Fail, OK  # Bug in Firefox.

[ $compiler == dart2js && $runtime == dartium ]
string_case_test/02: Fail, OK  # Bug in dartium version of V8.
string_case_test/03: Fail, OK  # Bug in dartium version of V8.

[ $compiler == dartanalyzer ]
from_environment_const_type_test: Skip # The -D option that defines a constant
# for the Dart vm is not accepted by the deprecated java dartanalyzer.
int_parse_radix_test: Fail, OK # Test contains errors but doesn’t mark them as expected
list_insert_test: Fail, OK # Test contains errors but doesn’t mark them as expected
list_removeat_test: Fail, OK # Test contains errors but doesn’t mark them as expected

# Issue 16391. These tests are supposed to produce a compile time
# error in checked mode, but they don't:
[ $compiler == dartanalyzer && $checked ]
from_environment_const_type_test/02: MissingCompileTimeError # Issue 16391
from_environment_const_type_test/03: MissingCompileTimeError # Issue 16391
from_environment_const_type_test/04: MissingCompileTimeError # Issue 16391
from_environment_const_type_test/06: MissingCompileTimeError # Issue 16391
from_environment_const_type_test/07: MissingCompileTimeError # Issue 16391
from_environment_const_type_test/08: MissingCompileTimeError # Issue 16391
from_environment_const_type_test/09: MissingCompileTimeError # Issue 16391
from_environment_const_type_test/11: MissingCompileTimeError # Issue 16391
from_environment_const_type_test/12: MissingCompileTimeError # Issue 16391
from_environment_const_type_test/13: MissingCompileTimeError # Issue 16391
from_environment_const_type_test/14: MissingCompileTimeError # Issue 16391
from_environment_const_type_test/16: MissingCompileTimeError # Issue 16391
from_environment_const_type_undefined_test/02: MissingCompileTimeError # Issue 16391
from_environment_const_type_undefined_test/03: MissingCompileTimeError # Issue 16391
from_environment_const_type_undefined_test/04: MissingCompileTimeError # Issue 16391
from_environment_const_type_undefined_test/06: MissingCompileTimeError # Issue 16391
from_environment_const_type_undefined_test/07: MissingCompileTimeError # Issue 16391
from_environment_const_type_undefined_test/08: MissingCompileTimeError # Issue 16391

# Analyzer's implementation of fromEnvironment assumes that undefined
# environment variables have an unspecified value (rather than being
# null) because it is expected that the user will supply a value when
# the code is run.  This means that it produces slightly different
# error messages than the VM and Dart2js.
[ $compiler == dart2analyzer && $checked ]
from_environment_const_type_undefined_test/09: CompileTimeError
from_environment_const_type_undefined_test/11: CompileTimeError
from_environment_const_type_undefined_test/12: CompileTimeError
from_environment_const_type_undefined_test/13: CompileTimeError
from_environment_const_type_undefined_test/14: CompileTimeError
from_environment_const_type_undefined_test/16: CompileTimeError

[ $compiler == dart2analyzer ]
int_parse_radix_test: fail
list_insert_test: fail
list_removeat_test: fail

[ $compiler == dartanalyzer || $compiler == dart2analyzer ]
hash_set_type_check_test: StaticWarning, OK # Tests failing type tests.
error_stack_trace_test: StaticWarning, OK # Test generates errors on purpose.
iterable_element_at_test: StaticWarning, OK # Test generates errors on purpose.
num_clamp_test: StaticWarning, OK # Test generates errors on purpose.
string_test: StaticWarning, OK # Test generates error on purpose.
duration2_test: StaticWarning, OK # Test generates error on purpose.

[ $system == windows && $arch == x64 ]
stopwatch_test: Skip  # Flaky test due to expected performance behaviour.

[ $runtime != d8 && $runtime != vm ]
# The regexp tests are not verified to work on non d8/vm platforms yet.
regexp/*: Skip

[ $runtime == vm ]
regexp/global_test: Skip # Timeout. Issue 21709 and 21708

[ $mode == debug ]
regexp/pcre_test: Pass, Slow # Timeout. Issue 22008

[ $runtime == vm && $arch == simarmv5te ]
int_parse_radix_test/*: Pass, Slow
big_integer_parsed_mul_div_vm_test: Pass, Slow

[ $compiler == dart2js && $cps_ir ]
error_stack_trace1_test: Pass # H.unwrapException(...).get$stackTrace is not a function
iterable_empty_test: RuntimeError # Please triage this failure.
iterable_return_type_test/none: RuntimeError # Please triage this failure.
iterable_to_list_test: RuntimeError # Please triage this failure.
iterable_to_set_test: RuntimeError # Please triage this failure.
list_filled_type_argument_test: RuntimeError # Please triage this failure.
list_test/01: RuntimeError # this.get$length is not a function
list_test/none: RuntimeError # this.get$length is not a function
list_unmodifiable_test: RuntimeError # Please triage this failure.
map_values2_test: RuntimeError # Please triage this failure.
map_values3_test: RuntimeError # Please triage this failure.
map_values4_test: RuntimeError # Please triage this failure.
regexp/pcre_test: Crash # Stack Overflow
shuffle_test: RuntimeError # this.get$length is not a function
string_fromcharcodes_test: RuntimeError # this.get$length is not a function
symbol_operator_test/03: RuntimeError # Please triage this failure.
symbol_reserved_word_test/03: Pass # Please triage this failure.
symbol_reserved_word_test/06: RuntimeError # Please triage this failure.
symbol_reserved_word_test/09: RuntimeError # Please triage this failure.
symbol_reserved_word_test/12: RuntimeError # Please triage this failure.
symbol_test/none: RuntimeError # Expected a NoSuchMethodError or a TypeError
