# 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.

[ $compiler == dart2js ]
unsorted/invocation_errors_test: Pass
unsorted/nsm_dispatcher_test: Skip # The test uses Symbol without MirrorsUsed
unsorted/simple_literal_test/01: Skip # The test expects error for large integer literal.

[ !$fasta ]
unsorted/loop_test: Skip # This test uses optional new/const.

[ $compiler != app_jitk && $compiler != dart2js && $compiler != dartk && $compiler != dartkb && $compiler != dartkp && $runtime != none ]
unsorted/types_test: RuntimeError

[ $compiler == dart2analyzer && $runtime == none ]
unsorted/super_mixin_test: CompileTimeError

[ $compiler == dart2js && $fasta ]
unsorted/super_mixin_test: RuntimeError
unsorted/try_finally_test: Crash

[ $compiler == dart2js && $fasta && $host_checked ]
unsorted/super_mixin_test: Crash

[ $compiler == dart2js && !$fasta ]
unsorted/super_mixin_test: CompileTimeError

[ $compiler == dart2js && !$strong ]
unsorted/types_test: RuntimeError

[ $compiler != dartk && $compiler != dartkb && $compiler != dartkp && !$strong ]
unsorted/invocation_errors_test/00: MissingCompileTimeError # This test has been tuned for dart 2.

[ $runtime == dart_precompiled && $minified ]
unsorted/symbol_literal_test: Skip # Expects unobfuscated Symbol.toString.
