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

[ $mode == product ]
assertion_test: SkipByDesign # Requires checked mode.
generic_test: SkipByDesign # Requires checked mode.
named_parameters_type_test/01: SkipByDesign # Requires checked mode.
named_parameters_type_test/02: SkipByDesign # Requires checked mode.
named_parameters_type_test/03: SkipByDesign # Requires checked mode.
issue13474_test: SkipByDesign # Requires checked mode.

[ $compiler == none && $runtime == drt && !$checked ]
assertion_initializer_const_error2_test/cc02: Fail
assertion_initializer_const_error_test/01: Fail
assertion_initializer_const_function_error_test/01: Fail

[ !$checked && $compiler != dartdevc ]
function_type/*: Skip # Needs checked mode.

[ $hot_reload || $hot_reload_rollback ]
cha_deopt1_test: Crash # Requires deferred libraries
cha_deopt2_test: Crash # Requires deferred libraries
cha_deopt3_test: Crash # Requires deferred libraries
deferred_call_empty_before_load_test: Crash # Requires deferred libraries
deferred_closurize_load_library_test: Crash # Requires deferred libraries
deferred_constant_list_test: Crash # Requires deferred libraries
deferred_constraints_constants_test: Crash # Requires deferred libraries
deferred_constraints_type_annotation_test: Crash # Requires deferred libraries
deferred_function_type_test: Crash # Requires deferred libraries
deferred_global_test: Crash # Requires deferred libraries
deferred_import_core_test: Crash # Requires deferred libraries
deferred_inlined_test: Crash # Requires deferred libraries
deferred_inheritance_constraints_test: Crash # Requires deferred libraries
deferred_load_constants_test: Crash # Requires deferred libraries
deferred_load_constants_test: Crash # Requires deferred libraries
deferred_load_inval_code_test: Crash # Requires deferred libraries
deferred_load_library_wrong_args_test: Crash # Requires deferred libraries
deferred_mixin_test: Crash # Requires deferred libraries
issue21159_test: Pass, Crash # Issue 29094
issue_22780_test/01: Pass, Crash # Issue 29094
issue_1751477_test: Crash # Requires deferred libraries

[ ! $checked && ! $strong ]
closure_type_test: RuntimeError

[ ! $strong ]
class_literal_static_test: MissingCompileTimeError # Requires strong mode
class_literal_static_test/none: Pass
class_override_test: MissingCompileTimeError # Requires strong mode
closure_internals_test/01: MissingCompileTimeError # Requires strong mode
closure_internals_test/02: MissingCompileTimeError # Requires strong mode
closure_internals_test/03: MissingCompileTimeError # Requires strong mode
compile_time_constant_k_test/01: MissingCompileTimeError # Requires strong mode
compile_time_constant_k_test/02: MissingCompileTimeError # Requires strong mode
compile_time_constant_k_test/03: MissingCompileTimeError # Requires strong mode
crash_6725_test/01: MissingCompileTimeError # Requires strong mode
is_malformed_type_test/94: MissingCompileTimeError # Requires strong mode
is_malformed_type_test/95: MissingCompileTimeError # Requires strong mode
is_malformed_type_test/96: MissingCompileTimeError # Requires strong mode
is_malformed_type_test/97: MissingCompileTimeError # Requires strong mode
is_malformed_type_test/98: MissingCompileTimeError # Requires strong mode
is_malformed_type_test/99: MissingCompileTimeError # Requires strong mode
is_not_class2_test/none: Skip # No interesting functionality in this configuration.
is_not_class2_test/01: MissingCompileTimeError # Requires strong mode
isnot_malformed_type_test/01: MissingCompileTimeError
issue11724_test/01: MissingCompileTimeError
void_block_return_test/00: MissingCompileTimeError # Requires strong mode
void_type_callbacks_test: Skip # Requires strong mode
void_type_function_types_test: Skip # Requires strong mode
void_type_override_test: Skip # Requires strong mode
void_type_usage_test: Skip # Requires strong mode
compile_time_constant_static_test: Skip # Requires strong mode
compile_time_constant_static2_test: Skip # Requires strong mode
compile_time_constant_static3_test: Skip # Requires strong mode
compile_time_constant_static4_test: Skip # Requires strong mode
compile_time_constant_static5_test: Skip # Requires strong mode
wrong_number_type_arguments_test/none: Pass
wrong_number_type_arguments_test/*: MissingCompileTimeError # Requires strong mode
issue1363_test/01: MissingCompileTimeError # Requires strong mode
issue15606_test/01: MissingCompileTimeError # Requires strong mode
issue18628_1_test/01: MissingCompileTimeError # Requires strong mode
issue18628_2_test/01: MissingCompileTimeError # Requires strong mode

[ $strong ]
compile_time_constant_static5_test/11: CompileTimeError # Issue 30546
compile_time_constant_static5_test/16: CompileTimeError # Issue 30546
compile_time_constant_static5_test/21: CompileTimeError # Issue 30546
compile_time_constant_static5_test/23: CompileTimeError # Issue 30546
issue_25671a_test/01: CompileTimeError
issue_25671b_test/01: CompileTimeError

[ $compiler == dartdevc ]
compile_time_constant_e_test: RuntimeError # Issue 30466
compile_time_constant_k_test/none: RuntimeError # Issue 30466

[ $compiler == app_jit ]
deferred_inheritance_constraints_test/redirecting_constructor: Crash
