# 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 == true ]
big_integer_arith_vm_test: Skip
bool_from_environment2_test: Skip
core_runtime_types_test: Skip
data_resource_test: Skip
duration2_test: Skip
error_stack_trace_test: Skip
file_resource_test: Skip
from_environment_const_type_test: Skip
from_environment_const_type_undefined_test: Skip
growable_list_test: Skip
hash_set_type_check_test: Skip
http_resource_test: Skip
int_from_environment3_test: Skip
iterable_contains2_test: Skip
iterable_element_at_test: Skip
iterable_fold_test: Skip
iterable_mapping_test: Skip
iterable_reduce_test: Skip
iterable_to_list_test: Skip
iterable_to_set_test: Skip
linked_hash_map_from_iterable_test: Skip
list_contains_argument_order_test: Skip
list_filled_type_argument_test: Skip
list_index_of2_test: Skip
list_test: Skip
list_unmodifiable_test: Skip
map_test: Skip
num_clamp_test: Skip
package_resource_test: Skip
print_test: Skip
queue_test: Skip
regexp/global_test: Skip
regexp/regexp_test: Skip
regexp/regress-regexp-codeflush_test: Skip
regexp/standalones_test: Skip
splay_tree_test: Skip
string_base_vm_test: Skip
string_from_environment3_test: Skip
string_from_list_test: Skip
string_replace_test: Skip
string_test: Skip
symbol_operator_test: Skip
symbol_reserved_word_test: Skip
symbol_test: Skip
uri_path_test: Skip
uri_query_test: Skip
