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

maps_test: Skip # Maps class no longer exists

[ $compiler == dart2analyzer ]
*: Skip

[ $compiler == dart2js ]
error_stack_trace1_test: RuntimeError # Issue 12399
regexp/pcre_test: Pass, Slow # Issue 21593

[ $compiler == precompiler ]
apply3_test: SkipByDesign # Imports dart:mirrors
big_integer_huge_mul_vm_test: Pass, Timeout # --no_intrinsify
big_integer_parsed_mul_div_vm_test: Pass, Timeout # --no_intrinsify
int_parse_radix_test: Pass, Timeout # --no_intrinsify
regexp/stack-overflow_test: RuntimeError, OK # Smaller limit with irregex interpreter

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

[ $runtime == d8 ]
uri_base_test: RuntimeError # d8 preamble uses custom URI scheme "org-dartlang-d8-preamble:".

[ $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 == flutter ]
apply3_test: CompileTimeError # No support for mirrors
bool_from_environment_test: Fail # Flutter Issue 9111
format_exception_test: RuntimeError # Flutter Issue 9111
from_environment_const_type_test/01: Fail # Flutter Issue 9111
from_environment_const_type_test/02: MissingCompileTimeError # Flutter Issue 9111
from_environment_const_type_test/03: MissingCompileTimeError # Flutter Issue 9111
from_environment_const_type_test/04: MissingCompileTimeError # Flutter Issue 9111
from_environment_const_type_test/05: Fail # Flutter Issue 9111
from_environment_const_type_test/06: MissingCompileTimeError # Flutter Issue 9111
from_environment_const_type_test/07: MissingCompileTimeError # Flutter Issue 9111
from_environment_const_type_test/08: MissingCompileTimeError # Flutter Issue 9111
from_environment_const_type_test/09: MissingCompileTimeError # Flutter Issue 9111
from_environment_const_type_test/10: Fail # Flutter Issue 9111
from_environment_const_type_test/11: MissingCompileTimeError # Flutter Issue 9111
from_environment_const_type_test/12: MissingCompileTimeError # Flutter Issue 9111
from_environment_const_type_test/13: MissingCompileTimeError # Flutter Issue 9111
from_environment_const_type_test/14: MissingCompileTimeError # Flutter Issue 9111
from_environment_const_type_test/15: Fail # Flutter Issue 9111
from_environment_const_type_test/16: MissingCompileTimeError # Flutter Issue 9111
from_environment_const_type_test/none: Fail # Flutter Issue 9111
int_from_environment2_test: Fail # Flutter Issue 9111
int_from_environment_test: Fail # Flutter Issue 9111
main_test: RuntimeError # Flutter Issue 9111
string_from_environment2_test: Fail # Flutter Issue 9111
string_from_environment_test: Fail # Flutter Issue 9111

[ $runtime == jsshell ]
string_case_test/01: RuntimeError # jsshell does not recognize character 223 aka \xdf
unicode_test: RuntimeError # jsshell does not recognize character 223 aka \xdf

[ $runtime != none ]
map_from_test: Fail # Assumes LinkedHashMap implements HashMap.

[ $runtime == safari ]
double_round3_test: RuntimeError
double_round_to_double2_test: Pass, Fail, OK
string_trimlr_test/unicode63: RuntimeError # Uses Unicode 6.2.0 or earlier.

[ $fasta ]
symbol_reserved_word_test/04: MissingCompileTimeError
symbol_reserved_word_test/07: MissingCompileTimeError
symbol_reserved_word_test/10: MissingCompileTimeError
symbol_test/02: MissingCompileTimeError
symbol_test/03: MissingCompileTimeError

[ $strong ]
*: SkipByDesign # tests/corelib_2 has the strong mode versions of these tests.

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

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

[ $compiler != dart2analyzer && $runtime != dart_precompiled && $runtime != vm ]
data_resource_test: RuntimeError # Issue 23825 (not implemented yet).
file_resource_test: Skip, OK # VM specific test, uses dart:io.
http_resource_test: Skip, OK # VM specific test, uses dart:io.

[ $compiler == dart2js && $runtime == chromeOnAndroid ]
list_as_map_test: Pass, Slow # TODO(kasperl): Please triage.
string_trimlr_test/unicode63: RuntimeError # Uses Unicode 6.2.0 or earlier.

[ $compiler == dart2js && $runtime == drt ]
string_trimlr_test/unicode63: RuntimeError # Uses Unicode 6.2.0 or earlier.

[ $compiler == dart2js && $runtime == drt && $csp && $minified ]
core_runtime_types_test: Pass, Fail # Issue 27913

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

[ $compiler == dart2js && !$browser ]
package_resource_test: RuntimeError # Issue 26842

[ $compiler == dart2js && $checked && $fasta ]
from_environment_const_type_test/02: MissingCompileTimeError
from_environment_const_type_test/03: MissingCompileTimeError
from_environment_const_type_test/04: MissingCompileTimeError
from_environment_const_type_test/06: MissingCompileTimeError
from_environment_const_type_test/07: MissingCompileTimeError
from_environment_const_type_test/08: MissingCompileTimeError
from_environment_const_type_test/09: MissingCompileTimeError
from_environment_const_type_test/11: MissingCompileTimeError
from_environment_const_type_test/12: MissingCompileTimeError
from_environment_const_type_test/13: MissingCompileTimeError
from_environment_const_type_test/14: MissingCompileTimeError
from_environment_const_type_test/16: MissingCompileTimeError
from_environment_const_type_undefined_test/02: MissingCompileTimeError
from_environment_const_type_undefined_test/03: MissingCompileTimeError
from_environment_const_type_undefined_test/04: MissingCompileTimeError
from_environment_const_type_undefined_test/06: MissingCompileTimeError
from_environment_const_type_undefined_test/07: MissingCompileTimeError
from_environment_const_type_undefined_test/08: MissingCompileTimeError

[ $compiler == dart2js && $fast_startup ]
apply3_test: Fail # mirrors not supported

[ $compiler == dart2js && $fasta ]
apply3_test: RuntimeError # mirrors not supported
big_integer_arith_vm_test/add: RuntimeError
big_integer_arith_vm_test/div: RuntimeError
big_integer_arith_vm_test/gcd: RuntimeError
big_integer_arith_vm_test/mod: RuntimeError
big_integer_arith_vm_test/modInv: RuntimeError
big_integer_arith_vm_test/modPow: RuntimeError
big_integer_arith_vm_test/mul: RuntimeError
big_integer_arith_vm_test/negate: RuntimeError
big_integer_arith_vm_test/none: RuntimeError
big_integer_arith_vm_test/overflow: RuntimeError
big_integer_arith_vm_test/shift: RuntimeError
big_integer_arith_vm_test/sub: RuntimeError
big_integer_arith_vm_test/trunDiv: RuntimeError
big_integer_parsed_arith_vm_test: RuntimeError
big_integer_parsed_div_rem_vm_test: RuntimeError
big_integer_parsed_mul_div_vm_test: RuntimeError
bit_twiddling_bigint_test: RuntimeError
compare_to2_test: RuntimeError
double_parse_test/01: RuntimeError
hash_set_test/01: RuntimeError
int_modulo_arith_test/bignum: RuntimeError
int_modulo_arith_test/modPow: RuntimeError
int_parse_radix_test/01: RuntimeError
int_parse_radix_test/02: RuntimeError
integer_to_radix_string_test: RuntimeError
integer_to_string_test/01: RuntimeError
iterable_return_type_test/01: RuntimeError
iterable_return_type_test/02: RuntimeError
iterable_to_list_test/01: RuntimeError
nan_infinity_test/01: RuntimeError
regress_r21715_test: RuntimeError
string_base_vm_test: RuntimeError
symbol_reserved_word_test/03: RuntimeError

[ $compiler == dart2js && $fasta && $host_checked ]
apply3_test: RuntimeError

[ $compiler == dart2js && $fasta && $minified ]
apply3_test: RuntimeError
symbol_operator_test/03: RuntimeError # Issue 27394
symbol_operator_test/none: RuntimeError

[ $compiler == dart2js && !$fasta ]
big_integer_*: Skip # VM specific test.
bit_twiddling_bigint_test: RuntimeError # Requires bigint support.
compare_to2_test: RuntimeError, OK # Requires bigint support.
double_parse_test/01: Pass, Fail # JS implementations disagree on U+0085 being whitespace.
hash_set_test/01: RuntimeError # Issue 11551
int_modulo_arith_test/bignum: RuntimeError # No bigints.
int_modulo_arith_test/modPow: RuntimeError # No bigints.
int_parse_radix_test/01: Pass, Fail # JS implementations disagree on U+0085 being whitespace.
int_parse_radix_test/02: Fail # No bigints.
integer_to_radix_string_test: RuntimeError # issue 22045
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*.
iterable_to_list_test/01: RuntimeError # Issue 26501
list_unmodifiable_test: Pass, RuntimeError # Issue 28712
nan_infinity_test/01: Fail # Issue 11551
regress_r21715_test: RuntimeError # Requires bigint support.
string_base_vm_test: RuntimeError, OK # VM specific test.
symbol_reserved_word_test/02: CompileTimeError # bug 20191
symbol_reserved_word_test/03: RuntimeError # bug 19972, new Symbol('void') should be allowed.
symbol_reserved_word_test/04: MissingCompileTimeError
symbol_reserved_word_test/05: Crash # bug 20191
symbol_reserved_word_test/07: MissingCompileTimeError
symbol_reserved_word_test/10: MissingCompileTimeError

[ $compiler != dart2js && $fasta ]
big_integer_arith_vm_test/add: CompileTimeError
big_integer_arith_vm_test/div: CompileTimeError
big_integer_arith_vm_test/gcd: CompileTimeError
big_integer_arith_vm_test/mod: CompileTimeError
big_integer_arith_vm_test/modInv: CompileTimeError
big_integer_arith_vm_test/modPow: CompileTimeError
big_integer_arith_vm_test/mul: CompileTimeError
big_integer_arith_vm_test/negate: CompileTimeError
big_integer_arith_vm_test/none: CompileTimeError
big_integer_arith_vm_test/overflow: CompileTimeError
big_integer_arith_vm_test/shift: CompileTimeError
big_integer_arith_vm_test/sub: CompileTimeError
big_integer_arith_vm_test/trunDiv: CompileTimeError
bit_twiddling_bigint_test: CompileTimeError
bit_twiddling_test: CompileTimeError
bool_from_environment2_test/01: MissingCompileTimeError
bool_from_environment2_test/02: MissingCompileTimeError
bool_from_environment2_test/03: MissingCompileTimeError
bool_from_environment2_test/04: MissingCompileTimeError
bool_from_environment2_test/05: MissingCompileTimeError
double_ceil_test: CompileTimeError
double_floor_test: CompileTimeError
double_round_test: CompileTimeError
double_truncate_test: CompileTimeError
int_ceil_test: CompileTimeError
int_ceil_to_double_test: CompileTimeError
int_floor_test: CompileTimeError
int_floor_to_double_test: CompileTimeError
int_from_environment3_test/01: MissingCompileTimeError
int_from_environment3_test/02: MissingCompileTimeError
int_from_environment3_test/03: MissingCompileTimeError
int_from_environment3_test/04: MissingCompileTimeError
int_from_environment3_test/05: MissingCompileTimeError
int_from_environment_test: CompileTimeError
int_modulo_arith_test/bignum: CompileTimeError
int_modulo_arith_test/modPow: CompileTimeError
int_modulo_arith_test/none: CompileTimeError
int_parse_radix_test/02: CompileTimeError
int_round_test: CompileTimeError
int_round_to_double_test: CompileTimeError
int_to_int_test: CompileTimeError
int_truncate_test: CompileTimeError
int_truncate_to_double_test: CompileTimeError
integer_to_radix_string_test: CompileTimeError
integer_to_string_test/01: CompileTimeError
num_parse_test/01: CompileTimeError
num_parse_test/none: CompileTimeError
num_sign_test: CompileTimeError
regress_r21715_test: CompileTimeError
string_from_environment3_test/01: MissingCompileTimeError
string_from_environment3_test/02: MissingCompileTimeError
string_from_environment3_test/03: MissingCompileTimeError
string_from_environment3_test/04: MissingCompileTimeError
string_from_environment3_test/05: MissingCompileTimeError
symbol_test/01: MissingCompileTimeError

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

[ $runtime != drt && ($compiler == app_jit || $compiler == none || $compiler == precompiler) ]
symbol_test/02: MissingCompileTimeError # bug 11669
symbol_test/03: MissingCompileTimeError # bug 11669

[ $arch == simdbc || $arch == simdbc64 ]
regexp/stack-overflow_test: RuntimeError, OK # Smaller limit with irregex interpreter

[ $compiler == app_jit || $compiler == none || $compiler == precompiler ]
compare_to2_test: Fail # Bug 4018
string_case_test/01: Fail # Bug 18061
symbol_operator_test/03: Fail # bug 11669
symbol_reserved_word_test/02: CompileTimeError # bug 20191
symbol_reserved_word_test/04: MissingCompileTimeError # bug 11669, 19972
symbol_reserved_word_test/05: CompileTimeError # bug 20191
symbol_reserved_word_test/06: RuntimeError # bug 11669
symbol_reserved_word_test/07: MissingCompileTimeError # bug 11669, 19972
symbol_reserved_word_test/09: RuntimeError # bug 11669
symbol_reserved_word_test/10: MissingCompileTimeError # bug 11669, 19972
symbol_reserved_word_test/12: RuntimeError # bug 11669
symbol_test/01: Fail, Pass # bug 11669
symbol_test/none: Fail # bug 11669
unicode_test: Fail # Bug 6706

[ $compiler == app_jit || $compiler == precompiler ]
data_resource_test: Skip # Resolve URI not supported yet in product mode.
file_resource_test: Skip # Resolve URI not supported yet in product mode.
http_resource_test: Skip # Resolve URI not supported yet in product mode.
package_resource_test: Skip # Resolve URI not supported yet in product mode.

# We skip all the Dart 1.0 tests in dartk and dartkp mode as these
# modes are intended only for Dart 2.0 with strong mode enabled.
[ $compiler == dartk || $compiler == dartkp ]
*: Skip

[ $runtime == dart_precompiled || $runtime == flutter || $runtime == vm ]
big_integer_arith_vm_test: CompileTimeError # Large integer literal
big_integer_parsed_arith_vm_test: RuntimeError # Large integers
big_integer_parsed_div_rem_vm_test: RuntimeError # Large integers
big_integer_parsed_mul_div_vm_test: RuntimeError # Large integers
bit_twiddling_bigint_test: CompileTimeError # Large integer literal
bit_twiddling_test: CompileTimeError # Large integer literal
double_ceil_test: CompileTimeError # Large integer literal
double_floor_test: CompileTimeError # Large integer literal
double_round_test: CompileTimeError # Large integer literal
double_truncate_test: CompileTimeError # Large integer literal
int_ceil_test: CompileTimeError # Large integer literal
int_ceil_to_double_test: CompileTimeError # Large integer literal
int_floor_test: CompileTimeError # Large integer literal
int_floor_to_double_test: CompileTimeError # Large integer literal
int_from_environment_test: CompileTimeError # Large integer literal
int_modulo_arith_test: CompileTimeError # Large integer literal
int_parse_radix_test/02: CompileTimeError # Large integer literal
int_round_test: CompileTimeError # Large integer literal
int_round_to_double_test: CompileTimeError # Large integer literal
int_to_int_test: CompileTimeError # Large integer literal
int_truncate_test: CompileTimeError # Large integer literal
int_truncate_to_double_test: CompileTimeError # Large integer literal
integer_to_radix_string_test: CompileTimeError # Large integer literal
integer_to_string_test/01: CompileTimeError # Large integer literal
num_parse_test/01: CompileTimeError # Large integer literal
num_parse_test/none: CompileTimeError # Large integer literal
num_sign_test: CompileTimeError # Large integer literal
regexp/capture-3: Pass, Slow, Timeout # Issues 21593 and 22008
regexp/global_test: Skip # Timeout. Issue 21709 and 21708
regexp/pcre_test: Pass, Slow, Timeout # Issues 21593 and 22008
regress_r21715_test: CompileTimeError # Large integer literal

# 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.
[ $runtime == ff || $runtime == jsshell ]
double_parse_test/02: Fail, OK

[ $hot_reload || $hot_reload_rollback ]
big_integer_huge_mul_vm_test: Pass, Slow # Slow
big_integer_parsed_mul_div_vm_test: Pass, Slow # Slow.

