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

compile_with_empty_libraries_test: Fail # Issue 24223

boolified_operator_test: Fail # Issue 8001

async_await_js_transform_test/01: RuntimeError # Issue 23997

# 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

http_test: Pass, Slow

# These tests are for the now-deleted dart2dart variant of the CPS IR.
# We want to adapt them to test the JS variant of the CPS IR instead,
# but for now they are disabled.
backend_dart/end2end_test: Skip
backend_dart/sexpr2_test: Skip
backend_dart/sexpr_test: Skip
backend_dart/opt_constprop_test: Skip
backend_dart/opt_shrinking_test: Skip
backend_dart/opt_redundant_phi_test: Skip

# These tests run the compiler multiple times.
js_backend_cps_ir_basic_test: Pass, Slow
js_backend_cps_ir_closures_test: Pass, Slow
js_backend_cps_ir_constructor_test: Pass, Slow

[ $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
exit_code_test: Pass, Slow
value_range_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
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).
