# 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 || $compiler == precompiler || $compiler == app_jit ]
tearoff_constructor_basic_test: Skip # Crashes in checked mode -- hausner investigating
generic_methods_type_expression_test: RuntimeError # Issue 25869

# This is OK for now, but we may want to change the semantics to match the test.
async_star_pause_test: Fail, OK

# These tests are skipped in the VM because it has "--supermixin"
# functionality enabled unconditionally.  The tests should be removed
# once the same is true for analyzer (#24478) and dart2js (#23773)
mixin_illegal_super_use_test: Skip # Issues 24478 and 23773
mixin_illegal_superclass_test: Skip # Issues 24478 and 23773

# These bugs refer currently ongoing language discussions.
constructor5_test: Fail # Issue 6422
constructor6_test: Fail # Issue 6422

# Failures related to super call in ctor initializer list
super_test: Fail, OK
final_field_initialization_order_test: Fail, OK
field_initialization_order_test: Fail, OK
example_constructor_test: Fail, OK
constructor3_test: Fail, OK
constructor2_test: Fail, OK

dynamic_prefix_core_test/01: RuntimeError # Issue 12478
multiline_strings_test: Fail # Issue 23020

# 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

# Fails because `as T` is an error rather than being treated like `as dynamic`.
generic_methods_type_expression_test: RuntimeError # Issue 27460

[ ($compiler == none || $compiler == precompiler || $compiler == app_jit) && $checked ]
# These generic functions tests pass for the wrong reason in checked mode,
# because the parsed type parameters are mapped to dynamic type.
generic_methods_function_type_test: Pass # Issue 25869
generic_methods_test: Pass # Issue 25869
generic_methods_new_test: Pass # Issue 25869
generic_local_functions_test: Pass # Issue 25869
generic_functions_test: Pass # Issue 25869
generic_methods_generic_function_parameter_test: Pass # Issue 25869

[ ($compiler == none || $compiler == precompiler || $compiler == app_jit) && ($runtime == vm || $runtime == dart_precompiled) ]

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 || $compiler == precompiler || $compiler == app_jit) && $checked ]
type_variable_bounds4_test/01: Fail # Issue 14006

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

[ $compiler == none && $runtime == dartium && $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) ]
issue13474_test: Pass, Fail # Issue 14651.
config_import_test: Fail # Issue 14651.
vm/optimized_guarded_field_isolates_test: RuntimeError, OK  # Uses Isolate.spawn.
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.

# These tests need the flag --initializing-formal-access to pass:
initializing_formal_access_test: Skip
initializing_formal_capture_test: Skip
initializing_formal_final_test: Skip
initializing_formal_promotion_test: Skip
initializing_formal_type_test: Skip
parameter_initializer5_test: Skip

# Experimental feature: Syntactic support for generic methods.
# Skip these in dartium, because the test framework can't pass VM flags to
generic_methods_test: Skip # Issue 25869
generic_functions_test: Skip # Issue 25869
generic_local_functions_test: Skip # Issue 25869
generic_sends_test: Skip # Issue 25869
generic_methods_new_test: Skip # Issue 25869
generic_methods_function_type_test: Skip # Issue 25869
generic_methods_type_expression_test: Skip # Issue 25869

config_import_test: Skip  # Issue 26250

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

[ $compiler == none && $runtime == dartium && $system == linux && $arch == x64 ]
async_await_test: Skip # Issue 26198

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

[ ($runtime == vm || $runtime == dart_precompiled) && $arch == mips && $mode == debug ]
large_class_declaration_test: SkipSlow # Times out. Issue 20352

[ ($runtime == vm || $runtime == dart_precompiled) && $arch == arm64 ]
large_class_declaration_test: SkipSlow # Uses too much memory.

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

[ ($runtime == vm || $runtime == dart_precompiled) && ( $arch == simarm || $arch == arm || $arch == simarmv6 || $arch == armv6 || $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
vm/unaligned_float_access_literal_index_test: Pass, Crash # Unaligned offset. Issue 22151
vm/unaligned_float_access_literal_index_test: Pass, Crash # Unaligned offset. Issue 22151


[ $compiler == none && ($runtime == dartium || $runtime == drt) ]
issue23244_test: Fail # Issue 23244

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

[ $compiler == precompiler && $runtime == dart_precompiled ]
vm/regress_27671_test: Skip # Unsupported

[ $noopt || $compiler == precompiler ]
# Stacktraces in precompilation omit inlined frames.
full_stacktrace1_test: Pass, RuntimeError
full_stacktrace2_test: Pass, RuntimeError
full_stacktrace3_test: Pass, RuntimeError
stack_trace_test: Pass, RuntimeError
stacktrace_rethrow_error_test: Pass, RuntimeError
stacktrace_rethrow_nonerror_test: Pass, RuntimeError
stacktrace_test: Pass, RuntimeError
regress_26948_test: Skip # Crashes, regis investigating

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

[ $noopt ]
# Deferred loading happens eagerly. Issue #27587
regress_23408_test: Fail
deferred_inheritance_constraints_test/redirecting_constructor: Fail
deferred_global_test: Fail
deferred_load_constants_test/02: Fail
deferred_load_constants_test/03: Fail
deferred_load_constants_test/05: Fail
tearoff_basic_test: Fail
regress_22443_test: Fail
deferred_not_loaded_check_test: Fail
vm/regress_27201_test: Fail

[ $mode == product || $compiler == app_jit || $compiler == precompiler ]
# Deferred loading happens eagerly. Issue #27587
regress_23408_test: Fail
deferred_inheritance_constraints_test/redirecting_constructor: Fail
deferred_load_constants_test/02: Fail
deferred_load_constants_test/03: Fail
deferred_load_constants_test/05: Fail
tearoff_basic_test: Fail
deferred_not_loaded_check_test: Fail
vm/regress_27201_test: Fail

[ $compiler == precompiler ]
# Deferred loading happens eagerly. Issue #27587
deferred_global_test: Fail
vm/regress_27201_test: Fail

[ $compiler == precompiler || $compiler == app_jit ]
ct_const2_test: Skip # Incompatible flag: --compile_all
hello_dart_test: Skip # Incompatible flag: --compile_all

[ $compiler == precompiler ]
implicit_closure_test: Skip # Incompatible flag: --use_slow_path
deopt_inlined_function_lazy_test: Skip # Incompatible flag: --deoptimize-alot

[ $noopt || $compiler == precompiler || $compiler == app_jit ]
vm/type_vm_test: RuntimeError # Expects line and column numbers
vm/type_cast_vm_test: RuntimeError # Expects line and column numbers

[ $mode == product ]
issue13474_test: SkipByDesign # Requires checked mode.
assertion_test: SkipByDesign # Requires checked mode.
named_parameters_type_test/01: SkipByDesign # Requires checked mode.
named_parameters_type_test/02: SkipByDesign # Requires checked mode.
named_parameters_type_test/03: SkipByDesign # Requires checked mode.
type_checks_in_factory_method_test: SkipByDesign # Requires checked mode.
positional_parameters_type_test/01: SkipByDesign # Requires checked mode.
positional_parameters_type_test/02: SkipByDesign # Requires checked mode.
list_literal4_test: SkipByDesign # Requires checked mode.
generic_test: SkipByDesign # Requires checked mode.
map_literal4_test: SkipByDesign # Requires checked mode.

vm/type_vm_test: Fail,OK  # Expects exact type name.


[ ($compiler == none || $compiler == precompiler || $compiler == app_jit) && $browser ]
# The following tests are supposed to fail.
library_env_test/has_io_support: RuntimeError, OK
library_env_test/has_no_html_support: RuntimeError, OK

[ ($compiler == none || $compiler == precompiler || $compiler == app_jit) && $browser != true ]
# The following tests are supposed to fail.
library_env_test/has_html_support: RuntimeError, OK
library_env_test/has_no_io_support: RuntimeError, OK

[ ($compiler == none || $compiler == app_jit) && $noopt == false && $mode != product ]
# The following tests are supposed to fail.
library_env_test/has_no_mirror_support: RuntimeError, OK

[ $noopt || $compiler == precompiler || $mode == product ]
# The following tests are supposed to fail.
library_env_test/has_mirror_support: RuntimeError, OK

[ $hot_reload || $hot_reload_rollback ]
static_closure_identical_test: Pass, Fail # Closure identity
cha_deopt1_test: Crash # Requires deferred libraries
cha_deopt2_test: Crash # Requires deferred libraries
cha_deopt3_test: Crash # Requires deferred libraries
deferred_call_empty_before_load_test: Crash # Requires deferred libraries
deferred_closurize_load_library_test: Crash # Requires deferred libraries
deferred_constant_list_test: Crash # Requires deferred libraries
deferred_constraints_constants_test: Crash # Requires deferred libraries
deferred_constraints_type_annotation_test: Crash # Requires deferred libraries
deferred_function_type_test: Crash # Requires deferred libraries
deferred_global_test: Crash # Requires deferred libraries
deferred_import_core_test: Crash # Requires deferred libraries
deferred_inlined_test: Crash # Requires deferred libraries
deferred_inheritance_constraints_test: Crash # Requires deferred libraries
deferred_load_constants_test: Crash # Requires deferred libraries
deferred_load_inval_code_test: Crash # Requires deferred libraries
deferred_load_library_wrong_args_test: Crash # Requires deferred libraries
deferred_mixin_test: Crash # Requires deferred libraries
deferred_no_such_method_test: Crash # Requires deferred libraries
deferred_not_loaded_check_test: Crash # Requires deferred libraries
deferred_only_constant_test: Crash # Requires deferred libraries
deferred_optimized_test: Crash # Requires deferred libraries
deferred_redirecting_factory_test: Crash # Requires deferred libraries
deferred_regression_22995_test: Crash # Requires deferred libraries
deferred_shadow_load_library_test: Crash # Requires deferred libraries
deferred_shared_and_unshared_classes_test: Crash # Requires deferred libraries
deferred_static_seperate_test: Crash # Requires deferred libraries
deferred_super_dependency_test: Pass, Crash # Requires deferred libraries
deferred_type_dependency_test: Crash # Requires deferred libraries
issue_1751477_test: Crash # Requires deferred libraries
regress_23408_test: Crash # Requires deferred libraries
regress_22443_test: Crash # Requires deferred libraries
tearoff_basic_test: Crash # Requires deferred libraries
conditional_import_test: Crash # Requires deferred libraries
conditional_import_string_test: Crash # Requires deferred libraries
override_field_method1_negative_test: Pass, Crash # Issue 27835
override_field_method2_negative_test: Pass, Crash # Issue 27835
override_field_method4_negative_test: Pass, Crash # Issue 27835
override_field_method5_negative_test: Pass, Crash # Issue 27835
vm/regress_27201_test: Pass, Crash # Requires deferred libraries

[$runtime != vm || $compiler != none]
assert_initializer_test: SKIP  # not implemented yet, experiment is VM only.

[$runtime == vm && $compiler == none && $unchecked]
assert_initializer_test/*: MissingCompileTimeError, OK  # asserts shouldn't fail in unchecked mode.
assert_initializer_test/none: pass

[$runtime == vm && $compiler == none && $checked]
# The VM doesn't enforce that potentially const expressions are actually
# const expressions when the constructor is called with `const`.
assert_initializer_test/4*: MissingCompileTimeError # Issue 392.

[$runtime == vm && $compiler == none]
duplicate_part_test/01: MissingCompileTimeError # Issue 27516

[$compiler == dart2analyzer]
vm/regress_27201_test: SkipByDesign # Loads bad library, so will always crash.
