# Copyright (c) 2017, 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.
# Sections in this file should contain "$compiler == dart2js".

[ $compiler == dart2js ]
async_star/async_star_await_for_test: Skip # evades flake detection https://github.com/dart-lang/sdk/issues/51086
external_abstract_fields/external_fields_test: SkipByDesign # Non-JS-interop external members are not supported
inference_update_2/external_field_test: SkipByDesign # Non-JS-interop external members are not supported
inference_update_2/why_not_promoted_external_error_test: SkipByDesign # Non-JS-interop external members are not supported
mixin_method_override_test/G5: Skip # Issue 34354
number/int64_literal_runtime*_test: Skip # This is testing Dart 2.0 int64 semantics
regress/regress41983_test: Slow, Pass # Stress test that requires longer time to compile
vm/*: SkipByDesign # Tests for the VM.

[ $compiler != dart2js ]
closure/minify_closure_variable_collision_test: SkipByDesign # Regression test for dart2js

[ $builder_tag == dart2js_production && $compiler == dart2js ]
call/implicit_tearoff_exceptions_test: SkipByDesign # No argument type checks in production mode, issue 45528
control_flow_collections/for_non_bool_condition_test: Crash # Issue 36442
regress/regress45428_test: SkipByDesign # No argument type checks in production mode, issue 45528
type_object/futureor_tostring_test: Skip # Type syntax is not preserved in minified mode

[ $compiler == dart2js && $runtime == chromeOnAndroid ]
override_field_test/02: Slow, Pass # TODO(kasperl): Please triage.

[ $compiler == dart2js && $runtime == d8 ]
import/conditional_string_test: SkipByDesign # No XHR in d8

[ $compiler == dart2js && $runtime == jsshell ]
await/for_test: Skip # Jsshell does not provide periodic timers, Issue 7728

[ $compiler == dart2js && $system == windows ]
canonicalize/hashing_memoize_array_test: Skip # Issue 37631
canonicalize/hashing_memoize_instance_test: Skip # Issue 37631
canonicalize/hashing_shallow_collision_array_test: Skip # Issue 37631
canonicalize/hashing_shallow_collision_instance_test: Skip # Issue 37631
