[infra] Keep comments intact when updating status files.
* Preserve empty lines in the file header. * Add empty entry to the tool's newly created sections. * Remove extra empty line at the end of the file. Change-Id: I271583774d5f5497025a9d85bcadf8b0b9e39e81 Reviewed-on: https://dart-review.googlesource.com/37600 Commit-Queue: Alexander Thomas <athom@google.com> Reviewed-by: William Hesse <whesse@google.com>
This commit is contained in:
committed by
commit-bot@chromium.org
parent
7764e6962e
commit
3851591642
@@ -231,4 +231,3 @@ front_end/tool/_fasta/*: Skip
|
||||
|
||||
[ $mode != release || $runtime != vm || $system == windows ]
|
||||
kernel/test/closures_test: Skip
|
||||
|
||||
|
||||
@@ -70,7 +70,7 @@ class StatusFile {
|
||||
final String path;
|
||||
final List<StatusSection> sections = [];
|
||||
|
||||
int _lineCount = 0;
|
||||
int _lineCount = 1;
|
||||
|
||||
/// Constructor for creating a new [StatusFile]. Will not create the default
|
||||
/// section that status files have.
|
||||
@@ -87,7 +87,7 @@ class StatusFile {
|
||||
///
|
||||
/// Throws a [SyntaxError] if the file could not be parsed.
|
||||
StatusFile.parse(this.path, List<String> lines) {
|
||||
_parse(lines);
|
||||
_parse(lines.map((line) => line.trim()).toList());
|
||||
}
|
||||
|
||||
void _parse(List<String> lines) {
|
||||
@@ -141,23 +141,56 @@ class StatusFile {
|
||||
commentBelongsToNextSectionHeader(currentLine + 1);
|
||||
}
|
||||
|
||||
// List of comments added before the next section's header.
|
||||
List<Entry> sectionHeaderComments = [];
|
||||
|
||||
// Parse file comments
|
||||
var lastEmptyLine = 0;
|
||||
for (; _lineCount <= lines.length; _lineCount++) {
|
||||
var line = lines[_lineCount - 1];
|
||||
if (!line.startsWith("#") && line.isNotEmpty) {
|
||||
break;
|
||||
}
|
||||
if (line.isEmpty) {
|
||||
sectionHeaderComments.add(new EmptyEntry(_lineCount));
|
||||
lastEmptyLine = _lineCount;
|
||||
} else {
|
||||
sectionHeaderComments
|
||||
.add(new CommentEntry(_lineCount, new Comment(line)));
|
||||
}
|
||||
}
|
||||
|
||||
var implicitSectionHeaderComments = sectionHeaderComments;
|
||||
var entries = [];
|
||||
if (lastEmptyLine > 0 && sectionHeaderMatch(_lineCount) != null) {
|
||||
// Comments after the last empty line belong to the next section's header.
|
||||
// The empty line is not added to the section header, because it will be
|
||||
// added to the section's entries.
|
||||
implicitSectionHeaderComments =
|
||||
implicitSectionHeaderComments.sublist(0, lastEmptyLine - 1);
|
||||
entries.add(sectionHeaderComments[lastEmptyLine - 1]);
|
||||
sectionHeaderComments = sectionHeaderComments.sublist(lastEmptyLine);
|
||||
} else {
|
||||
// Reset section header comments.
|
||||
sectionHeaderComments = [];
|
||||
}
|
||||
|
||||
// The current section whose rules are being parsed. Initalized to an
|
||||
// implicit section that matches everything.
|
||||
StatusSection section = new StatusSection(null, -1, []);
|
||||
StatusSection section =
|
||||
new StatusSection(null, -1, implicitSectionHeaderComments);
|
||||
section.entries.addAll(entries);
|
||||
sections.add(section);
|
||||
|
||||
// Placeholder for comments that should be added to a section.
|
||||
List<CommentEntry> sectionHeaderComments = [];
|
||||
|
||||
for (var line in lines) {
|
||||
_lineCount++;
|
||||
for (; _lineCount <= lines.length; _lineCount++) {
|
||||
var line = lines[_lineCount - 1];
|
||||
|
||||
fail(String message, [List<String> errors]) {
|
||||
throw new SyntaxError(_shortPath, _lineCount, line, message, errors);
|
||||
}
|
||||
|
||||
// If it is an empty line
|
||||
if (line.trim().isEmpty) {
|
||||
if (line.isEmpty) {
|
||||
section.entries.add(new EmptyEntry(_lineCount));
|
||||
continue;
|
||||
}
|
||||
@@ -275,7 +308,7 @@ class StatusSection {
|
||||
|
||||
/// Collection of all comment and status line entries.
|
||||
final List<Entry> entries = [];
|
||||
final List<CommentEntry> sectionHeaderComments;
|
||||
final List<Entry> sectionHeaderComments;
|
||||
|
||||
/// Returns true if this section should apply in the given [environment].
|
||||
bool isEnabled(Environment environment) =>
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
import 'canonical_status_file.dart';
|
||||
import 'dart:convert';
|
||||
|
||||
StatusFile normalizeStatusFile(StatusFile statusFile) {
|
||||
StatusFile newStatusFile = _sortSectionsAndCombine(statusFile);
|
||||
@@ -10,6 +11,8 @@ StatusFile normalizeStatusFile(StatusFile statusFile) {
|
||||
_sortEntriesInSection(section);
|
||||
_oneLineBetweenSections(section);
|
||||
});
|
||||
// Remove empty line at the end of the file
|
||||
newStatusFile.sections.last.entries.removeLast();
|
||||
return newStatusFile;
|
||||
}
|
||||
|
||||
@@ -44,8 +47,8 @@ void _oneLineBetweenSections(StatusSection section) {
|
||||
|
||||
StatusFile _sortSectionsAndCombine(StatusFile statusFile) {
|
||||
// Create the new status file to be returned.
|
||||
StatusFile oldStatusFile =
|
||||
new StatusFile.parse(statusFile.path, statusFile.toString().split('\n'));
|
||||
StatusFile oldStatusFile = new StatusFile.parse(
|
||||
statusFile.path, LineSplitter.split(statusFile.toString()).toList());
|
||||
List<StatusSection> newSections = [];
|
||||
// Copy over all sections and normalize all the expressions.
|
||||
oldStatusFile.sections.forEach((section) {
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
# LICENSE
|
||||
|
||||
# Implicit section comment
|
||||
|
||||
# Section header comment
|
||||
[ $browser ]
|
||||
@@ -0,0 +1,10 @@
|
||||
# LICENSE
|
||||
|
||||
# Implicit section comment
|
||||
|
||||
# Comment
|
||||
[ $browser ]
|
||||
test1: Fail
|
||||
|
||||
[ $compiler == dart2js ]
|
||||
test2: Crash
|
||||
@@ -51,6 +51,17 @@ expectNoError(String text, {bool disjunctions = true}) {
|
||||
Expect.listEquals([], errors);
|
||||
}
|
||||
|
||||
void testEmptyLinesInHeader() {
|
||||
expectNoError(r"""# LICENSE
|
||||
|
||||
# valid comment after empty line on default section
|
||||
suite/tests: Skip
|
||||
|
||||
# valid comment
|
||||
[ $mode == debug ]
|
||||
""");
|
||||
}
|
||||
|
||||
void testCommentLinesInSection_invalidCommentInSection() {
|
||||
expectError(r"""[ $mode == debug ]
|
||||
# this comment is invalid
|
||||
|
||||
@@ -29,6 +29,7 @@ void normalizeCheck() {
|
||||
var statusFileOther = normalizeStatusFile(new StatusFile.read(file.path));
|
||||
checkSemanticallyEqual(statusFile, statusFileOther,
|
||||
warnOnDuplicateHeader: true);
|
||||
checkFileHeaderIntact(statusFile, statusFileOther);
|
||||
print("------- " + file.path + " -------");
|
||||
}
|
||||
}
|
||||
@@ -41,6 +42,7 @@ void sanityCheck() {
|
||||
var statusFileOther = new StatusFile.read(file.path);
|
||||
checkSemanticallyEqual(statusFile, statusFileOther,
|
||||
warnOnDuplicateHeader: true);
|
||||
checkFileHeaderIntact(statusFile, statusFileOther);
|
||||
print("------- " + file.path + " -------");
|
||||
}
|
||||
}
|
||||
@@ -126,6 +128,16 @@ void findInStatusFile(
|
||||
}
|
||||
}
|
||||
|
||||
void checkFileHeaderIntact(StatusFile original, StatusFile normalized) {
|
||||
var originalHeader = original.sections.first.sectionHeaderComments.toString();
|
||||
var normalizedHeader =
|
||||
normalized.sections.first.sectionHeaderComments.toString();
|
||||
if (originalHeader != normalizedHeader) {
|
||||
throw new Exception(
|
||||
"File headers changed.\nExpected:\n$originalHeader\n\nActual:\n$normalizedHeader");
|
||||
}
|
||||
}
|
||||
|
||||
bool listEqual<T>(List<T> first, List<T> second) {
|
||||
if (first.length != second.length) {
|
||||
return false;
|
||||
|
||||
@@ -13,4 +13,3 @@ heap_snapshot/element_test: RuntimeError # Issue 27925
|
||||
# skipping.
|
||||
[ $runtime == ff || $runtime == ie10 || $runtime == ie11 || $runtime == safari ]
|
||||
*: SkipByDesign
|
||||
|
||||
|
||||
@@ -98,4 +98,3 @@ step_through_getter_test: RuntimeError # Debugging StringConcatenation doesn't w
|
||||
# Skip all service tests because random reloads interfere.
|
||||
[ $hot_reload || $hot_reload_rollback ]
|
||||
*: SkipByDesign # The service tests should run without being reloaded.
|
||||
|
||||
|
||||
@@ -126,4 +126,3 @@ unused_changes_in_last_reload_test: Skip # Times out on sim architectures.
|
||||
|
||||
[ $compiler == fasta && $strong ]
|
||||
add_breakpoint_rpc_test: CompileTimeError
|
||||
|
||||
|
||||
@@ -329,4 +329,3 @@ dart/redirection_type_shuffling_test: SkipByDesign # Imports dart:mirrors
|
||||
[ $hot_reload || $hot_reload_rollback ]
|
||||
dart/spawn_infinite_loop_test: Skip # We can shutdown an isolate before it reloads.
|
||||
dart/spawn_shutdown_test: Skip # We can shutdown an isolate before it reloads.
|
||||
|
||||
|
||||
@@ -2,29 +2,6 @@
|
||||
# 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 && $runtime == drt ]
|
||||
swarm/test/swarm_test: Pass, Crash, Fail # Issue 10950
|
||||
|
||||
[ $runtime == safari ]
|
||||
swarm/test/swarm_test: Pass, Fail # Issue 14523
|
||||
|
||||
[ $runtime == vm ]
|
||||
swarm: Skip
|
||||
|
||||
[ $compiler == dart2js && $runtime == chromeOnAndroid ]
|
||||
swarm/test/swarm_test: Fail # TODO(kasperl): Please triage.
|
||||
swarm/test/swarm_ui_lib/layout/layout_test: Fail # TODO(kasperl): Please triage.
|
||||
|
||||
[ $browser ]
|
||||
# This may be related to issue 157
|
||||
swarm/test/swarm_ui_lib/touch/touch_test: Fail # Expectation: Solver. Expect.approxEquals(expected:9, actual:8.990625000000001, tolerance:0.0009) fails
|
||||
|
||||
[ $compiler == dart2js && $runtime == ff ]
|
||||
swarm/test/swarm_test: Fail # Issue 5633
|
||||
|
||||
[ $compiler == dart2js && $runtime == drt && $system == windows ]
|
||||
swarm/test/swarm_test: Fail # Issue 4517
|
||||
|
||||
[ $compiler == dart2analyzer ]
|
||||
swarm/test/swarm_test: StaticWarning
|
||||
swarm/test/swarm_ui_lib/layout/layout_test: StaticWarning
|
||||
@@ -32,3 +9,25 @@ swarm/test/swarm_ui_lib/observable/observable_test: StaticWarning
|
||||
swarm/test/swarm_ui_lib/touch/touch_test: StaticWarning
|
||||
swarm/test/swarm_ui_lib/util/util_test: StaticWarning
|
||||
swarm/test/swarm_ui_lib/view/view_test: StaticWarning
|
||||
|
||||
[ $runtime == safari ]
|
||||
swarm/test/swarm_test: Pass, Fail # Issue 14523
|
||||
|
||||
[ $runtime == vm ]
|
||||
swarm: Skip
|
||||
|
||||
[ $browser ]
|
||||
swarm/test/swarm_ui_lib/touch/touch_test: Fail # This may be related to issue 157, Expectation: Solver. Expect.approxEquals(expected:9, actual:8.990625000000001, tolerance:0.0009) fails
|
||||
|
||||
[ $compiler == dart2js && $runtime == chromeOnAndroid ]
|
||||
swarm/test/swarm_test: Fail # TODO(kasperl): Please triage.
|
||||
swarm/test/swarm_ui_lib/layout/layout_test: Fail # TODO(kasperl): Please triage.
|
||||
|
||||
[ $compiler == dart2js && $runtime == drt ]
|
||||
swarm/test/swarm_test: Pass, Crash, Fail # Issue 10950
|
||||
|
||||
[ $compiler == dart2js && $runtime == drt && $system == windows ]
|
||||
swarm/test/swarm_test: Fail # Issue 4517
|
||||
|
||||
[ $compiler == dart2js && $runtime == ff ]
|
||||
swarm/test/swarm_test: Fail # Issue 5633
|
||||
|
||||
@@ -33,4 +33,3 @@ sample_extension/test/sample_extension_app_snapshot_test: Pass, RuntimeError # I
|
||||
build_dart/*: Skip
|
||||
build_dart_simple/*: Skip
|
||||
sample_extension/*: Skip
|
||||
|
||||
|
||||
@@ -123,4 +123,3 @@ LibTest/typed_data/Float32x4List/last_A01_t02: CompileTimeError # co19 issue 130
|
||||
[ $runtime != none && !$strong ]
|
||||
LibTest/typed_data/Float32x4List/first_A01_t02: RuntimeError # co19 issue 130
|
||||
LibTest/typed_data/Float32x4List/last_A01_t02: RuntimeError # co19 issue 130
|
||||
|
||||
|
||||
@@ -7319,4 +7319,3 @@ LibTest/typed_data/Uint8List/runtimeType_A01_t01: Fail # co19-roll r559: Please
|
||||
[ $compiler == dart2js && !$strong ]
|
||||
LibTest/typed_data/Float32x4List/first_A01_t02: Pass # co19 issue 130 + type error
|
||||
LibTest/typed_data/Float32x4List/last_A01_t02: Pass # co19 issue 130 + type error
|
||||
|
||||
|
||||
@@ -1744,4 +1744,3 @@ LibTest/typed_data/Uint64List/Uint64List.view_A01_t02: CompileTimeError
|
||||
|
||||
[ $compiler == dartk || $compiler == dartkp ]
|
||||
*: SkipByDesign
|
||||
|
||||
|
||||
@@ -420,4 +420,3 @@ LibTest/core/Uri/Uri_A06_t03: Pass, Timeout
|
||||
LibTest/core/Uri/encodeQueryComponent_A01_t02: Pass, Timeout
|
||||
LibTest/isolate/Isolate/spawn_A01_t04: Pass, Timeout
|
||||
LibTest/isolate/ReceivePort/take_A01_t02: Skip # Issue 27773
|
||||
|
||||
|
||||
@@ -115,4 +115,3 @@ serialization*: Slow, Pass
|
||||
|
||||
[ $runtime == chrome || $runtime == ff || $runtime == firefox || $runtime == safari || $jscl ]
|
||||
*: Skip # dart2js uses #import('dart:io'); and it is not self-hosted (yet).
|
||||
|
||||
|
||||
@@ -232,4 +232,3 @@ dummy_compiler_test: SkipByDesign # Issue 30773. Test should be migrated as a un
|
||||
invalid_annotation_test/01: MissingCompileTimeError, OK # vm is lazy
|
||||
new_from_env_test: SkipByDesign # dart2js only test
|
||||
unconditional_dartio_import_test: SkipByDesign # dart2js only test
|
||||
|
||||
|
||||
@@ -29,4 +29,3 @@ compute_this_script_test: Crash # 'file:*/pkg/compiler/lib/src/ssa/types.dart':
|
||||
|
||||
[ $compiler == dart2js && $minified ]
|
||||
optimization_hints_test: RuntimeError, OK # Test relies on unminified names.
|
||||
|
||||
|
||||
@@ -336,4 +336,3 @@ double_parse_test/02: Fail, OK
|
||||
[ $hot_reload || $hot_reload_rollback ]
|
||||
big_integer_huge_mul_vm_test: Pass, Slow # Slow
|
||||
big_integer_parsed_mul_div_vm_test: Pass, Slow # Slow.
|
||||
|
||||
|
||||
@@ -628,4 +628,3 @@ regexp/UC16_test: RuntimeError
|
||||
bigint_parse_radix_test: Pass, Timeout # Issue 31659
|
||||
bigint_test: Pass, Slow, Crash # Issue 31660
|
||||
integer_parsed_mul_div_vm_test: Pass, Slow # Slow
|
||||
|
||||
|
||||
@@ -551,4 +551,3 @@ webgl_1_test: Pass, Fail # Issue 8219
|
||||
|
||||
[ $system == windows || $runtime == drt && $system == macos ]
|
||||
xhr_test/xhr: Skip # Times out. Issue 21527
|
||||
|
||||
|
||||
@@ -238,4 +238,3 @@ function_send_test: Pass, Fail # Closure identity
|
||||
issue_21398_parent_isolate2_test: Crash # Requires deferred libraries
|
||||
message3_test/fun: Pass, Fail # Closure identity
|
||||
spawn_uri_nested_vm_test: Pass, Crash # Issue 28192
|
||||
|
||||
|
||||
@@ -35,4 +35,3 @@ unsorted/invocation_errors_test/00: MissingCompileTimeError # This test has been
|
||||
|
||||
[ $runtime == dart_precompiled && $minified ]
|
||||
unsorted/symbol_literal_test: Skip # Expects unobfuscated Symbol.toString.
|
||||
|
||||
|
||||
@@ -524,4 +524,3 @@ vm/regress_27201_test: Pass, Crash # Requires deferred libraries
|
||||
|
||||
[ $compiler != dartk && $compiler != dartkp && $compiler != none || $compiler != dartk && $compiler != dartkp && $runtime != vm ]
|
||||
assert_initializer_test/*: Skip # not implemented yet, experiment is VM only.
|
||||
|
||||
|
||||
@@ -796,4 +796,3 @@ mixin_mixin_bound_test: RuntimeError, OK # Issue 31054: runtimeType.toString not
|
||||
mixin_mixin_type_arguments_test: RuntimeError, OK # Issue 31054: runtimeType.toString not preserved in minified code.
|
||||
regress_21795_test: RuntimeError, OK # Issue 31054: runtimeType.toString not preserved in minified code.
|
||||
stack_trace_test: RuntimeError, OK # Stack trace not preserved in minified code.
|
||||
|
||||
|
||||
@@ -197,4 +197,3 @@ unresolved_top_level_var_negative_test: Fail
|
||||
# modes are intended only for Dart 2.0 with strong mode enabled.
|
||||
[ $compiler == dartk || $compiler == dartkp ]
|
||||
*: Skip
|
||||
|
||||
|
||||
@@ -36,4 +36,3 @@ 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.
|
||||
vm/debug_break_enabled_vm_test: Fail # Uses debug break.
|
||||
|
||||
|
||||
@@ -324,4 +324,3 @@ regress_28278_test: Crash # Requires deferred libraries
|
||||
static_closure_identical_test: Pass, Fail # Closure identity
|
||||
vm/optimized_stacktrace_test: Pass, Slow
|
||||
vm/regress_27201_test: Pass, Crash # Requires deferred libraries
|
||||
|
||||
|
||||
@@ -1800,4 +1800,3 @@ unresolved_default_constructor_test/01: MissingCompileTimeError
|
||||
unresolved_top_level_method_test: MissingCompileTimeError
|
||||
unresolved_top_level_var_test: MissingCompileTimeError
|
||||
vm/type_vm_test: StaticWarning
|
||||
|
||||
|
||||
@@ -2343,4 +2343,3 @@ mixin_mixin6_test: RuntimeError # Issue 31054
|
||||
mixin_mixin_bound2_test: RuntimeError # Issue 31054
|
||||
mixin_mixin_bound_test: RuntimeError # Issue 31054
|
||||
mixin_mixin_type_arguments_test: RuntimeError # Issue 31054
|
||||
|
||||
|
||||
@@ -838,4 +838,3 @@ switch_label_test: RuntimeError # Issue 29920; UnimplementedError: node <ShadowC
|
||||
switch_try_catch_test: RuntimeError # Issue 29920; Expect.throws: Unexpected 'UnimplementedError: node <ShadowContinueSwitchStatement> see https://github.com/dart-lang/sdk/issues/29352 `continue #L1;
|
||||
truncdiv_test: RuntimeError # Issue 29920; Expect.throws fails: Did not throw
|
||||
vm/*: SkipByDesign # VM only tests.; VM only tests.
|
||||
|
||||
|
||||
@@ -233,4 +233,3 @@ large_class_declaration_test: SkipSlow # Uses too much memory.
|
||||
|
||||
[ $compiler == none && $runtime == flutter && $checked ]
|
||||
assert_initializer_test/4*: MissingCompileTimeError # Issue 392. The VM doesn't enforce that potentially const expressions are actually const expressions when the constructor is called with `const`.
|
||||
|
||||
|
||||
@@ -2171,4 +2171,3 @@ unresolved_top_level_var_test: MissingCompileTimeError
|
||||
[ $compiler == dartk || $compiler == dartkp ]
|
||||
generic_function_bounds_test: RuntimeError # Issue 32076
|
||||
generic_test/01: MissingCompileTimeError
|
||||
|
||||
|
||||
@@ -1188,4 +1188,3 @@ vm/no_such_args_error_message_vm_test: Skip
|
||||
vm/no_such_method_error_message_callable_vm_test: Skip
|
||||
vm/no_such_method_error_message_vm_test: Skip
|
||||
vm/regress_28325_test: Skip
|
||||
|
||||
|
||||
@@ -93,4 +93,3 @@ unary_plus_negative_test: Fail # Negative, uses non-existing unary plus.
|
||||
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.
|
||||
|
||||
|
||||
@@ -1300,8 +1300,8 @@ duplicate_export_negative_test: Fail # Issue 6134
|
||||
dynamic_prefix_core_test/01: RuntimeError # Issue 12478
|
||||
example_constructor_test: Fail, OK
|
||||
export_ambiguous_main_negative_test: Fail # Issue 14763
|
||||
field_initialization_order_test: Fail, OK
|
||||
f_bounded_quantification4_test: RuntimeError, OK # Not running in strong mode.
|
||||
field_initialization_order_test: Fail, OK
|
||||
generic_methods_bounds_test/02: MissingRuntimeError
|
||||
library_env_test/has_html_support: RuntimeError, OK
|
||||
library_env_test/has_no_io_support: RuntimeError, OK
|
||||
@@ -1336,9 +1336,9 @@ generic_methods_function_type_test: Pass # Issue 25869
|
||||
generic_methods_generic_function_parameter_test: Pass # Issue 25869
|
||||
generic_methods_new_test: Pass # Issue 25869
|
||||
generic_methods_test: Pass # Issue 25869
|
||||
nosuchmethod_forwarding/nosuchmethod_forwarding_arguments_test: RuntimeError
|
||||
nosuchmethod_forwarding/nosuchmethod_forwarding_test/05: RuntimeError
|
||||
nosuchmethod_forwarding/nosuchmethod_forwarding_test/06: RuntimeError
|
||||
nosuchmethod_forwarding/nosuchmethod_forwarding_arguments_test: RuntimeError
|
||||
nsm5_test: MissingCompileTimeError
|
||||
override_inheritance_no_such_method_test/05: MissingCompileTimeError
|
||||
type_alias_equality_test/01: RuntimeError # Issue 32783
|
||||
|
||||
@@ -399,4 +399,3 @@ mirrors/library_import_deferred_loading_test: Crash # Deferred loading
|
||||
mirrors/library_imports_deferred_test: Crash # Deferred loading
|
||||
mirrors/load_library_test: Crash # Deferred loading
|
||||
mirrors/typedef_deferred_library_test: Crash # Deferred loading
|
||||
|
||||
|
||||
@@ -124,14 +124,14 @@ async/stream_first_where_test/badType: MissingCompileTimeError
|
||||
async/stream_last_where_test/badType: MissingCompileTimeError
|
||||
mirrors/redirecting_factory_different_type_test/02: MissingCompileTimeError
|
||||
|
||||
[ !$strong && $compiler != fasta && $compiler != dart2analyzer ]
|
||||
async/future_or_type_test: Fail # Strong mode implements FutureOr, non-strong treats it as dynamic.
|
||||
|
||||
[ $builder_tag == mac10_7 && $runtime == safari ]
|
||||
typed_data/setRange_2_test: Fail # Safari doesn't fully implement spec for TypedArray.set
|
||||
typed_data/setRange_3_test: Fail # Safari doesn't fully implement spec for TypedArray.set
|
||||
typed_data/setRange_4_test: Fail # Safari doesn't fully implement spec for TypedArray.set
|
||||
|
||||
[ $compiler != dart2analyzer && $compiler != fasta && !$strong ]
|
||||
async/future_or_type_test: Fail # Strong mode implements FutureOr, non-strong treats it as dynamic.
|
||||
|
||||
[ $compiler != dartdevc && $checked && !$strong ]
|
||||
async/future_or_only_in_async_test/00: MissingCompileTimeError
|
||||
|
||||
@@ -258,4 +258,3 @@ mirrors/library_import_deferred_loading_test: Crash # Deferred loading
|
||||
mirrors/library_imports_deferred_test: Crash # Deferred loading
|
||||
mirrors/load_library_test: Crash # Deferred loading
|
||||
mirrors/typedef_deferred_library_test: Crash # Deferred loading
|
||||
|
||||
|
||||
@@ -47,4 +47,3 @@ mirrors/reflected_type_test/01: MissingCompileTimeError
|
||||
mirrors/reflected_type_test/02: MissingCompileTimeError
|
||||
mirrors/reflected_type_test/03: MissingCompileTimeError
|
||||
mirrors/regress_16321_test/01: MissingCompileTimeError
|
||||
|
||||
|
||||
@@ -883,4 +883,3 @@ isolate/large_byte_data_leak_test: RuntimeError
|
||||
html/custom/attribute_changed_callback_test/unsupported_on_polyfill: Fail # Polyfill does not support
|
||||
html/custom/entered_left_view_test/viewless_document: Fail # Polyfill does not handle this
|
||||
html/fontface_test: Fail # Fontface not supported on these.
|
||||
|
||||
|
||||
@@ -368,4 +368,3 @@ typed_data/int32x4_static_test/02: MissingCompileTimeError
|
||||
html/*: SkipByDesign
|
||||
isolate/browser/*: SkipByDesign
|
||||
js/*: SkipByDesign
|
||||
|
||||
|
||||
@@ -39,4 +39,3 @@ isolate/unresolved_ports_test: SkipByDesign
|
||||
js/datetime_roundtrip_test: CompileTimeError
|
||||
js/null_test: CompileTimeError
|
||||
js/prototype_access_test: CompileTimeError
|
||||
|
||||
|
||||
@@ -92,4 +92,3 @@ convert/utf85_test: Skip # Pass, Slow Issue 12644.
|
||||
|
||||
[ $arch == simarmv5te || $arch == simarmv6 || $arch == simarm && $runtime == vm ]
|
||||
convert/chunked_conversion_utf88_test: Skip # Pass, Slow Issue 12644.
|
||||
|
||||
|
||||
@@ -93,4 +93,3 @@ io/secure_socket_bad_data_test: RuntimeError # An error in a secure connection j
|
||||
[ $hot_reload || $hot_reload_rollback ]
|
||||
script_snapshot_depfile_test: RuntimeError, OK # Child VM doesn't execute Dart.
|
||||
script_snapshot_not_executed_test: RuntimeError, OK # Child VM doesn't execute Dart.
|
||||
|
||||
|
||||
@@ -176,4 +176,3 @@ io/raw_datagram_read_all_test: Pass, Fail # Timing dependent.
|
||||
io/skipping_dart2js_compilations_test: Pass, Slow # Slow.
|
||||
io/test_runner_test: Pass, Slow # Slow.
|
||||
package/*: SkipByDesign # Launches VMs in interesting ways.
|
||||
|
||||
|
||||
@@ -45,4 +45,3 @@ io/process_invalid_arguments_test: StaticWarning
|
||||
io/raw_secure_server_socket_argument_test: StaticWarning
|
||||
io/secure_socket_argument_test: StaticWarning
|
||||
io/stdout_bad_argument_test: StaticWarning
|
||||
|
||||
|
||||
@@ -85,4 +85,3 @@ package/scenarios/packages_dir_only/packages_dir_only_test: Fail # Unable to par
|
||||
package/scenarios/packages_file_in_parent/sub/packages_file_in_parent_test: Fail # Unable to parse package files Flutter Issue 9115
|
||||
package/scenarios/packages_file_only/packages_file_only_test: Fail # Unable to parse package files Flutter Issue 9115
|
||||
package/scenarios/packages_option_only/packages_option_only_test: Fail # Unable to parse package files Flutter Issue 9115
|
||||
|
||||
|
||||
@@ -143,4 +143,3 @@ io/web_socket_protocol_processor_test: CompileTimeError
|
||||
|
||||
[ $fasta && !$strong ]
|
||||
regress_29350_test/none: MissingCompileTimeError
|
||||
|
||||
|
||||
@@ -76,4 +76,3 @@ package/scenarios/packages_option_only/packages_option_only_test: Skip
|
||||
[ $mode == product || $runtime == dart_precompiled ]
|
||||
io/code_collection_test: Skip # Incompatible flags
|
||||
no_assert_test: SkipByDesign # Requires checked mode.
|
||||
|
||||
|
||||
@@ -84,4 +84,3 @@ io/file_typed_data_test: Skip # Issue 26109
|
||||
full_coverage_test: Skip # TODO(vegorov) SIMDBC interpreter doesn't support coverage yet.
|
||||
link_natives_lazily_test: SkipByDesign # SIMDBC interpreter doesn't support lazy linking of natives.
|
||||
no_lazy_dispatchers_test: SkipByDesign # SIMDBC interpreter doesn't support --no_lazy_dispatchers
|
||||
|
||||
|
||||
+5
-6
@@ -5,12 +5,11 @@
|
||||
# Don't run any test-like files that show up in packages directories. It
|
||||
# shouldn't be necessary to run "pub install" in these packages, but if you do
|
||||
# it shouldn't break the tests.
|
||||
*/packages/*/*: Skip
|
||||
*/*/packages/*/*: Skip
|
||||
*/*/*/packages/*/*: Skip
|
||||
*/*/*/*/packages/*/*: Skip
|
||||
*/*/*/*/*/packages/*/*: Skip
|
||||
|
||||
*/*/*/*/packages/*/*: Skip
|
||||
*/*/*/packages/*/*: Skip
|
||||
*/*/packages/*/*: Skip
|
||||
*/packages/*/*: Skip
|
||||
pub/test/dart2js/compiles_generated_file_from_dependency_test: Pass, Slow
|
||||
pub/test/serve/web_socket/url_to_asset_id_test: Pass, Slow
|
||||
pub/test/transformer/loads_a_diamond_transformer_dependency_graph_test: Pass, Slow
|
||||
@@ -23,7 +22,7 @@ pub/*: SkipByDesign
|
||||
pub/test/run/app_can_read_from_stdin_test: Fail # Issue 19448
|
||||
pub/test/run/forwards_signal_posix_test: SkipByDesign
|
||||
|
||||
[ $runtime == vm && ($mode == debug || $arch == simarm || $arch == simarmv6 || $arch == simarmv5te || $arch == simarm64 || $builder_tag == asan) ]
|
||||
[ $runtime == vm && ($arch == simarm || $arch == simarm64 || $arch == simarmv5te || $arch == simarmv6 || $builder_tag == asan || $mode == debug) ]
|
||||
dart_style/test/command_line_test: Skip # The test controller does not take into account that tests take much longer in debug mode or on simulators.
|
||||
dart_style/test/formatter_test: Skip # The test controller does not take into account that tests take much longer in debug mode or on simulators.
|
||||
|
||||
|
||||
@@ -193,7 +193,7 @@ class FixFailingTest extends WorkflowStep<List<FailingTest>> {
|
||||
.contains(currentSection.section)) {
|
||||
currentSection.statusFile.sections.add(currentSection.section);
|
||||
}
|
||||
currentSection.section.entries.add(statusEntry);
|
||||
currentSection.section.entries.insert(0, statusEntry);
|
||||
changedFiles.add(currentSection.statusFile);
|
||||
}
|
||||
// Save the modified status files.
|
||||
@@ -218,7 +218,8 @@ class FixFailingTest extends WorkflowStep<List<FailingTest>> {
|
||||
section.condition != null &&
|
||||
section.condition.normalize().compareTo(expression) == 0,
|
||||
orElse: () => null);
|
||||
sectionToAdd ??= new StatusSection(expression, 0, []);
|
||||
sectionToAdd ??= new StatusSection(expression, 0, [])
|
||||
..entries.add(new EmptyEntry(0));
|
||||
var section = new StatusSectionWithFile(statusFile, sectionToAdd);
|
||||
_customSections.add(new _CustomSection(section));
|
||||
_currentWorkingItem.currentSections.add(section);
|
||||
@@ -321,7 +322,8 @@ class FixWorkingItem {
|
||||
var file = customSection._findStatusFile(files);
|
||||
if (file != null) {
|
||||
var section = customSection._findSectionInFile(file);
|
||||
section ??= new StatusSection(customSection.condition, 0, []);
|
||||
section ??= new StatusSection(customSection.condition, 0, [])
|
||||
..entries.add(new EmptyEntry(0));
|
||||
return [new StatusSectionWithFile(file, section)];
|
||||
}
|
||||
return [];
|
||||
|
||||
@@ -39,10 +39,11 @@ class PresentFailures extends WorkflowStep {
|
||||
}
|
||||
|
||||
@override
|
||||
Future<WorkflowAction> input(String input) {
|
||||
Future<WorkflowAction> input(String input) async {
|
||||
if (input == "y") {
|
||||
return new Future.value(new BackWorkflowAction());
|
||||
return new BackWorkflowAction();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@override
|
||||
|
||||
@@ -2,9 +2,6 @@
|
||||
# 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.
|
||||
|
||||
[ $arch == x64 ]
|
||||
*: Skip
|
||||
|
||||
[ $arch == arm ]
|
||||
*: Skip
|
||||
|
||||
@@ -13,3 +10,6 @@
|
||||
|
||||
[ $arch == simarm64 ]
|
||||
*: Skip
|
||||
|
||||
[ $arch == x64 ]
|
||||
*: Skip
|
||||
|
||||
Reference in New Issue
Block a user