# Copyright (c) 2012, 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.
analyze_dart_test: Slow, Pass
analyze_test: Slow, Pass
async_await_syntax_test: Pass # DON'T CHANGE THIS LINE -- Don't mark these tests as failing. Instead, fix the errors/warnings that they report or update the whitelist in the test-files to temporarily allow digression.
boolified_operator_test: Fail # Issue 8001
closure/closure_test: Pass, Slow
codegen/gvn_dynamic_field_get_test: Fail # Issue 18519
codegen/load_elimination_test: Pass, Slow
codegen/logical_expression_test: Fail # Issue 17027
codegen/simple_function_subtype_test: Fail # simple_function_subtype_test is temporarily(?) disabled due to new method for building function type tests.
deferred_loading/deferred_loading_test: Slow, Pass
equivalence/id_equivalence1_test: Pass, Slow
equivalence/id_equivalence2_test: Pass, Slow
generate_code_with_compile_time_errors_test: RuntimeError # not supported yet with the new FE.
in_user_code_test: RuntimeError # analyze-only with CFE is not complete (Issues 32512, 32513)
inference/inference0_test: Slow, Pass
inference/inference1_test: Slow, Pass
inference/simple_inferrer_const_closure2_test: Fail # Issue 16507
inference/simple_inferrer_const_closure_test: Fail # Issue 16507
inference/simple_inferrer_global_field_closure_test: Fail # Issue 16507
inference/swarm_test: Slow, Pass, Fail #
inlining/inlining_test: Slow, Pass
kernel/*: Slow, Pass
kernel/compile_from_dill_fast_startup_test: RuntimeError # Test must be updated to support FE with patching.
kernel/compile_from_dill_test: RuntimeError # Test must be updated to support FE with patching.
model/subtype_test: Pass, Slow
no_such_method_enabled_test: Pass, Slow
packages/*: Skip # Skip packages folder
rti/rti_emission_test: Pass, Slow
rti/rti_need0_test: Pass, Slow
rti/rti_need1_test: Pass, Slow
show_package_warnings_test: RuntimeError # missing errors from the FE
sourcemaps/pub_build_validity_test: Pass, RuntimeError # Investigate: passes locally, but only fails in bots.
sourcemaps/source_mapping_invokes_test: Pass, Slow
sourcemaps/source_mapping_operators_test: Pass, Slow
sourcemaps/source_mapping_test: Pass, Slow
subtype_test: Slow, Pass

[ $mode == debug ]
deferred/load_graph_segmentation_test: Pass, Slow
deferred/load_mapping_test: Pass, Slow
end_to_end/dart2js_batch_test: Pass, Slow
end_to_end/exit_code_test: Pass, Slow
in_user_code_test: Pass, Slow
show_package_warnings_test: Pass, Slow
sourcemaps/source_map_pub_build_validity_test: Pass, Slow

[ $system == linux ]
dart2js_batch2_test: Pass, RuntimeError # Issue 29021

[ $checked ]
codegen/value_range_kernel_test: Pass, Slow
codegen/value_range_test: Pass, Slow
end_to_end/exit_code_test: Pass, Slow
jsinterop/declaration_test: Slow, Pass
jsinterop/interop_anonymous_unreachable_test: Pass, Slow
jsinterop/world_test: Pass, Slow
kernel/visitor_test: Pass, Slow
output_type_test: Pass, Slow
sourcemaps/source_map_pub_build_validity_test: Pass, Slow
sourcemaps/stacktrace_test: Pass, Slow
uri_retention_test: Pass, Slow

[ !$checked ]
end_to_end/exit_code_test: Skip # This tests requires checked mode.
jsinterop/declaration_test: Slow, Pass

[ $runtime == chrome || $runtime == ff || $runtime == firefox || $runtime == safari || $jscl ]
*: Skip # dart2js uses #import('dart:io'); and it is not self-hosted (yet).
