# 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 == compare_analyzer_cfe ]
const_native_factory_test: Fail # Issue 29763
deferred_global_test: Fail # Issue 34503
generic_field_mixin2_test: Fail # Issue 34489
generic_local_functions_test: Fail # Issue 28515
generic_methods_generic_function_parameter_test: Fail # Issue 28515
issue34488_test/01: Fail # Issue 34488
issue34488_test/02: Fail # Issue 34488
issue34488_test/03: Fail # Issue 34488
issue34488_test/04: Fail # Issue 34488
issue34488_test/05: Fail # Issue 34488
issue34488_test/06: Fail # Issue 34488
issue34488_test/none: Fail # Issue 34488
mixin_class_from_core_library_test: Fail # Issue 34488
nested_generic_closure_test: Fail # Issue 28515

[ $compiler != dart2analyzer ]
switch_case_warn_test: Skip # Analyzer only, see language_analyzer2.status

[ $compiler == none ]
invalid_returns/*: Skip # https://github.com/dart-lang/sdk/issues/34013
void/*: Skip # https://github.com/dart-lang/sdk/issues/34013

[ $compiler == spec_parser ]
double_literals/*: Skip # https://github.com/dart-lang/sdk/issues/34355
invalid_returns/*: Skip # https://github.com/dart-lang/sdk/issues/34015
mixin_declaration/*: Skip # See https://github.com/dart-lang/language/issues/7
void/*: Skip # https://github.com/dart-lang/sdk/issues/34015

[ $mode == debug ]
large_class_declaration_test: Slow

[ $mode == product ]
assertion_test: SkipByDesign # Requires checked mode.
generic_test: SkipByDesign # Requires checked mode.
issue13474_test: SkipByDesign # Requires checked mode.
map_literal4_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.
positional_parameters_type_test/01: SkipByDesign # Requires checked mode.
positional_parameters_type_test/02: SkipByDesign # Requires checked mode.
regress_29784_test/02: SkipByDesign # Requires checked mode.
stacktrace_demangle_ctors_test: SkipByDesign # Names are not scrubbed.
type_checks_in_factory_method_test: SkipByDesign # Requires checked mode.

[ $fasta ]
partial_instantiation_static_bounds_check_test/01: MissingCompileTimeError # Issue 34327
partial_instantiation_static_bounds_check_test/02: MissingCompileTimeError # Issue 34327
partial_instantiation_static_bounds_check_test/03: MissingCompileTimeError # Issue 34327

[ $compiler != compare_analyzer_cfe && $compiler != spec_parser ]
mixin_constructor_forwarding/const_constructor_test/none: CompileTimeError # Issue 32223
mixin_constructor_forwarding/const_constructor_with_field_test/none: CompileTimeError # Issue 32223
mixin_constructor_forwarding/optional_named_parameters_test/none: CompileTimeError # Issue 31543
mixin_constructor_forwarding/optional_positional_parameters_test/none: CompileTimeError # Issue 31543

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

[ $compiler != dartk && $compiler != dartkb && $compiler != dartkp && $mode == debug && $runtime == vm ]
built_in_identifier_type_annotation_test/set: Crash # Not supported by legacy VM front-end.

[ $hot_reload || $hot_reload_rollback ]
issue_22780_test/01: Pass, Crash # Issue 29094
static_closure_identical_test: Pass, Fail # Closure identity
vm/optimized_stacktrace_test: Slow
