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

