# 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) ]
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 || $compiler == precompiler || $compiler == app_jit ]
unicode_test: Fail        # Bug 6706
compare_to2_test: Fail    # Bug 4018
symbol_test/01: Fail, Pass # bug 11669

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

symbol_test/none: Fail # bug 11669
symbol_operator_test/03: Fail # bug 11669
string_case_test/01: Fail # Bug 18061

[ $compiler == none && ($runtime == drt || $runtime == dartium || $runtime == vm)]
string_trimlr_test/02: RuntimeError # Issue 29060

[ $compiler == precompiler || $compiler == app_jit ]
string_trimlr_test/02: RuntimeError # Issue 29060

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

# With the exception of 'void', const Symbol() should not accept reserved
# words.
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) ]
package_resource_test: RuntimeError # Issue 26842
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
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
main_test: Fail  # Dartium needs to check for both main() and main(args).

[ $compiler == dart2js ]
symbol_reserved_word_test/03: RuntimeError # bug 19972, new Symbol('void') should be allowed.
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.
list_unmodifiable_test: Pass, RuntimeError # Issue 28712

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

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

[ $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/02: 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.
string_trimlr_test/02: RuntimeError # Uses Unicode 6.2.0 or earlier.

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

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

[ $compiler == dart2js ]
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*.
iterable_to_list_test/01: RuntimeError # Issue 26501

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.
string_trimlr_test/02: RuntimeError # Uses Unicode 6.2.0 or earlier.

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

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

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

[ $compiler == dart2js && $runtime == safarimobilesim ]
string_split_test: RuntimeError # Issue 21431

[ $compiler == dart2js && $runtime == safarimobilesim ]
list_test/01: Fail # Safari bug: Array(-2) seen as dead code.
string_trimlr_test/01: Fail
string_trimlr_test/02: RuntimeError # Uses Unicode 6.2.0 or earlier.

[ $compiler == dart2js && $runtime == ie10 ]
string_case_test/01: Fail, OK  # Bug in IE.
string_case_test/02: Fail, OK  # Bug in IE.
string_trimlr_test/02: RuntimeError # Uses Unicode 6.2.0 or earlier.

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

[ $compiler == dart2js && ($runtime == ff || $runtime == jsshell) && $fast_startup == false]
list_test/none: RuntimeError # Issue 27871, Issue 28014, proably Bug in jsshell / Firefox
list_test/01: RuntimeError # Issue 27871, Issue 28014, proably Bug in jsshell / 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.

# 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_bad_handler_test: fail
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.

[ $compiler == dart2analyzer && $builder_tag == strong ]
*: Skip # Issue 28649

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

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

[ $runtime == d8 ]
string_trimlr_test/02: RuntimeError # Uses Unicode 6.2.0 or earlier.

[ $runtime == vm || $runtime == dart_precompiled ]
regexp/global_test: Skip # Timeout. Issue 21709 and 21708
regexp/pcre_test: Pass, Slow, Timeout # Issues 21593 and 22008

[ $runtime != vm && $runtime != dart_precompiled && $compiler != dart2analyzer]
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 && $browser == false ]
package_resource_test: RuntimeError # Issue 26842

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

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

[ $compiler == precompiler || $mode == product ]
apply3_test: SkipByDesign # Imports dart:mirrors

[ $compiler == precompiler ]
regexp/stack-overflow_test: RuntimeError, OK # Smaller limit with irregex interpreter
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

[ $compiler == precompiler || $compiler == app_jit ]
data_resource_test: Skip # Resolve URI not supported yet in product mode.
package_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.

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

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

[ $compiler == dart2js && $dart2js_with_kernel ]
error_stack_trace1_test: Pass # Issue 27394
symbol_reserved_word_test/03: Pass # Issue 27394
bool_from_environment_test: RuntimeError # Issue 27394
data_uri_test: RuntimeError # Issue 27394
date_time7_test: RuntimeError # Issue 27394
date_time_test: RuntimeError # Issue 27394
duration_test: RuntimeError # Issue 27394
growable_list_test: RuntimeError # Issue 27394
int_from_environment2_test: RuntimeError # Issue 27394
int_from_environment_test: RuntimeError # Issue 27394
iterable_empty_test: RuntimeError # Issue 27394
iterable_generate_test/01: RuntimeError # Issue 27394
iterable_generate_test/none: RuntimeError # Issue 27394
iterable_return_type_test/none: RuntimeError # Issue 27394
iterable_to_list_test/none: RuntimeError # Issue 27394
iterable_to_set_test: RuntimeError # Issue 27394
linked_hash_map_from_iterable_test: RuntimeError # Issue 27394
linked_hash_map_from_iterables_test: RuntimeError # Issue 27394
list_filled_type_argument_test: RuntimeError # Issue 27394
map_from_iterable_test: RuntimeError # Issue 27394
map_from_iterables_test: RuntimeError # Issue 27394
map_keys2_test: RuntimeError # Issue 27394
map_test: Crash # Issue 27394
map_values2_test: RuntimeError # Issue 27394
map_values3_test: RuntimeError # Issue 27394
map_values4_test: RuntimeError # Issue 27394
reg_exp1_test: RuntimeError # Issue 27394
regexp/compile_test: RuntimeError # Issue 27394
regexp/default_arguments_test: RuntimeError # Issue 27394
regexp/multiline_test: RuntimeError # Issue 27394
regexp/parentheses_test: RuntimeError # Issue 27394
regexp/pcre-test-4_test: RuntimeError # Issue 27394
regexp/pcre_test: RuntimeError # Issue 27394
set_test: RuntimeError # Issue 27394
splay_tree_from_iterable_test: RuntimeError # Issue 27394
splay_tree_from_iterables_test: RuntimeError # Issue 27394
string_from_environment2_test: RuntimeError # Issue 27394
string_from_environment_test: RuntimeError # Issue 27394
symbol_operator_test/03: RuntimeError # Issue 27394
symbol_reserved_word_test/06: RuntimeError # Issue 27394
symbol_reserved_word_test/09: RuntimeError # Issue 27394
symbol_reserved_word_test/12: RuntimeError # Issue 27394
symbol_test/none: RuntimeError # Issue 27394
uri_example_test: RuntimeError # Issue 27394
uri_http_test: RuntimeError # Issue 27394
uri_parameters_all_test: RuntimeError # Issue 27394
uri_query_test: RuntimeError # Issue 27394
uri_test: RuntimeError # Issue 27394

[ $compiler == dart2js && $dart2js_with_kernel && $host_checked ]
regress/4562_test/01: Crash # Issue 27394
