# 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 ]
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 ]
class/large_class_declaration_test: Slow, Pass

[ $mode == product ]
assert/assert_test: SkipByDesign # Requires checked mode.
generic/generic_test: SkipByDesign # Requires checked mode.
map/literal4_test: SkipByDesign # Requires checked mode.
parameter/named_type_test/01: SkipByDesign # Requires checked mode.
parameter/named_type_test/02: SkipByDesign # Requires checked mode.
parameter/named_type_test/03: SkipByDesign # Requires checked mode.
parameter/positional_type_test/01: SkipByDesign # Requires checked mode.
parameter/positional_type_test/02: SkipByDesign # Requires checked mode.
regress/regress13474_test: SkipByDesign # Requires checked mode.
regress/regress29784_test/02: SkipByDesign # Requires checked mode.
stack_trace/demangle_ctors_test: SkipByDesign # Names are not scrubbed.
type/checks_in_factory_method_test: SkipByDesign # Requires checked mode.

[ $compiler != dart2analyzer && $compiler != fasta ]
identifier/built_in_type_annotation_test/*: SkipByDesign # Analyzer/CFE only tests.

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

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

[ $hot_reload || $hot_reload_rollback ]
regress/regress22780_test/01: Crash # Issue 29094
regress/regress23244_test: Skip # https://dartbug.com/36097: Ongoing concurrency work.
vm/optimized_guarded_field_isolates_test: Skip # https://dartbug.com/36097: Ongoing concurrency work.
vm/optimized_stacktrace_test: Slow, Pass
