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

[ $compiler == dartk ]
Language/Libraries_and_Scripts/Scripts/top_level_main_t01: Crash
LibTest/isolate/SendPort/send_A01_t02: Crash
LibTest/isolate/SendPort/send_A01_t03: Crash

[ $compiler == fasta ]
LanguageFeatures/Constant-update-2018/NewOperators_A01_t06/none: Crash

[ $runtime == vm ]
LibTest/collection/ListBase/ListBase_class_A01_t02: Slow, Pass # Does many calls
LibTest/collection/ListMixin/ListMixin_class_A01_t02: Slow, Pass # Does many calls
LibTest/core/List/List_class_A01_t02: Slow, Pass # Does many calls
LibTest/io/RawDatagramSocket/*: Skip # RawDatagramSocket are flacky. Skip them all until rewritten

[ $compiler == dartk && $runtime == vm && $system == linux ]
LibTest/isolate/Isolate/spawn_A06_t03: Crash

[ $compiler == dartk && $runtime == vm && $system == macos ]
LibTest/collection/ListBase/ListBase_class_A01_t02: Slow, Pass
LibTest/collection/ListBase/ListBase_class_A01_t03: Slow, Pass
LibTest/collection/ListMixin/ListMixin_class_A01_t02: Slow, Pass
LibTest/collection/ListMixin/ListMixin_class_A01_t03: Slow, Pass
LibTest/core/List/List_class_A01_t02: Slow, Pass
LibTest/core/List/List_class_A01_t03: Slow, Pass

[ $compiler == dartk && $runtime != vm ]
Language/Classes/Constructors/Constant_Constructors/potentially_constant_expression_t01: Crash

# It makes no sense to run any test that uses spawnURI under the simulator
# as that would involve running CFE (the front end) in simulator mode
# to compile the URI file specified in spawnURI code.
# These Isolate tests that use spawnURI are hence skipped on purpose.
[ $runtime == dart_precompiled || $runtime == vm && ($arch == simarm || $arch == simarm64 || $arch == simarm64c) ]
LibTest/isolate/Isolate/spawnUri*: Skip

