# 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.
unsorted/super_initializer_test: Skip

[ !$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 == dart2analyzer && $strong ]
unsorted/klass_field_initializer_test: CompileTimeError
unsorted/super_initializer_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.
