# 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

# 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

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

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

[ $checked ]
deferred_mirrors_test: Pass, Slow

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

[ $mode == debug ]
mirror_final_field_inferrer2_test: Crash, Pass, Slow # dartbug.com/15581

deferred_mirrors_test: Pass, Slow
in_user_code_test: Pass, Slow
analyze_unused_dart2js_test: Pass, Slow
exit_code_test: Pass, Slow
deferred_load_graph_segmentation_test: Pass, Slow
check_members_test: Pass, Slow
duplicate_library_test: Pass, Slow
show_package_warnings_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 == ie9 || $runtime == opera ]
*: Skip # dart2js uses #import('dart:io'); and it is not self-hosted (yet).
