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

[ $compiler == dart2js ]
class_test: Fail
statements_test: Fail
typed_locals_test: Fail
no_such_method_test: Fail # Wrong Invocation.memberName.
constant_javascript_semantics4_test: Fail, OK
mirrors_used_closure_test: Fail # Issue 17939
dummy_compiler_test: Slow, Pass
recursive_import_test: Slow, Pass

[ $compiler == dart2js && $browser ]
dummy_compiler_test: Skip
recursive_import_test: Skip

[ $compiler == dart2analyzer && $builder_tag == strong ]
dummy_compiler_test: Skip # Issue 28649
recursive_import_test: Skip # Issue 28649

[ $hot_reload || $hot_reload_rollback ]
recursive_import_test: Skip # Running dart2js under frequent reloads is slow.
dummy_compiler_test: Skip # Running dart2js under frequent reloads is slow.

[ $builder_tag == asan ]
recursive_import_test: Skip # Issue 27441

[ ($compiler == dartk || $compiler == dartkp) && $mode == debug ]
dummy_compiler_test: Slow, Pass
recursive_import_test: Slow, Pass

[ $compiler == dart2js && $checked ]
variable_type_test/03: Fail, OK
variable_type_test/01: Fail, OK

[ $compiler == dart2js && $fast_startup ]
21666_test: Fail # mirrors not supported
23056_test: Fail # mirrors not supported
closure_type_reflection2_test: Fail # mirrors not supported
closure_type_reflection_test: Fail # mirrors not supported
deferred/deferred_mirrors1_lib: Fail # mirrors not supported
deferred/deferred_mirrors1_test: Fail # mirrors not supported
deferred/deferred_mirrors2_lazy: Fail # mirrors not supported
deferred/deferred_mirrors2_lib3: Fail # mirrors not supported
deferred/deferred_mirrors2_test: Fail # mirrors not supported
inference_nsm_mirrors_test: Fail # mirrors not supported
invalid_annotation2_test/none: Fail # mirrors not supported
invalid_annotation2_test/01: Pass # mirrors not supported, passes for the wrong reason
lookup_map/dead_entry_through_mirrors_test: Fail # mirrors not supported
lookup_map/live_entry_through_mirrors_test: Fail # mirrors not supported
lookup_map/live_entry_through_mirrors_used_test: Fail # mirrors not supported
mirror_enqueuer_regression_test: Fail # mirrors not supported
mirror_invalid_field_access2_test: Fail # mirrors not supported
mirror_invalid_field_access3_test: Fail # mirrors not supported
mirror_invalid_field_access4_test: Fail # mirrors not supported
mirror_invalid_field_access_test: Fail # mirrors not supported
mirror_invalid_invoke2_test: Fail # mirrors not supported
mirror_invalid_invoke3_test: Fail # mirrors not supported
mirror_invalid_invoke_test: Fail # mirrors not supported
mirror_printer_test: Fail # mirrors not supported
mirror_test: Fail # mirrors not supported
mirror_type_inference_field2_test: Fail # mirrors not supported
mirror_type_inference_field_test: Fail # mirrors not supported
mirror_type_inference_function_test: Fail # mirrors not supported
mirrors_declarations_filtering_test: Fail # mirrors not supported
mirrors_used_closure_test: Fail # mirrors not supported
mirrors_used_metatargets_test: Fail # mirrors not supported
mirrors_used_native_test: Fail # mirrors not supported
mirrors_used_warning2_test: Fail # mirrors not supported
mirrors_used_warning_test: Fail # mirrors not supported
no_such_method_mirrors_test: Fail # mirrors not supported
reflect_native_types_test: Fail # mirrors not supported

[ $compiler == dart2js && ($runtime == d8 || $runtime == chrome || $runtime == drt) ]
bound_closure_interceptor_type_test: Fail, Pass # v8 issue 3084. https://code.google.com/p/v8/issues/detail?id=3084

[ $compiler == dart2js && $mode == debug ]
operator_test: Skip
string_interpolation_test: Skip

[ $compiler == dart2js && $runtime == chromeOnAndroid ]
no_such_method_mirrors_test: Pass, Slow # TODO(kasperl): Please triage.

[ $compiler == dart2js && $runtime == none ]
*: Fail, Pass # TODO(ahe): Triage these tests.

[ $compiler == dart2js && $minified ]
to_string_test: Fail # Issue 7179.
runtime_type_test: Fail, OK # Tests extected output of Type.toString().
code_motion_exception_test: Skip  # Requires unminified operator names.
mirrors_used_warning_test/minif: Fail, OK # Tests warning that minified code will be broken.


[ $compiler == dart2js && $runtime == safari ]
deferred_fail_and_retry_worker_test: Timeout  # Issue 22106

[ $compiler == dart2js && ($runtime == drt || $runtime == ff || $runtime == safari || $runtime == jsshell) ]
code_motion_exception_test: Skip  # Required V8 specific format of JavaScript errors.

[ $compiler == dart2js && ($runtime == drt || $runtime == ff || $runtime == safari || $runtime == safarimobilesim || $runtime == chrome || $runtime == chromeOnAndroid) ]
isolate2_test/01: Fail # Issue 14458.

[ $runtime == jsshell ]
timer_test: Fail # Issue 7728.

[ $runtime == none ]
timer_negative_test: Fail, OK # A negative runtime test.

[ $compiler == dart2js && $csp ]
deferred_fail_and_retry_test: SkipByDesign # Uses eval to simulate failed loading.
deferred_fail_and_retry_worker_test: SkipByDesign # Uses eval to simulate failed loading.
deferred_custom_loader_test: SkipByDesign # Issue 25683

[ $compiler == none && $runtime == vm ]
invalid_annotation_test/01: MissingCompileTimeError, OK # vm is lazy
lookup_map/dead_entry_through_mirrors_test: SkipByDesign # Test for tree-shaking, vm never tree-shakes
unconditional_dartio_import_test: SkipByDesign # dart2js only test
new_from_env_test: SkipByDesign # dart2js only test

[ $compiler == dart2js && $runtime == chrome && $system == windows ]
class_test: Pass, Slow # Issue 25940
consistent_codeUnitAt_error_test: Pass, Slow # Issue 25940
closure_capture3_test: Pass, Slow # Issue 25940
deferred_split_test: Pass, Slow # Issue 25940
closure_capture5_test: Pass, Slow # Issue 25940
conditional_test: Pass, Slow # Issue 25940
constant_javascript_semantics2_test: Pass, Slow # Issue 25940

[ $compiler == dart2js && $runtime == ff && $system == windows ]
consistent_index_error_string_test: Pass, Slow # Issue 25940

[ $compiler == dart2js ]
mirror_printer_test: Pass, Slow # Issue 25940, 16473

[ $compiler == dart2js && $dart2js_with_kernel_in_ssa ]
big_allocation_expression_test: Pass # Issue 27394
21666_test: Crash # Issue 27394
23486_test/02: Crash # Issue 27394
closure_type_reflection2_test: Crash # Issue 27394
closure_type_reflection_test: Crash # Issue 27394
deferred/deferred_mirrors2_test: Crash # Issue 27394
dummy_compiler_test: Crash # Issue 27394
inference_super_set_call_test: RuntimeError # Issue 27394
invalid_annotation2_test/01: Crash # Issue 27394
invalid_annotation2_test/none: Crash # Issue 27394
invalid_annotation_test/01: Crash # Issue 27394
lookup_map/dead_entry_through_mirrors_test: Crash # Issue 27394
lookup_map/live_entry_through_mirrors_test: Crash # Issue 27394
lookup_map/live_entry_through_mirrors_used_test: Crash # Issue 27394
many_fields_test: Crash # Issue 27394
mirror_enqueuer_regression_test: Crash # Issue 27394
mirror_invalid_invoke2_test: Crash # Issue 27394
mirror_invalid_invoke3_test: Crash # Issue 27394
mirror_invalid_invoke_test: Crash # Issue 27394
mirror_printer_test/01: Crash # Issue 27394
mirror_printer_test/none: Crash # Issue 27394
mirror_test: Crash # Issue 27394
mirrors_used_closure_test: Crash # Issue 27394
mirrors_used_metatargets_test: Crash # Issue 27394
mirrors_used_native_test: Crash # Issue 27394
recursive_import_test: Crash # Issue 27394
reflect_native_types_test: Crash # Issue 27394

[ $compiler == dart2js && $dart2js_with_kernel_in_ssa && $host_checked ]
js_dispatch_property_test: Crash # Issue 27394
regress/4562_test/01: Crash # Issue 27394

[ $compiler == dart2js && $dart2js_with_kernel && $host_checked ]
10216a_test: Crash
10216b_test: Crash
16400_test: Crash
17856_test: Crash
19191_test: Crash
21666_test: Crash
22868_test: Crash
22917_test: Crash
23404_test: RuntimeError
23432_test: Crash
23432b_test: Crash # type 'KMethod' is not a subtype of type 'MemberElement' of 'member' where
23828_test: Crash
assert_with_message_test: Crash
async_stacktrace_test: Crash
big_allocation_expression_test: Crash # 'file:*/pkg/compiler/lib/src/ssa/locals_handler.dart': Failed assertion: line 425 pos 12: '!isStoredInClosureField(local)': Local local(Maps.mapToString#first) is stored in a closure field.
bound_closure_interceptor_methods_test: Crash
bound_closure_interceptor_type_test: Crash
break_test: Crash
closure4_test: RuntimeError
closure_capture2_test: RuntimeError
closure_capture3_test: Crash # Assertion failure: Cannot find value Instance of 'ThisLocal' in (local(Closure.nestedClosure#)) for j:closure_call(Closure_nestedClosure_closure.call).
closure_capture4_test: RuntimeError
closure_capture5_test: Crash # 'file:*/pkg/compiler/lib/src/ssa/locals_handler.dart': Failed assertion: line 425 pos 12: '!isStoredInClosureField(local)': Local local(closure4#g) is stored in a closure field.
closure_capture_test: RuntimeError
closure_type_reflection2_test: Crash
closure_type_reflection_test: Crash
code_motion_exception_test: Crash
compile_time_constant4_test/01: MissingCompileTimeError
compile_time_constant4_test/02: MissingCompileTimeError
compile_time_constant4_test/03: MissingCompileTimeError
compile_time_constant4_test/04: MissingCompileTimeError
compile_time_constant4_test/05: MissingCompileTimeError
compile_time_constant4_test/06: Crash
conditional_send_test: Crash
consistent_add_error_test: RuntimeError
consistent_subtract_error_test: RuntimeError
constant_javascript_semantics_test/01: MissingCompileTimeError
constant_javascript_semantics_test/02: MissingCompileTimeError
deferred/deferred_class_test: CompileTimeError
deferred/deferred_constant2_test: CompileTimeError
deferred/deferred_constant3_test: CompileTimeError
deferred/deferred_constant4_test: CompileTimeError
deferred/deferred_function_test: CompileTimeError
deferred/deferred_mirrors1_test: CompileTimeError
deferred/deferred_mirrors2_test: Crash
deferred/deferred_overlapping_test: CompileTimeError
deferred/interface_type_variable_test: CompileTimeError
deferred/uninstantiated_type_variable_test: CompileTimeError
deferred_custom_loader_test: CompileTimeError
deferred_fail_and_retry_test: CompileTimeError
deferred_fail_and_retry_worker_test: CompileTimeError
deferred_inheritance_test: CompileTimeError
deferred_split_test: CompileTimeError
dummy_compiler_test: CompileTimeError
first_class_types_hashcode_test: Crash # 'file:*/pkg/compiler/lib/src/ssa/locals_handler.dart': Failed assertion: line 425 pos 12: '!isStoredInClosureField(local)': Local local(Maps.mapToString#first) is stored in a closure field.
for_in_test: Crash
hash_code_test: Crash
if_null2_test: Crash # 'file:*/pkg/compiler/lib/src/ssa/locals_handler.dart': Failed assertion: line 425 pos 12: '!isStoredInClosureField(local)': Local local(Maps.mapToString#first) is stored in a closure field.
if_null3_test: Crash # 'file:*/pkg/compiler/lib/src/ssa/locals_handler.dart': Failed assertion: line 425 pos 12: '!isStoredInClosureField(local)': Local local(Maps.mapToString#first) is stored in a closure field.
if_null_test: Crash
inference_nsm_mirrors_test: Crash
inference_super_set_call_test: RuntimeError
interceptor_named_arguments_test: Crash
invalid_annotation2_test/none: Crash
is_check_instanceof_test: Crash
js_dispatch_property_test: RuntimeError
label_test/06: Crash
lookup_map/dead_entry_single_nested_pairs_test: Crash
lookup_map/dead_entry_test: Crash
lookup_map/dead_entry_through_mirrors_test: Crash
lookup_map/discovered_code_test: Crash
lookup_map/entries_aside_test: Crash
lookup_map/escaping_entries_test: Crash
lookup_map/generic_type_test: Crash
lookup_map/live_entry_single_pair_test: Crash
lookup_map/live_entry_test: Crash
lookup_map/live_entry_through_mirrors_test: Crash
lookup_map/live_entry_through_mirrors_used_test: Crash
lookup_map/reachable_data2_test: Crash
lookup_map/reachable_data_test: Crash
lookup_map/subclass_lookup_map_test: Crash
many_constants_test: Crash
many_fields_test: Crash
mirror_invalid_field_access2_test: Crash
mirror_invalid_field_access3_test: Crash
mirror_invalid_field_access4_test: Crash
mirror_invalid_field_access_test: Crash
mirror_invalid_invoke2_test: Crash
mirror_invalid_invoke3_test: Crash
mirror_invalid_invoke_test: Crash
mirror_printer_test/01: Crash
mirror_printer_test/none: Crash
mirror_test: Crash
mirror_type_inference_field2_test: Crash
mirror_type_inference_field_test: Crash
mirror_type_inference_function_test: Crash
mirrors_declarations_filtering_test: Crash
mirrors_used_closure_test: Crash
mirrors_used_metatargets_test: Crash
mirrors_used_native_test: Crash
mirrors_used_warning2_test: Crash
mirrors_used_warning_test/minif: Crash
mirrors_used_warning_test/none: Crash
no_such_method_mirrors_test: Crash
no_such_method_test: Crash
optional_parameter_test: Crash
private_symbol_literal_test/01: MissingCompileTimeError
private_symbol_literal_test/02: MissingCompileTimeError
private_symbol_literal_test/03: MissingCompileTimeError
private_symbol_literal_test/04: MissingCompileTimeError
private_symbol_literal_test/05: MissingCompileTimeError
private_symbol_literal_test/06: MissingCompileTimeError
recursive_import_test: CompileTimeError
reflect_native_types_test: Crash
regress/4562_test/none: CompileTimeError
regress/4639_test: Crash
string_interpolation_dynamic_test: RuntimeError
string_interpolation_test: RuntimeError
super_constructor1_test: Crash
switch_test/none: Crash
timer_test: Crash
truncation_errors_test: Crash
type_argument_factory_crash_test: Crash
type_argument_factory_nocrash_test: Crash
type_constant_switch_test/01: MissingCompileTimeError
type_error_message_test: Crash
unconditional_dartio_import_test: CompileTimeError
useful_error_message_1_test: Crash

[ $compiler == dart2js && $dart2js_with_kernel && $minified ]
10216a_test: Crash # Assertion failure: Super constructor for k:constructor(B.) not found.
10216b_test: Crash # Assertion failure: Super constructor for k:constructor(B.) not found.
16400_test: Crash # RangeError (index): Invalid value: Valid value range is empty: 0
17856_test: Crash # Assertion failure: Cannot find value local(Maps_mapToString_closure.call#first) in (local(Maps_mapToString_closure.call#k), local(Maps_mapToString_closure.call#v), local(Maps.mapToString#)) for j:closure_call(Maps_mapToString_closure.call).
19191_test: Crash # NoSuchMethodError: Class 'KMethod' has no instance getter 'memberContext'.
21666_test: Crash # UnimplementedError: KernelClosedWorldMixin.getAppliedMixin
22868_test: Crash # NoSuchMethodError: The getter 'memberIndex' was called on null.
22917_test: Crash # Assertion failure: Cannot find value local(unwrapException_closure.call#ex) in (local(unwrapException_closure.call#error), local(unwrapException#saveStackTrace), local(unwrapException_closure.call#thrownStackTrace)) for j:closure_call(unwrapException_closure.call).
23404_test: RuntimeError
23432_test: Crash # NoSuchMethodError: Class 'KMethod' has no instance getter 'memberContext'.
23432b_test: Crash # NoSuchMethodError: Class 'KMethod' has no instance getter 'memberContext'.
23828_test: Crash # NoSuchMethodError: Class 'KMethod' has no instance getter 'memberContext'.
assert_with_message_test: Crash # NoSuchMethodError: The getter 'enclosingClass' was called on null.
async_stacktrace_test: Crash # NoSuchMethodError: The getter 'memberIndex' was called on null.
bound_closure_interceptor_methods_test: Crash # NoSuchMethodError: The getter 'enclosingClass' was called on null.
bound_closure_interceptor_type_test: Crash # NoSuchMethodError: The getter 'classIndex' was called on null.
break_test: Crash # RangeError (index): Invalid value: Valid value range is empty: 0
closure4_test: RuntimeError
closure_capture2_test: RuntimeError
closure_capture3_test: Crash # Assertion failure: Cannot find value local(Closure_nestedClosure_closure.call#f) in (local(Closure.nestedClosure#)) for j:closure_call(Closure_nestedClosure_closure.call).
closure_capture4_test: RuntimeError
closure_capture5_test: RuntimeError
closure_capture_test: RuntimeError
closure_type_reflection2_test: Crash # UnimplementedError: KernelClosedWorldMixin.getAppliedMixin
closure_type_reflection_test: Crash # UnimplementedError: KernelClosedWorldMixin.getAppliedMixin
code_motion_exception_test: Crash
compile_time_constant4_test/01: MissingCompileTimeError
compile_time_constant4_test/02: MissingCompileTimeError
compile_time_constant4_test/03: MissingCompileTimeError
compile_time_constant4_test/04: MissingCompileTimeError
compile_time_constant4_test/05: MissingCompileTimeError
compile_time_constant4_test/06: Crash # NoSuchMethodError: The method 'fold' was called on null.
conditional_send_test: Crash # NoSuchMethodError: The getter 'memberIndex' was called on null.
consistent_add_error_test: RuntimeError
consistent_subtract_error_test: RuntimeError
constant_javascript_semantics4_test: Crash
constant_javascript_semantics_test/01: MissingCompileTimeError
constant_javascript_semantics_test/02: MissingCompileTimeError
deferred/deferred_class_test: CompileTimeError
deferred/deferred_constant2_test: CompileTimeError
deferred/deferred_constant3_test: CompileTimeError
deferred/deferred_constant4_test: CompileTimeError
deferred/deferred_function_test: CompileTimeError
deferred/deferred_mirrors1_test: CompileTimeError
deferred/deferred_mirrors2_test: Crash # UnimplementedError: KernelClosedWorldMixin.getAppliedMixin
deferred/deferred_overlapping_test: CompileTimeError
deferred/interface_type_variable_test: CompileTimeError
deferred/uninstantiated_type_variable_test: CompileTimeError
deferred_custom_loader_test: CompileTimeError
deferred_fail_and_retry_test: CompileTimeError
deferred_fail_and_retry_worker_test: CompileTimeError
deferred_inheritance_test: CompileTimeError
deferred_split_test: CompileTimeError
dummy_compiler_test: CompileTimeError
for_in_test: Crash # NoSuchMethodError: The getter 'enclosingClass' was called on null.
hash_code_test: Crash # UnimplementedError: Unexpected constant expression new #lib1::Hasher::•().hash (KernelPropertyGet)
if_null_test: Crash # NoSuchMethodError: The getter 'memberIndex' was called on null.
inference_nsm_mirrors_test: Crash # NoSuchMethodError: Class 'KMethod' has no instance getter 'memberContext'.
inference_super_set_call_test: RuntimeError
interceptor_named_arguments_test: Crash # NoSuchMethodError: The getter 'memberIndex' was called on null.
invalid_annotation2_test/none: Crash # NoSuchMethodError: Class 'DynamicType' has no instance getter 'element'.
is_check_instanceof_test: Crash # NoSuchMethodError: The getter 'enclosingClass' was called on null.
js_dispatch_property_test: RuntimeError
label_test/06: Crash # RangeError (index): Invalid value: Valid value range is empty: 0
lookup_map/dead_entry_single_nested_pairs_test: Crash # NoSuchMethodError: Class 'KField' has no instance getter 'constant'.
lookup_map/dead_entry_test: Crash # NoSuchMethodError: Class 'KField' has no instance getter 'constant'.
lookup_map/dead_entry_through_mirrors_test: Crash # NoSuchMethodError: Class 'KField' has no instance getter 'constant'.
lookup_map/discovered_code_test: Crash # NoSuchMethodError: Class 'KField' has no instance getter 'constant'.
lookup_map/entries_aside_test: Crash # NoSuchMethodError: Class 'KField' has no instance getter 'constant'.
lookup_map/escaping_entries_test: Crash # NoSuchMethodError: Class 'KField' has no instance getter 'constant'.
lookup_map/generic_type_test: Crash # NoSuchMethodError: Class 'KField' has no instance getter 'constant'.
lookup_map/live_entry_single_pair_test: Crash # NoSuchMethodError: Class 'KField' has no instance getter 'constant'.
lookup_map/live_entry_test: Crash # NoSuchMethodError: Class 'KField' has no instance getter 'constant'.
lookup_map/live_entry_through_mirrors_test: Crash # NoSuchMethodError: Class 'KField' has no instance getter 'constant'.
lookup_map/live_entry_through_mirrors_used_test: Crash # NoSuchMethodError: Class 'KField' has no instance getter 'constant'.
lookup_map/reachable_data2_test: Crash # NoSuchMethodError: Class 'KField' has no instance getter 'constant'.
lookup_map/reachable_data_test: Crash # NoSuchMethodError: Class 'KField' has no instance getter 'constant'.
lookup_map/subclass_lookup_map_test: Crash # NoSuchMethodError: Class 'KField' has no instance getter 'constant'.
many_constants_test: Crash # Assertion failure: Cannot find value local(Maps_mapToString_closure.call#first) in (local(Maps_mapToString_closure.call#k), local(Maps_mapToString_closure.call#v), local(Maps.mapToString#)) for j:closure_call(Maps_mapToString_closure.call).
many_fields_test: Crash # NoSuchMethodError: The getter 'usedBy' was called on null.
mirror_invalid_field_access2_test: Crash # Assertion failure: Cannot find value local(main_closure.call#mirror) in (local(main#)) for j:closure_call(main_closure.call).
mirror_invalid_field_access3_test: Crash # Assertion failure: Cannot find value local(main_closure.call#mirror) in (local(main#)) for j:closure_call(main_closure.call).
mirror_invalid_field_access4_test: Crash # Assertion failure: Cannot find value local(main_closure.call#mirror) in (local(main#)) for j:closure_call(main_closure.call).
mirror_invalid_field_access_test: Crash # Assertion failure: Cannot find value local(main_closure.call#mirror) in (local(main#)) for j:closure_call(main_closure.call).
mirror_invalid_invoke2_test: Crash # Assertion failure: Cannot find value local(main_closure.call#mirror) in (local(main#)) for j:closure_call(main_closure.call).
mirror_invalid_invoke3_test: Crash # Assertion failure: Cannot find value local(main_closure.call#mirror) in (local(main#)) for j:closure_call(main_closure.call).
mirror_invalid_invoke_test: Crash # Assertion failure: Cannot find value local(main_closure.call#lm) in (local(main#)) for j:closure_call(main_closure.call).
mirror_printer_test/01: Crash # NoSuchMethodError: The method 'accept' was called on null.
mirror_printer_test/none: Crash # Assertion failure: Cannot find value local(initHooks_closure.call#prototypeForTag) in (local(initHooks_closure.call#tag), local(initHooks#)) for j:closure_call(initHooks_closure.call).
mirror_test: Crash # Assertion failure: Cannot find value local(initHooks_closure.call#prototypeForTag) in (local(initHooks_closure.call#tag), local(initHooks#)) for j:closure_call(initHooks_closure.call).
mirror_type_inference_field2_test: Crash # Assertion failure: Cannot find value local(initHooks_closure.call#prototypeForTag) in (local(initHooks_closure.call#tag), local(initHooks#)) for j:closure_call(initHooks_closure.call).
mirror_type_inference_field_test: Crash # Assertion failure: Cannot find value local(initHooks_closure.call#prototypeForTag) in (local(initHooks_closure.call#tag), local(initHooks#)) for j:closure_call(initHooks_closure.call).
mirror_type_inference_function_test: Crash # Assertion failure: Cannot find value local(initHooks_closure.call#prototypeForTag) in (local(initHooks_closure.call#tag), local(initHooks#)) for j:closure_call(initHooks_closure.call).
mirrors_declarations_filtering_test: Crash # Assertion failure: Cannot find value local(main_closure.call#a) in (local(main#)) for j:closure_call(main_closure.call).
mirrors_used_closure_test: Crash # Assertion failure: Cannot find value local(main_closure.call#f) in (local(main#)) for j:closure_call(main_closure.call).
mirrors_used_metatargets_test: Crash # Assertion failure: Cannot find value local(unwrapException_closure.call#ex) in (local(unwrapException_closure.call#error), local(unwrapException#saveStackTrace), local(unwrapException_closure.call#thrownStackTrace)) for j:closure_call(unwrapException_closure.call).
mirrors_used_native_test: Crash # Assertion failure: Cannot find value local(Maps_mapToString_closure.call#first) in (local(Maps_mapToString_closure.call#k), local(Maps_mapToString_closure.call#v), local(Maps.mapToString#)) for j:closure_call(Maps_mapToString_closure.call).
mirrors_used_warning2_test: Crash # NoSuchMethodError: The getter 'memberIndex' was called on null.
mirrors_used_warning_test/minif: Crash # NoSuchMethodError: The getter 'memberIndex' was called on null.
mirrors_used_warning_test/none: Crash # NoSuchMethodError: The getter 'memberIndex' was called on null.
no_such_method_mirrors_test: Crash # NoSuchMethodError: Class 'KMethod' has no instance getter 'memberContext'.
no_such_method_test: Crash # NoSuchMethodError: Class 'KMethod' has no instance getter 'memberContext'.
optional_parameter_test: Crash # NoSuchMethodError: Class 'KMethod' has no instance getter 'memberContext'.
private_symbol_literal_test/01: MissingCompileTimeError
private_symbol_literal_test/02: MissingCompileTimeError
private_symbol_literal_test/03: MissingCompileTimeError
private_symbol_literal_test/04: MissingCompileTimeError
private_symbol_literal_test/05: MissingCompileTimeError
private_symbol_literal_test/06: MissingCompileTimeError
recursive_import_test: CompileTimeError
reflect_native_types_test: Crash # UnimplementedError: KernelClosedWorldMixin.getAppliedMixin
regress/4562_test/none: CompileTimeError
regress/4639_test: Crash # NoSuchMethodError: The getter 'enclosingClass' was called on null.
runtime_type_test: Crash
string_interpolation_dynamic_test: RuntimeError
string_interpolation_test: RuntimeError
super_constructor1_test: Crash # Assertion failure: Cannot find value local(C.#null) in (local(C.#i)) for j:constructor(C.).
switch_test/none: Crash # UnimplementedError: KernelToLocalsMapImpl.getJumpTargetForSwitchCase
timer_test: Crash # NoSuchMethodError: The getter 'memberIndex' was called on null.
to_string_test: Crash
truncation_errors_test: Crash # Assertion failure: Cannot find value local(main_closure.call#Infinity) in (local(main#)) for j:closure_call(main_closure.call).
type_argument_factory_crash_test: Crash # Assertion failure: Cannot find value local(Maps_mapToString_closure.call#first) in (local(Maps_mapToString_closure.call#k), local(Maps_mapToString_closure.call#v), local(Maps.mapToString#)) for j:closure_call(Maps_mapToString_closure.call).
type_argument_factory_nocrash_test: Crash # Assertion failure: Cannot find value local(Maps_mapToString_closure.call#first) in (local(Maps_mapToString_closure.call#k), local(Maps_mapToString_closure.call#v), local(Maps.mapToString#)) for j:closure_call(Maps_mapToString_closure.call).
type_constant_switch_test/01: MissingCompileTimeError
type_error_message_test: Crash # NoSuchMethodError: The getter 'enclosingClass' was called on null.
unconditional_dartio_import_test: CompileTimeError
useful_error_message_1_test: Crash # NoSuchMethodError: The getter 'enclosingClass' was called on null.

