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

# This directory contains tests that are intended to show the
# current state of the language.

[ $compiler == none ]
built_in_identifier_prefix_test: Fail # Issue 6970
tearoff_constructor_basic_test: Skip # Crashes in checked mode -- hausner investigating

# These bugs refer currently ongoing language discussions.
constructor_initializer_test/none: Fail # Issue 12633
constructor5_test: Fail # Issue 6422
constructor6_test: Fail # Issue 6422
closure_in_initializer_test: Fail # Issue 6422

# Regular bugs which should be fixed.
duplicate_export_negative_test: Fail # Issue 6134

deferred_redirecting_factory_test: Fail # Issue 23408
redirecting_constructor_initializer_test: RuntimeError # Issue 23488

# Non-contractive types are not supported in the vm.
cyclic_type_test/02: Fail, OK
cyclic_type_test/04: Fail, OK
cyclic_type2_test: Fail, OK
least_upper_bound_expansive_test/*: Fail, OK

async_star_regression_2238_test: CompileTimeError, RuntimeError # drt only runtime-errs.
async_star_cancel_while_paused_test: RuntimeError
async_star_await_pauses_test: Skip # Times out. Issue 23996

# Unsupported configuration specific imports.
config_import_test: Fail # Issue 24581

[ $compiler == none && $runtime == vm ]
class_keyword_test/02: MissingCompileTimeError # Issue 13627
unicode_bom_test: Fail # Issue 16067
vm/debug_break_enabled_vm_test/01: Crash, OK # Expected to hit breakpoint.
try_catch_optimized1_test: Skip # Srdjan investigating

[ $compiler == none && $checked ]
type_variable_bounds4_test/01: Fail # Issue 14006

[ $compiler == none ]
dynamic_prefix_core_test/01: RuntimeError # Issue 12478
multiline_strings_test: Fail # Issue 23020

[ $compiler == none && ($runtime == vm || $runtime == drt || $runtime == dartium || $runtime == ContentShellOnAndroid) ]
dynamic_prefix_core_test/none: Fail # Issue 12478
export_ambiguous_main_negative_test: Fail # Issue 14763

[ $compiler == none && ($runtime == dartium || $runtime == ContentShellOnAndroid) && $unchecked ]
assertion_test: Fail # Issue 14651.
generic_test: Fail # Issue 14651.
list_literal4_test: Fail # Issue 14651.
map_literal4_test: Fail # Issue 14651.
named_parameters_type_test/01: Fail # Issue 14651.
named_parameters_type_test/02: Fail # Issue 14651.
named_parameters_type_test/03: Fail # Issue 14651.
positional_parameters_type_test/01: Fail # Issue 14651.
positional_parameters_type_test/02: Fail # Issue 14651.
type_checks_in_factory_method_test: Fail # Issue 14651.
vm/type_vm_test: Fail # Issue 14651.

[ $compiler == none && ( $runtime == dartium || $runtime == drt || $runtime == ContentShellOnAndroid) ]
issue13474_test: Pass, Fail # Issue 14651.
vm/optimized_guarded_field_isolates_test: Fail # Issue 13921.
main_test/01: Fail # Issue 20028
main_test/02: Fail # Issue 20028
main_test/04: Fail # Issue 20028
main_test/05: Fail # Issue 20028
main_test/21: Fail # Issue 20028
main_test/42: Fail # Issue 20028
mirror_in_static_init_test: Fail # Issue 22071
vm/debug_break_enabled_vm_test/*: Skip # Issue 14651.

[ $compiler == none && $runtime == dartium && $system == linux && $arch != x64 ]
issue_22780_test/01 : Pass, Timeout # Issue 24473

[ $compiler == none && $runtime == drt ]
disassemble_test: Pass, Fail # Issue 18122

[ $compiler == none && $runtime == vm && $arch == mips && $checked ]
generic_instanceof3_test: Pass, Crash # Issue 17440.

[ $compiler == none && $runtime == vm && $arch == mips && $mode == debug ]
stack_overflow_test: Skip # Crashes. Issue 17440.
stack_overflow_stacktrace_test: Skip # Crashes. Issue 17440.
large_class_declaration_test: SkipSlow # Times out. Issue 20352

[ $compiler == none && ($runtime == dartium || $runtime == drt || $runtime == ContentShellOnAndroid) && $mode == debug ]
large_class_declaration_test: SkipSlow # Times out. Issue 20352

[ $compiler == none && $runtime == ContentShellOnAndroid ]
gc_test: SkipSlow # Times out flakily. Issue 20956

[ $compiler == none && $runtime == vm && ( $arch == simarm || $arch == arm || $arch == simarmv5te || $arch == armv5te || $arch == simarm64 || $arch == arm64 || $arch == simmips || $arch == mips) ]
vm/load_to_load_unaligned_forwarding_vm_test: Pass, Crash # Unaligned offset. Issue 22151

[ $compiler == none && $runtime == dartium ]
issue23244_test: Fail # Issue 23244

[ $compiler == none && ($runtime == vm || $runtime == drt || $runtime == dartium) && $arch == ia32 ]
vm/regress_24517_test: Pass, Fail # Issue 24517.

[ $noopt ]
# Imports dart:mirrors
const_evaluation_test: CompileTimeError
deferred_constraints_constants_test: CompileTimeError
enum_mirror_test: CompileTimeError
field_increment_bailout_test: CompileTimeError
instance_creation_in_function_annotation_test: CompileTimeError
invocation_mirror2_test: CompileTimeError
invocation_mirror_invoke_on2_test: CompileTimeError
invocation_mirror_invoke_on_test: CompileTimeError
issue21079_test: CompileTimeError
many_overridden_no_such_method_test: CompileTimeError
no_such_method_test: CompileTimeError
null_test/none: CompileTimeError
overridden_no_such_method_test: CompileTimeError
regress_13462_0_test: CompileTimeError
regress_13462_1_test: CompileTimeError
regress_18535_test: CompileTimeError
super_call4_test: CompileTimeError
super_getter_setter_test: CompileTimeError
vm/reflect_core_vm_test: CompileTimeError
redirecting_factory_reflection_test: CompileTimeError

# Deferred loading - Issue 24676
deferred_load_constants_test: Skip
deferred_constraints_constants_test: Skip
deferred_global_test: Skip
deferred_inheritance_constraints_test: Skip

deopt_inlined_function_lazy_test: Pass, Crash # Incompatible flag: --deoptimize-alot
tearoff_basic_test: RuntimeError, Crash # Conflicting flag.
vm/type_cast_vm_test: RuntimeError # Line number mismatch.
regress_23408_test: RuntimeError

stack_trace_test: Fail  # Issue 24783 - inlined frames missing
