# 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 == dartdevc".

[ $compiler == dartdevc ]
async_return_types_test/nestedFuture: MissingCompileTimeError
bit_operations_test/01: MissingCompileTimeError
bit_operations_test/02: MissingCompileTimeError
bit_operations_test/03: MissingCompileTimeError
bit_operations_test/04: MissingCompileTimeError
generic_methods_generic_function_result_test/none: CompileTimeError # Issue #30208
assertion_initializer_test: CompileTimeError
assertion_initializer_const_error2_test/none: CompileTimeError
assertion_initializer_const_function_test/01: CompileTimeError
bad_initializer2_negative_test: fail # Issue 14880
black_listed_test/none: fail # Issue 14228
bad_initializer1_negative_test: CompileTimeError # Issue 14529
bad_named_constructor_negative_test: CompileTimeError # Issue 18693
body_less_constructor_wrong_arg_negative_test: CompileTimeError # Issue 18695
built_in_identifier_prefix_test: CompileTimeError
built_in_identifier_prefix_test: CompileTimeError
covariant_subtyping_with_substitution_test: RuntimeError # Issue 30461
function_subtype_inline2_test: RuntimeError

[ $strong && $compiler == dartdevc ]
accessor_conflict_export2_test: CompileTimeError # Issue 25626
accessor_conflict_export_test: CompileTimeError # Issue 25626
accessor_conflict_import2_test: CompileTimeError # Issue 25626
accessor_conflict_import_prefixed2_test: CompileTimeError # Issue 25626
accessor_conflict_import_prefixed_test: CompileTimeError # Issue 25626
accessor_conflict_import_test: CompileTimeError # Issue 25626
regress_30339_test: CompileTimeError # As expected. Should we make this a multi test?

[ $compiler == dartdevc && $runtime != none ]
async_star_cancel_while_paused_test: RuntimeError # Issue 29920
async_star_pause_test: RuntimeError
bit_operations_test/01: RuntimeError # No bigints on web.
bit_operations_test/02: RuntimeError # No bigints on web.
bit_operations_test/03: RuntimeError # No bigints on web.
bit_operations_test/04: RuntimeError # No bigints on web.
bit_operations_test/none: RuntimeError # No bigints on web.
branch_canonicalization_test: RuntimeError # Issue 29920
call_closurization_test: RuntimeError # Issue 29920
call_test: RuntimeError
canonical_const2_test: RuntimeError # Ints and doubles are unified.
canonical_const_test: RuntimeError # Ints and doubles are unified.
function_type/function_type50_test: RuntimeError # Issue 29920
function_type/function_type58_test: RuntimeError # Issue 29920
compile_time_constant10_test/none: RuntimeError 