# Copyright (c) 2017, 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 ]
num_sign_test: Crash, Pass # Issue 31768

[ $compiler == dart2js ]
bigint_from_test: RuntimeError # Issue 32589
bit_twiddling_test/int64: CompileTimeError, OK # Error if web int literal cannot be represented exactly, see http://dartbug.com/33351
compare_to2_test: CompileTimeError, OK # Error if web int literal cannot be represented exactly, see http://dartbug.com/33351
core_runtime_types_test: RuntimeError # Issue 34147
date_time11_test: RuntimeError, Pass # Fails when US is on winter time, issue 31285.
double_ceil_test/int64: CompileTimeError, OK # Error if web int literal cannot be represented exactly, see http://dartbug.com/33351
double_floor_test/int64: CompileTimeError, OK # Error if web int literal cannot be represented exactly, see http://dartbug.com/33351
double_round_test/int64: CompileTimeError, OK # Error if web int literal cannot be represented exactly, see http://dartbug.com/33351
double_truncate_test/int64: CompileTimeError, OK # Error if web int literal cannot be represented exactly, see http://dartbug.com/33351
error_stack_trace1_test: RuntimeError # Issue 12399
int_from_environment_int64_test: CompileTimeError, OK # Error if web int literal cannot be represented exactly, see http://dartbug.com/33351
int_parse_radix_int64_test/01: CompileTimeError, OK # Error if web int literal cannot be represented exactly, see http://dartbug.com/33351
int_parse_radix_int64_test/02: CompileTimeError, OK # Error if web int literal cannot be represented exactly, see http://dartbug.com/33351
int_parse_radix_int64_test/none: CompileTimeError, OK # Error if web int literal cannot be represented exactly, see http://dartbug.com/33351
integer_arith_vm_test/modPow: CompileTimeError, OK # Error if web int literal cannot be represented exactly, see http://dartbug.com/33351
integer_arith_vm_test/none: CompileTimeError, OK # Error if web int literal cannot be represented exactly, see http://dartbug.com/33351
integer_to_string_test/01: CompileTimeError, OK # Error if web int literal cannot be represented exactly, see http://dartbug.com/33351
iterable_return_type_test/02: RuntimeError # Dart2js does not support Uint64*.
list_unmodifiable_test: Pass, RuntimeError # Issue 28712

[ $compiler == dartdevk ]
regexp/lookbehind_test/01: Skip # Flaky in uncatchable way.  Issue 36280

[ $compiler == none ]
symbol_operator_test/03: Fail # Issue 11669
symbol_reserved_word_test/02: CompileTimeError # Issue 20191
symbol_reserved_word_test/04: MissingCompileTimeError # Issue 11669, 19972, With the exception of 'void', const Symbol() should not accept reserved words.
symbol_reserved_word_test/06: RuntimeError # Issue 11669, With the exception of 'void', new Symbol() should not accept reserved words.
symbol_reserved_word_test/07: MissingCompileTimeError # Issue 11669, 19972, With the exception of 'void', const Symbol() should not accept reserved words.
symbol_reserved_word_test/09: RuntimeError # Issue 11669, With the exception of 'void', new Symbol() should not accept reserved words.
symbol_reserved_word_test/10: MissingCompileTimeError # Issue 11669, 19972, With the exception of 'void', const Symbol() should not accept reserved words.
symbol_reserved_word_test/12: RuntimeError # Issue 11669, With the exception of 'void', new Symbol() should not accept reserved words.
symbol_test/01: Fail, Pass # Issue 11669
symbol_test/02: MissingCompileTimeError # Issue 11669
symbol_test/03: MissingCompileTimeError # Issue 11669
symbol_test/none: Fail # Issue 11669
unicode_test: Fail # Issue 6706

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

[ $runtime == jsshell ]
string_case_test/01: Fail, OK # German double S.

[ $runtime != none ]
nsm_invocation_generic_test: RuntimeError # Not implemented yet. Issue 27323.

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

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

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

[ $builder_tag == obfuscated && $compiler == dartkp ]
nsm_invocation_test: RuntimeError # Issue 35066

[ $builder_tag == obfuscated && $runtime == dart_precompiled ]
apply_generic_function_test: SkipByDesign # Function.apply with named args
apply_test: Skip # Uses new Symbol via symbolMapToStringMap helper
dynamic_nosuchmethod_test: SkipByDesign # Expects names in NSM
error_stack_trace1_test: SkipByDesign # Expects unobfuscated stack trace
type_tostring_test: SkipByDesign # Expects names in Type.toString()

[ $compiler != app_jitk && $compiler != dart2js && $compiler != dartdevc && $compiler != dartdevk && $compiler != dartk && $compiler != dartkb && $compiler != dartkp && $runtime != none ]
map_keys2_test: RuntimeError # needs Dart 2 is checks

[ $compiler != dart2analyzer && $compiler != dart2js && $compiler != dartdevc && $compiler != dartdevk ]
bigint_js_test: SkipByDesign # JavaScript-specific test

[ $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 == d8 ]
uri_base_test: RuntimeError # D8 uses a custom uri scheme for Uri.base

[ $compiler == dart2js && $runtime != none ]
regexp/pcre_test: Pass, Slow # Issue 21593

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

[ $compiler == dart2js && $checked ]
error_stack_trace1_test: RuntimeError # Issue 12399
iterable_return_type_test/01: RuntimeError # Issue 20085
iterable_return_type_test/02: RuntimeError # Dart2js does not support Uint64*.
iterable_to_list_test/01: Crash # Wrong number of template arguments, given 2, expected 1
iterable_to_list_test/none: Crash # Wrong number of template arguments, given 2, expected 1
list_replace_range_test: RuntimeError # Issue 32010
list_test/01: Crash # Unsupported operation: Unsupported type parameter type node T.
list_test/none: Crash # Unsupported operation: Unsupported type parameter type node T.
map_test: Crash # tests/corelib_2/map_test.dart:903:7: Internal problem: Unhandled Null in installDefaultConstructor.
symbol_reserved_word_test/03: RuntimeError # Issue 19972, new Symbol('void') should be allowed.

[ $compiler == dart2js && $minified ]
error_stack_trace1_test: RuntimeError # Issue 12399
hash_set_test/01: Crash # Assertion failure: Cannot find value Instance of 'ThisLocal' in (local(_CustomHashSet.#x), local(_CustomHashSet.#)) for j:closure_call(_CustomHashSet__CustomHashSet_closure.call).
iterable_return_type_test/02: RuntimeError # Dart2js does not support Uint64*.
list_concurrent_modify_test: RuntimeError # dart2js does not fully implement these
nsm_invocation_test: RuntimeError # Symbols don't match due to minifiaction.
symbol_reserved_word_test/03: RuntimeError # Issue 19972, new Symbol('void') should be allowed.

[ $compiler == dartdevc && $runtime != none ]
compare_to2_test: CompileTimeError # invalid test
symbol_operator_test: RuntimeError # Issue 29921

[ $compiler == dartkp && $runtime == dart_precompiled ]
iterable_reduce_test/01: CompileTimeError # Issue 31533
symbol_operator_test/03: RuntimeError # Issues 11669 and 31936 - throwing const constructors.
symbol_reserved_word_test/06: RuntimeError # Issues 11669 and 31936 - throwing const constructors.
symbol_reserved_word_test/09: RuntimeError # Issues 11669 and 31936 - throwing const constructors.
symbol_reserved_word_test/12: RuntimeError # Issues 11669 and 31936 - throwing const constructors.
symbol_test/none: RuntimeError # Issues 11669 and 31936 - throwing const constructors.
unicode_test: RuntimeError # Issue 18061: German double S.

[ $compiler == none && $runtime == vm ]
iterable_to_set_test: RuntimeError # is-checks do not implement strong mode type system

# We no longer expect Dart2 tests to run with the standalone VM without the new
# common front end, but for now we get better coverage by still running them in
# checked mode, which is mostly Dart2-compatible.
[ $compiler == none && !$checked && ($runtime == dart_precompiled || $runtime == vm) ]
*: SkipByDesign

[ $runtime != none && ($compiler == dart2js || $compiler == dartdevc || $compiler == dartdevk) ]
bit_twiddling_test/int64: RuntimeError, OK # Requires fixed-size int64 support.
compare_to2_test: RuntimeError, OK # Requires fixed-size int64 support.
double_ceil_test/int64: RuntimeError, OK # Requires fixed-size int64 support.
double_floor_test/int64: RuntimeError, OK # Requires fixed-size int64 support.
double_round_test/int64: RuntimeError, OK # Requires fixed-size int64 support.
double_truncate_test/int64: RuntimeError, OK # Requires fixed-size int64 support.
hash_set_test/01: RuntimeError # non JS number semantics - Issue 11551
int_modulo_arith_test/modPow: RuntimeError # Issue 29921
int_parse_with_limited_ints_test: Skip # Requires fixed-size int64 support.
integer_arith_vm_test/modPow: RuntimeError # Issues 10245, 30170
integer_parsed_arith_vm_test: RuntimeError # Issues 10245, 29921
integer_parsed_div_rem_vm_test: RuntimeError # Issue 29921
integer_parsed_mul_div_vm_test: RuntimeError # Issue 29921
regress_r21715_test: RuntimeError # Requires fixed-size int64 support.
typed_data_with_limited_ints_test: Skip # Requires fixed-size int64 support.

# ===== dartk + vm status lines =====
[ $runtime == vm && ($compiler == dartk || $compiler == dartkb) ]
iterable_reduce_test/01: CompileTimeError # Issue 31533
symbol_operator_test/03: RuntimeError # Issues 11669 and 31936 - throwing const constructors.
symbol_reserved_word_test/06: RuntimeError # Issues 11669 and 31936 - throwing const constructors.
symbol_reserved_word_test/09: RuntimeError # Issues 11669 and 31936 - throwing const constructors.
symbol_reserved_word_test/12: RuntimeError # Issues 11669 and 31936 - throwing const constructors.
symbol_test/none: RuntimeError # Issues 11669 and 31936 - throwing const constructors.
unicode_test: RuntimeError # Issue 18061: German double S.

[ ($arch == simdbc || $arch == simdbc64) && ($hot_reload || $hot_reload_rollback) ]
uri_parse_test: SkipSlow

[ $arch == simarm || $arch == simarm64 || $arch == simdbc64 ]
bigint_parse_radix_test: Skip # Issue 31659
bigint_test: Skip # Issue 31659

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

[ $compiler == dartdevc || $compiler == dartdevk ]
bigint_from_test: RuntimeError # Issue 32589
bigint_test/03: SkipSlow # modPow is very slow
bigint_test/15: SkipSlow # modPow is very slow
bit_twiddling_test/int64: CompileTimeError, OK # Error if web int literal cannot be represented exactly, see http://dartbug.com/33351
compare_to2_test: RuntimeError # Issue 30170
compare_to2_test: CompileTimeError, OK # Error if web int literal cannot be represented exactly, see http://dartbug.com/33351
date_time10_test: RuntimeError # Issue 29921
date_time_test: CompileTimeError, OK # Error if web int literal cannot be represented exactly, see http://dartbug.com/33351
double_ceil_test/int64: CompileTimeError, OK # Error if web int literal cannot be represented exactly, see http://dartbug.com/33351
double_floor_test/int64: CompileTimeError, OK # Error if web int literal cannot be represented exactly, see http://dartbug.com/33351
double_round_test/int64: CompileTimeError, OK # Error if web int literal cannot be represented exactly, see http://dartbug.com/33351
double_truncate_test/int64: CompileTimeError, OK # Error if web int literal cannot be represented exactly, see http://dartbug.com/33351
error_stack_trace_test/nullThrown: RuntimeError # .stackTrace not present for exception caught from 'throw null;'
hash_set_test/01: RuntimeError # Issue 29921
int_from_environment_int64_test: CompileTimeError, OK # Error if web int literal cannot be represented exactly, see http://dartbug.com/33351
int_modulo_arith_test/none: RuntimeError # Issue 29921
int_parse_radix_int64_test/01: CompileTimeError, OK # Error if web int literal cannot be represented exactly, see http://dartbug.com/33351
int_parse_radix_int64_test/02: CompileTimeError, OK # Error if web int literal cannot be represented exactly, see http://dartbug.com/33351
int_parse_radix_int64_test/none: CompileTimeError, OK # Error if web int literal cannot be represented exactly, see http://dartbug.com/33351
int_parse_radix_test/01: RuntimeError # Issue 29921
int_parse_with_limited_ints_test: Skip # Requires fixed-size int64 support.
integer_arith_vm_test/modPow: CompileTimeError, OK # Error if web int literal cannot be represented exactly, see http://dartbug.com/33351
integer_arith_vm_test/modPow: RuntimeError # Issue 30170
integer_arith_vm_test/none: CompileTimeError, OK # Error if web int literal cannot be represented exactly, see http://dartbug.com/33351
integer_parsed_arith_vm_test: RuntimeError # Issue 29921
integer_to_radix_string_test: RuntimeError # Issue 29921
integer_to_string_test/01: CompileTimeError, OK # Error if web int literal cannot be represented exactly, see http://dartbug.com/33351
integer_to_string_test/01: RuntimeError # Issue 29921
iterable_return_type_test/02: RuntimeError # Issue 29921
list_concurrent_modify_test: RuntimeError # DDC uses ES6 array iterators so it does not issue this
list_removeat_test: RuntimeError # Issue 29921
main_test: RuntimeError # Issue 29921
nan_infinity_test/01: RuntimeError # Issue 29921
regexp/alternative-length-miscalculation_test: RuntimeError # Issue 29921
regexp/ascii-regexp-subject_test: RuntimeError # Issue 29921
regexp/bol-with-multiline_test: RuntimeError # Issue 29921
regexp/capture-3_test: RuntimeError # Issue 29921
regexp/char-insensitive_test: RuntimeError # Issue 29921
regexp/character-match-out-of-order_test: RuntimeError # Issue 29921
regexp/compile-crash_test: RuntimeError # Issue 29921
regexp/default_arguments_test: RuntimeError # Issue 29921
regexp/early-acid3-86_test: RuntimeError # Issue 29921
regexp/ecma-regex-examples_test: RuntimeError # Issue 29921
regexp/extended-characters-match_test: RuntimeError # Issue 29921
regexp/extended-characters-more_test: RuntimeError # Issue 29921
regexp/find-first-asserted_test: RuntimeError # Issue 29921
regexp/invalid-range-in-class_test: RuntimeError # Issue 29921
regexp/look-ahead_test: RuntimeError # Issue 29921
regexp/loop-capture_test: RuntimeError # Issue 29921
regexp/malformed-escapes_test: RuntimeError # Issue 29921
regexp/many-brackets_test: RuntimeError # Issue 29921
regexp/negative-special-characters_test: RuntimeError # Issue 29921
regexp/no-extensions_test: RuntimeError # Issue 29921
regexp/non-bmp_test: RuntimeError # Issue 29921
regexp/non-capturing-backtracking_test: RuntimeError # Issue 29921
regexp/non-capturing-groups_test: RuntimeError # Issue 29921
regexp/non-character_test: RuntimeError # Issue 29921
regexp/non-greedy-parentheses_test: RuntimeError # Issue 29921
regexp/pcre-test-4_test: RuntimeError # Issue 29921
regexp/quantified-assertions_test: RuntimeError # Issue 29921
regexp/range-bound-ffff_test: RuntimeError # Issue 29921
regexp/range-out-of-order_test: RuntimeError # Issue 29921
regexp/ranges-and-escaped-hyphens_test: RuntimeError # Issue 29921
regexp/regress-6-9-regexp_test: RuntimeError # Issue 29921
regexp/regress-regexp-codeflush_test: RuntimeError # Issue 29921
regexp/regress-regexp-construct-result_test: RuntimeError # Issue 29921
regexp/repeat-match-waldemar_test: RuntimeError # Issue 29921
regexp/results-cache_test: RuntimeError # Issue 29921
regexp/stack-overflow2_test: RuntimeError # Issue 29921
regexp/stack-overflow_test: RuntimeError # Issue 29921
regexp/unicode-handling_test: RuntimeError # Issue 29921
regexp/zero-length-alternatives_test: RuntimeError # Issue 29921
regress_r21715_test: RuntimeError # Issue 29921
string_operations_with_null_test: RuntimeError # Issue 29921
symbol_operator_test/03: RuntimeError # Issue 29921
symbol_reserved_word_test/06: RuntimeError # Issue 29921
symbol_reserved_word_test/09: RuntimeError # Issue 29921
symbol_reserved_word_test/12: RuntimeError # Issue 29921
symbol_test/none: RuntimeError # Issue 29921
typed_data_with_limited_ints_test: Skip # Requires fixed-size int64 support.
uri_parse_test: Slow
uri_test: Slow

[ $compiler == dartkb || $compiler == dartkp ]
bigint_parse_radix_test: Pass, Slow # --no_intrinsify
bigint_test/03: SkipSlow # --no_intrinsify
bigint_test/15: SkipSlow # --no_intrinsify

[ $runtime == dart_precompiled || $runtime == vm ]
regexp/global_test: Skip # Issue 21709
regexp/pcre_test: Slow
string_case_test/01: RuntimeError # Issue 18061: German double S.

[ $runtime == ff || $runtime == jsshell ]
double_parse_test: Fail, OK # Issue 30468
double_try_parse_test: Fail, OK # Issue 30468

[ $hot_reload || $hot_reload_rollback ]
bigint_parse_radix_test: Skip # Issue 31659. Issue 34361.
bigint_test: Skip # Issue 31659
integer_parsed_mul_div_vm_test: Pass, Slow # Slow
