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

[ $compiler == spec_parser ]
built_in_identifier_prefix_test: Skip # A built-in identifier can _not_ be a prefix.
closure_type_test: Pass # Marked as RuntimeError for all in language_2.status.
conditional_import_string_test: Fail # Uses conditional import.
conditional_import_test: Fail # Uses conditional import.
config_import_corelib_test: Fail # Uses conditional import.
config_import_test: Fail # Uses conditional import.
const_native_factory_test: Skip # Uses `native`.
constructor_call_wrong_argument_count_negative_test: Skip # Negative, not syntax.
constructor_redirect1_negative_test/01: Skip # Negative, not syntax.
constructor_redirect1_negative_test/none: Skip # Negative, not syntax.
constructor_redirect2_negative_test: Skip # Negative, not syntax.
constructor_setter_negative_test: Skip # Negative, not syntax.
deep_nesting1_negative_test: Skip # Stack overflow.
deep_nesting2_negative_test: Skip # Stack overflow.
double_invalid_test: Skip # Contains illegaly formatted double.
duplicate_export_negative_test: Skip # Negative, not syntax.
duplicate_interface_negative_test: Skip # Negative, not syntax.
external_test/21: Fail # Test expects `runtime error`, it is a syntax error.
getter_declaration_negative_test: Fail # Negative, uses getter with parameter.
inst_field_initializer1_negative_test: Skip # Negative, not syntax.
instance_call_wrong_argument_count_negative_test: Skip # Negative, not syntax.
instance_method2_negative_test: Skip # Negative, not syntax.
instance_method_negative_test: Skip # Negative, not syntax.
interface2_negative_test: Skip # Negative, not syntax.
interface_injection1_negative_test: Fail # Negative, uses interface injection.
interface_injection2_negative_test: Fail # Negative, uses interface injection.
interface_static_method_negative_test: Skip # Negative, not syntax.
interface_static_non_final_fields_negative_test: Skip # Negative, not syntax.
is_not_class1_negative_test: Fail # Negative, uses `a is "A"`.
is_not_class4_negative_test: Fail # Negative, uses `a is A is A`.
issue1578_negative_test: Fail # Negative, is line noise.
issue_1751477_test: Skip # Times out: 9 levels, exponential blowup => 430 secs.
label2_negative_test: Skip # Negative, not syntax.
label3_negative_test: Skip # Negative, not syntax.
label5_negative_test: Skip # Negative, not syntax.
label6_negative_test: Skip # Negative, not syntax.
label8_negative_test: Fail # Negative, uses misplaced label.
library_negative_test: Skip # Negative, not syntax.
list_literal2_negative_test: Skip # Negative, not syntax.
list_literal_negative_test: Fail # Negative, uses `new List<int>[1, 2]`.
map_literal2_negative_test: Skip # Negative, not syntax.
map_literal_negative_test: Fail # Negative, uses `new Map<int>{..}`.
new_expression1_negative_test: Fail # Negative, uses `new id`.
new_expression2_negative_test: Fail # Negative, uses `new id(`.
new_expression3_negative_test: Fail # Negative, uses `new id(...`.
no_such_method_negative_test: Skip # Negative, not syntax.
non_const_super_negative_test: Skip # Negative, not syntax.
operator1_negative_test: Fail # Negative, declares static operator.
operator2_negative_test: Fail # Negative, declares `operator ===`.
override_field_method1_negative_test: Skip # Negative, not syntax.
override_field_method2_negative_test: Skip # Negative, not syntax.
override_field_method4_negative_test: Skip # Negative, not syntax.
override_field_method5_negative_test: Skip # Negative, not syntax.
parameter_initializer1_negative_test: Skip # Negative, not syntax.
parameter_initializer2_negative_test: Skip # Negative, not syntax.
parameter_initializer3_negative_test: Skip # Negative, not syntax.
parameter_initializer4_negative_test: Skip # Negative, not syntax.
parameter_initializer6_negative_test: Skip # Negative, not syntax.
prefix10_negative_test: Skip # Negative, not syntax.
prefix11_negative_test: Skip # Negative, not syntax.
prefix12_negative_test: Skip # Negative, not syntax.
prefix13_negative_test: Skip # Negative, not syntax.
prefix15_negative_test: Skip # Negative, not syntax.
prefix18_negative_test: Fail # Negative, uses `lib1.invalid` as library prefix.
prefix1_negative_test: Skip # Negative, not syntax.
prefix2_negative_test: Skip # Negative, not syntax.
prefix3_negative_test: Skip # Negative, not syntax.
prefix4_negative_test: Skip # Negative, not syntax.
prefix5_negative_test: Skip # Negative, not syntax.
prefix6_negative_test: Skip # Negative, not syntax.
prefix7_negative_test: Skip # Negative, not syntax.
prefix8_negative_test: Skip # Negative, not syntax.
private_member1_negative_test: Skip # Negative, not syntax.
private_member2_negative_test: Skip # Negative, not syntax.
private_member3_negative_test: Skip # Negative, not syntax.
script1_negative_test: Skip # Negative, not syntax.
script2_negative_test: Skip # Negative, not syntax.
string_escape4_negative_test: Fail # Negative, uses newline in string literal.
string_interpolate1_negative_test: Fail # Negative, misplaced '$'.
string_interpolate2_negative_test: Fail # Negative, misplaced '$'.
string_unicode1_negative_test: Skip # Negative, not syntax.
string_unicode2_negative_test: Skip # Negative, not syntax.
string_unicode3_negative_test: Skip # Negative, not syntax.
string_unicode4_negative_test: Skip # Negative, not syntax.
switch1_negative_test: Fail # Negative, `default` clause not last.
test_negative_test: Fail # Negative, uses non-terminated string literal.
unary_plus_negative_test: Fail # Negative, uses non-existing unary plus.
unhandled_exception_negative_test: Fail # Negative, defaults required parameter.
unhandled_exception_negative_test: Skip # Negative, not syntax.
vm/debug_break_enabled_vm_test/01: Fail # Uses debug break.
vm/debug_break_enabled_vm_test/none: Fail # Uses debug break.
void_type_function_types_test: Skip # Not yet supported.

