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

boolified_operator_test: Fail # Issue 8001

# 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.
async_await_syntax_test: Pass # DON'T CHANGE THIS LINE -- SEE ABOVE.

# simple_function_subtype_test is temporarily(?) disabled due to new method for
# building function type tests.
simple_function_subtype_test: Fail

simple_inferrer_const_closure_test: Fail # Issue 16507
simple_inferrer_const_closure2_test: Fail # Issue 16507
simple_inferrer_global_field_closure_test: Fail # Issue 16507

logical_expression_test: Fail # Issue 17027

gvn_dynamic_field_get_test: Fail # Issue 18519

backend_dart/opt_cyclic_redundant_phi_test: Fail # Issue 20159

mirrors/library_exports_hidden_test: Fail
mirrors/library_exports_shown_test: Fail
mirrors/library_imports_hidden_test: Fail
mirrors/library_imports_prefixed_test: Fail
mirrors/library_imports_prefixed_show_hide_test: Fail
mirrors/library_imports_shown_test: Fail

patch_test/bug: RuntimeError # Issue 21132

[ $unchecked ]
exit_code_test: Skip # This tests requires checked mode.

[ $checked ]
uri_retention_test: Pass, Slow
deferred_mirrors_test: Pass, Slow
mirror_final_field_inferrer2_test: Pass, Slow
check_elements_invariants_test: Slow, Pass
import_mirrors_test: Slow, Pass
http_test: Pass, Slow

[ $mode == debug ]
check_elements_invariants_test: Skip # Slow and only needs to be run in one
                                     # configuration

mirror_final_field_inferrer2_test: Crash, Pass, Slow # Issue 15581

analyze_unused_dart2js_test: Pass, Slow
check_members_test: Pass, Slow
dart2js_batch_test: Pass, Slow
deferred_load_graph_segmentation_test: Pass, Slow
deferred_load_mapping_test: Pass, Slow
deferred_mirrors_test: Pass, Slow
duplicate_library_test: Pass, Slow
exit_code_test: Pass, Slow
import_mirrors_test: Pass, Slow
in_user_code_test: Pass, Slow
js_backend_cps_ir_basic_test: Pass, Slow
js_backend_cps_ir_closures_test: Pass, Slow
message_kind_test: Pass, Slow
show_package_warnings_test: Pass, Slow
source_map_pub_build_validity_test: Pass, Slow

# 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.
analyze_api_test: Pass, Slow # DON'T CHANGE THIS LINE -- SEE ABOVE.
analyze_dart2js_test: Pass, Slow # DON'T CHANGE THIS LINE -- SEE ABOVE.

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