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

[ $builder_tag == dwarf ]
regress/regress21795_test: SkipByDesign # Relies on symbolic stack traces
stack_trace/full1_test: SkipByDesign # Relies on symbolic stack traces
stack_trace/full2_test: SkipByDesign # Relies on symbolic stack traces
stack_trace/full3_test: SkipByDesign # Relies on symbolic stack traces
stack_trace/stack_trace_test: SkipByDesign # Relies on symbolic stack traces
vm/bool_check_stack_traces_test/01: SkipByDesign # Relies on symbolic stack traces
vm/bool_check_stack_traces_test/02: SkipByDesign # Relies on symbolic stack traces
vm/bool_check_stack_traces_test/none: SkipByDesign # Relies on symbolic stack traces
vm/type_cast_vm_test: SkipByDesign # Relies on symbolic stack traces

[ $builder_tag == obfuscated ]
closure/tearoff_dynamic_test: SkipByDesign # Relies on symbol names
generic/f_bounded_quantification4_test: SkipByDesign # Relies on symbol names
generic/no_such_method_dispatcher_test: SkipByDesign # Relies on symbol names
generic/recursive_generic_test: SkipByDesign # Relies on symbol names
nnbd/syntax/late_modifier_runtime_error_test: SkipByDesign # Names are obfuscated in error messages
no_such_method/native_test: SkipByDesign # Relies on symbol names
records/simple/to_string_test: SkipByDesign # Relies on symbol names
regress/regress45529_test: SkipByDesign # Relies on symbol names
stack_trace/demangle_ctors_test: SkipByDesign # Relies on symbol names
type_object/literal_type_literal_test: SkipByDesign # Relies on symbol names
unsorted/invocation_mirror_test: SkipByDesign # Relies on symbol names
vm/type_cast_vm_test: SkipByDesign # Relies on symbol names

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

[ $compiler != fasta ]
value_class/*: Skip # Internship, jlcontreras

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

[ $runtime != vm ]
unsorted/disassemble_test: Skip # VM only test

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

[ $compiler != dart2js && $compiler != dart2wasm && $compiler != dartkp && $compiler != fasta ]
static_weak_reference_*: SkipByDesign # 'weak-tearoff-reference' pragma is supported by AOT, dart2js and dart2wasm

[ $compiler != dart2js && !$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
vm/optimized_stacktrace_test: Slow, Pass
