# Copyright (c) 2016, 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.

# Skip entire suite if not running in strong mode.
[ $strong == false ]
*: SkipByDesign

# Skip tests that are not yet strong-mode clean.
[ $strong ]
convert/chunked_conversion1_test: Skip
convert/chunked_conversion_json_encode1_test: Skip
convert/chunked_conversion_utf84_test: Skip
convert/chunked_conversion_utf88_test: Skip
convert/chunked_conversion_utf8_test: Skip
convert/line_splitter_test: Skip
html/cross_frame_test: Skip
html/element_test: Skip
html/events_test: Skip
html/fileapi_test: Skip
html/filereader_test: Skip
html/fontface_loaded_test: Skip
html/js_function_getter_trust_types_test: Skip
html/js_typed_interop_side_cast_exp_test: Skip
html/js_typed_interop_side_cast_test: Skip
html/keyboard_event_test: Skip
html/mutationobserver_test: Skip
html/postmessage_structured_test: Skip
html/resource_http_test: Skip
html/transferables_test: Skip
html/webgl_1_test: Skip
html/wrapping_collections_test: Skip
math/min_max_test: Skip
mirrors/abstract_class_test: Skip
mirrors/abstract_test: Skip
mirrors/circular_factory_redirection_test: Skip
mirrors/class_declarations_test: Skip
mirrors/closures_test: Skip
mirrors/constructors_test: Skip
mirrors/dart2js_mirrors_test: Skip
mirrors/deferred_type_test: Skip
mirrors/delegate_call_through_getter_test: Skip
mirrors/delegate_class_test: Skip
mirrors/delegate_function_invocation_test: Skip
mirrors/delegate_library_test: Skip
mirrors/delegate_test: Skip
mirrors/enum_test: Skip
mirrors/fake_function_without_call_test: Skip
mirrors/generic_bounded_by_type_parameter_test: Skip
mirrors/generic_bounded_test: Skip
mirrors/generic_class_declaration_test: Skip
mirrors/generic_f_bounded_mixin_application_test: Skip
mirrors/generic_interface_test: Skip
mirrors/generics_test: Skip
mirrors/get_symbol_name_no_such_method_test: Skip
mirrors/immutable_collections_test: Skip
mirrors/inference_and_no_such_method_test: Skip
mirrors/inherit_field_test: Skip
mirrors/initializing_formals_test: Skip
mirrors/instance_members_easier_test: Skip
mirrors/instance_members_test: Skip
mirrors/instance_members_with_override_test: Skip
mirrors/intercepted_class_test: Skip
mirrors/intercepted_object_test: Skip
mirrors/invoke_call_through_getter_previously_accessed_test: Skip
mirrors/invoke_call_through_getter_test: Skip
mirrors/invoke_call_through_implicit_getter_previously_accessed_test: Skip
mirrors/invoke_call_through_implicit_getter_test: Skip
mirrors/lazy_static_test: Skip
mirrors/library_declarations_test: Skip
mirrors/library_exports_hidden_test: Skip
mirrors/library_exports_shown_test: Skip
mirrors/library_import_deferred_loading_test: Skip
mirrors/library_imports_bad_metadata_test: Skip
mirrors/library_imports_deferred_test: Skip
mirrors/library_imports_hidden_test: Skip
mirrors/library_imports_metadata_test: Skip
mirrors/library_imports_prefixed_show_hide_test: Skip
mirrors/library_imports_prefixed_test: Skip
mirrors/library_imports_shown_test: Skip
mirrors/library_metadata2_test: Skip
mirrors/load_library_test: Skip
mirrors/metadata_allowed_values_test: Skip
mirrors/metadata_constructor_arguments_test: Skip
mirrors/metadata_nested_constructor_call_test: Skip
mirrors/metadata_scope_test: Skip
mirrors/method_mirror_name_test: Skip
mirrors/method_mirror_properties_test: Skip
mirrors/mirror_in_static_init_test: Skip
mirrors/mirrors_nsm_mismatch_test: Skip
mirrors/mirrors_nsm_test: Skip
mirrors/mirrors_test: Skip
mirrors/mirrors_used_get_name2_test: Skip
mirrors/mirrors_used_get_name_test: Skip
mirrors/mirrors_used_inheritance_test: Skip
mirrors/mixin_application_test: Skip
mirrors/mixin_members_test: Skip
mirrors/model_test: Skip
mirrors/native_class_test: Skip
mirrors/no_metadata_test: Skip
mirrors/operator_test: Skip
mirrors/parameter_is_const_test: Skip
mirrors/parameter_of_mixin_app_constructor_test: Skip
mirrors/parameter_test: Skip
mirrors/private_symbol_test: Skip
mirrors/redirecting_factory_different_type_test: Skip
mirrors/redirecting_factory_test: Skip
mirrors/reflect_class_test: Skip
mirrors/reflect_model_test: Skip
mirrors/reflected_type_classes_test: Skip
mirrors/reflected_type_test: Skip
mirrors/regress_16321_test: Skip
mirrors/regress_19731_test: Skip
mirrors/relation_subclass_test: Skip
mirrors/removed_api_test: Skip
mirrors/repeated_private_anon_mixin_app_test: Skip
mirrors/return_type_test: Skip
mirrors/set_field_with_final_inheritance_test: Skip
mirrors/static_members_easier_test: Skip
mirrors/static_members_test: Skip
mirrors/static_test: Skip
mirrors/syntax_error_test: Skip
mirrors/synthetic_accessor_properties_test: Skip
mirrors/top_level_accessors_test: Skip
mirrors/type_mirror_for_type_test: Skip
mirrors/typearguments_mirror_test: Skip
mirrors/typedef_in_signature_test: Skip
mirrors/typedef_reflected_type_test: Skip
mirrors/variable_is_const_test: Skip
typed_data/float32x4_test: Skip
typed_data/float64x2_functional_test: Skip
typed_data/int32x4_test: Skip

[ $compiler == dart2analyzer && $strong ]
html/custom/created_callback_test: CompileTimeError # Issue 28969
html/custom/document_register_basic_test: CompileTimeError # Issue 28969
html/custom/document_register_type_extensions_test: CompileTimeError # Issue 28969
html/custom/element_upgrade_test: CompileTimeError # Issue 28969
html/debugger_test: CompileTimeError # Issue 28969
html/js_typed_interop_default_arg_test/default_value: MissingCompileTimeError # Issue 28969
mirrors/deferred_mirrors_metadata_test: StaticWarning # Issue 28969
