# 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_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/list_tracer_length_test: Fail # Issue 33051
codegen/load_elimination_test: Pass, Slow
codegen/logical_expression_test: Fail # Issue 17027
codegen/side_effect_tdiv_regression_test: Fail # Issue 33050
codegen/simple_function_subtype_test: Fail # simple_function_subtype_test is temporarily(?) disabled due to new method for building function type tests.
codegen/string_escapes_test: Fail # Issue 33060
deferred_loading/deferred_loading_test: Slow, Pass
end_to_end/dump_info_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.
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 #
inference/type_mask2_test: RuntimeError # Issue 34095
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/native_test: Pass, Slow
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/d2js_validity_test: RuntimeError # Issue 33072
sourcemaps/deferred_d2js_validity_test: RuntimeError # Issue 33072
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

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