a2d2d693dc
Cq-Include-Trybots: luci.dart.try:vm-kernel-precomp-android-release-arm64c-try Fixes: b/232495224 Change-Id: I0338db48c0cc89ec35d52bff2f508105e80c3538 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/248008 Commit-Queue: Alexander Thomas <athom@google.com> Reviewed-by: Bob Nystrom <rnystrom@google.com>
80 lines
2.6 KiB
Dart
80 lines
2.6 KiB
Dart
// Copyright (c) 2019, 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.
|
|
import 'package:test_runner/src/configuration.dart';
|
|
import 'package:test_runner/src/options.dart';
|
|
import 'package:test_runner/src/path.dart';
|
|
import 'package:test_runner/src/static_error.dart';
|
|
import 'package:test_runner/src/test_file.dart';
|
|
import 'package:test_runner/src/test_suite.dart';
|
|
|
|
TestFile parseTestFile(String source,
|
|
{String path = "some_test.dart", String suite = "language"}) {
|
|
final suiteDirectory = Path(suite);
|
|
path = suiteDirectory.absolute.append(path).toNativePath();
|
|
return TestFile.parse(suiteDirectory.absolute, path, source);
|
|
}
|
|
|
|
// TODO(rnystrom): Would be nice if there was a simpler way to create a
|
|
// configuration for use in unit tests.
|
|
TestConfiguration makeConfiguration(List<String> arguments, String suite) {
|
|
return OptionsParser().parse([...arguments, suite]).first;
|
|
}
|
|
|
|
/// Creates a [StandardTestSuite] hardcoded to contain [testFiles].
|
|
StandardTestSuite makeTestSuite(TestConfiguration configuration,
|
|
List<TestFile> testFiles, String suite) =>
|
|
_MockTestSuite(configuration, testFiles, suite);
|
|
|
|
/// Creates a [StaticError].
|
|
///
|
|
/// Only one of [analyzerError], [cfeError], [webError], or [contextError] may
|
|
/// be passed.
|
|
StaticError makeError(
|
|
{int line = 1,
|
|
int column = 2,
|
|
int length = 0,
|
|
String? analyzerError,
|
|
String? cfeError,
|
|
String? webError,
|
|
String? contextError,
|
|
List<StaticError>? context}) {
|
|
ErrorSource source;
|
|
String? message;
|
|
if (analyzerError != null) {
|
|
assert(cfeError == null);
|
|
assert(webError == null);
|
|
assert(contextError == null);
|
|
source = ErrorSource.analyzer;
|
|
message = analyzerError;
|
|
} else if (cfeError != null) {
|
|
assert(webError == null);
|
|
assert(contextError == null);
|
|
source = ErrorSource.cfe;
|
|
message = cfeError;
|
|
} else if (webError != null) {
|
|
assert(contextError == null);
|
|
source = ErrorSource.web;
|
|
message = webError;
|
|
} else {
|
|
assert(contextError != null);
|
|
source = ErrorSource.context;
|
|
message = contextError;
|
|
}
|
|
|
|
var error =
|
|
StaticError(source, message!, line: line, column: column, length: length);
|
|
if (context != null) error.contextMessages.addAll(context);
|
|
return error;
|
|
}
|
|
|
|
class _MockTestSuite extends StandardTestSuite {
|
|
final List<TestFile> _testFiles;
|
|
|
|
_MockTestSuite(TestConfiguration configuration, this._testFiles, String suite)
|
|
: super(configuration, suite, Path(suite), []);
|
|
|
|
@override
|
|
Iterable<TestFile> findTests() => _testFiles;
|
|
}
|