[dwds][dwds_test_common] Migrate package to the SDK repository
This CL migrates the `dwds` and `dwds_test_common` packages into the Dart SDK repository. Key Changes: - Monorepo Compliance: Updated the pubspecs to align with the SDK pub workspace setup. - Excluded `pkg/dwds_test_common/fixtures/` from `package_deps.dart`. - Updated pkg to status to skip `dwds/test/integration/*` & `dwds_test_common/fixtures/*` until DWDS migration is complete. - Remove package `build_daemon` from DWDS' `pubspec.yaml` as it's not approved for SDK env. - Added `@skip_package_deps_validation` to the following files to ignore import checks for package:build_daemon: `server.dart`, `utilities.dart`, `context.dart`. - Created `pkg/dwds/lib/src/utilities/test_path_utils.dart` to fix path resolution failures in tests (ie. `build_script_test.dart` and `ensure_version_test.dart`). Testing: - All tests passing locally. - CI try bots are green. Design Doc: http://goto.google.com/migrating-webdev and http://goto.google.com/migrating-dwds Fixes https://github.com/dart-lang/sdk/issues/62100 Fixes https://github.com/dart-lang/sdk/issues/62101 Fixes https://github.com/dart-lang/sdk/issues/62102 Fixes https://github.com/dart-lang/sdk/issues/62103 Cq-Include-Trybots: luci.dart.try:pkg-win-release-try,pkg-win-release-arm64-try,pkg-mac-release-try,pkg-mac-release-arm64-try,pkg-linux-release-try,pkg-linux-release-arm64-try,pkg-linux-debug-try Change-Id: I6130be8b7e0b42fbbf81b26a4950a2c4282e3a48 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/494660 Commit-Queue: Jessy Yameogo <yjessy@google.com> Reviewed-by: Nate Biggs <natebiggs@google.com> Reviewed-by: Ben Konyi <bkonyi@google.com>
This commit is contained in:
committed by
dart-scoped@luci-project-accounts.iam.gserviceaccount.com
parent
e1d687cb9e
commit
a909051679
@@ -0,0 +1,3 @@
|
||||
set noparent
|
||||
# Dart Development Infrastructure Team
|
||||
file:/tools/OWNERS_DEV_INFRA
|
||||
@@ -3,8 +3,11 @@ include: package:dart_flutter_team_lints/analysis_options.yaml
|
||||
analyzer:
|
||||
exclude:
|
||||
# Ignore generated files
|
||||
- "lib/data/*"
|
||||
- "lib/src/handlers/injected_client_js.dart"
|
||||
# Ignore integration fixtures to avoid analysis errors from "package:build_daemon".
|
||||
- "test/integration/fixtures/context.dart"
|
||||
- "test/integration/fixtures/server.dart"
|
||||
- "test/integration/fixtures/utilities.dart"
|
||||
|
||||
linter:
|
||||
rules:
|
||||
|
||||
@@ -77,7 +77,7 @@ class BatchedDebugEvents {
|
||||
bool _listEquals<T>(List<T>? a, List<T>? b) {
|
||||
if (a == null) return b == null;
|
||||
if (b == null || a.length != b.length) return false;
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
for (var i = 0; i < a.length; i++) {
|
||||
if (a[i] != b[i]) return false;
|
||||
}
|
||||
return true;
|
||||
|
||||
@@ -49,7 +49,8 @@ class ExtensionRequest {
|
||||
|
||||
@override
|
||||
String toString() =>
|
||||
'ExtensionRequest { id=$id, command=$command, commandParams=$commandParams }';
|
||||
'ExtensionRequest { id=$id, command=$command, '
|
||||
'commandParams=$commandParams }';
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) =>
|
||||
@@ -111,7 +112,8 @@ class ExtensionResponse {
|
||||
|
||||
@override
|
||||
String toString() =>
|
||||
'ExtensionResponse { id=$id, success=$success, result=$result, error=$error }';
|
||||
'ExtensionResponse { id=$id, success=$success, '
|
||||
'result=$result, error=$error }';
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) =>
|
||||
@@ -195,7 +197,7 @@ class BatchedEvents {
|
||||
identical(this, other) ||
|
||||
other is BatchedEvents &&
|
||||
runtimeType == other.runtimeType &&
|
||||
const ListEquality().equals(events, other.events);
|
||||
const ListEquality<ExtensionEvent>().equals(events, other.events);
|
||||
|
||||
@override
|
||||
int get hashCode => Object.hashAll(events);
|
||||
|
||||
@@ -2,8 +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.
|
||||
|
||||
library hot_reload_request;
|
||||
|
||||
/// A request to hot reload the application.
|
||||
class HotReloadRequest {
|
||||
/// A unique identifier for this request.
|
||||
|
||||
@@ -2,8 +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.
|
||||
|
||||
library hot_reload_response;
|
||||
|
||||
/// A response to a hot reload request.
|
||||
class HotReloadResponse {
|
||||
/// The unique identifier matching the request.
|
||||
@@ -50,5 +48,6 @@ class HotReloadResponse {
|
||||
|
||||
@override
|
||||
String toString() =>
|
||||
'HotReloadResponse(id: $id, success: $success, errorMessage: $errorMessage)';
|
||||
'HotReloadResponse(id: $id, success: $success, '
|
||||
'errorMessage: $errorMessage)';
|
||||
}
|
||||
|
||||
@@ -2,8 +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.
|
||||
|
||||
library hot_restart_request;
|
||||
|
||||
/// A request to hot restart the application.
|
||||
class HotRestartRequest {
|
||||
/// A unique identifier for this request.
|
||||
|
||||
@@ -23,7 +23,8 @@ Map<String, dynamic> listToMap(List<dynamic> list, {String? type}) {
|
||||
|
||||
if ((list.length - startIndex).isOdd) {
|
||||
throw FormatException(
|
||||
'Expected an even number of elements${type != null ? " after $type" : ""}',
|
||||
'Expected an even number of elements'
|
||||
'${type != null ? " after $type" : ""}',
|
||||
list,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -146,8 +146,8 @@ class DdcStrategy extends LoadStrategy {
|
||||
AssetReader assetReader,
|
||||
this._buildSettings,
|
||||
this._g3RelativePath, {
|
||||
String? packageConfigPath,
|
||||
}) : super(assetReader, packageConfigPath: packageConfigPath);
|
||||
super.packageConfigPath,
|
||||
}) : super(assetReader);
|
||||
|
||||
@override
|
||||
Handler get handler => (request) async {
|
||||
|
||||
@@ -146,10 +146,10 @@ class DdcLibraryBundleStrategy extends LoadStrategy {
|
||||
AssetReader assetReader,
|
||||
this._buildSettings,
|
||||
this._g3RelativePath, {
|
||||
String? packageConfigPath,
|
||||
super.packageConfigPath,
|
||||
this.reloadedSourcesUri,
|
||||
this.injectScriptLoad = true,
|
||||
}) : super(assetReader, packageConfigPath: packageConfigPath);
|
||||
}) : super(assetReader);
|
||||
|
||||
@override
|
||||
Handler get handler => (request) async {
|
||||
|
||||
@@ -139,8 +139,8 @@ class RequireStrategy extends LoadStrategy {
|
||||
this._moduleInfoForProvider,
|
||||
AssetReader assetReader,
|
||||
this._buildSettings, {
|
||||
String? packageConfigPath,
|
||||
}) : super(assetReader, packageConfigPath: packageConfigPath);
|
||||
super.packageConfigPath,
|
||||
}) : super(assetReader);
|
||||
|
||||
@override
|
||||
Handler get handler => (request) async {
|
||||
|
||||
+13
-25
@@ -1,13 +1,14 @@
|
||||
name: dwds
|
||||
# Every time this changes you need to run `dart run build_runner build`.
|
||||
# Every time this changes you need to run `dart run tool/build.dart`.
|
||||
version: 27.1.1-wip
|
||||
|
||||
description: >-
|
||||
A service that proxies between the Chrome debug protocol and the Dart VM
|
||||
service protocol.
|
||||
repository: https://github.com/dart-lang/webdev/tree/main/dwds
|
||||
environment:
|
||||
sdk: ^3.12.0-307.0.dev
|
||||
sdk: ^3.12.0-0
|
||||
|
||||
resolution: workspace
|
||||
|
||||
dependencies:
|
||||
async: ^2.9.0
|
||||
@@ -24,9 +25,7 @@ dependencies:
|
||||
pool: ^1.5.0
|
||||
pub_semver: ^2.1.1
|
||||
shelf: ^1.3.0
|
||||
shelf_packages_handler: ^3.0.0
|
||||
shelf_proxy: ^1.0.4
|
||||
shelf_static: ^1.1.0
|
||||
shelf_web_socket: ">=2.0.0 <4.0.0"
|
||||
source_maps: ^0.10.10
|
||||
sse: ^4.2.0
|
||||
@@ -34,28 +33,17 @@ dependencies:
|
||||
stream_channel: ^2.1.2
|
||||
vm_service: ">=14.2.4 <16.0.0"
|
||||
vm_service_interface: ^2.0.1
|
||||
web: ^1.1.0
|
||||
web_socket: ^1.0.1
|
||||
web_socket_channel: ">=2.2.0 <4.0.0"
|
||||
webkit_inspection_protocol: ^1.0.1
|
||||
|
||||
dev_dependencies:
|
||||
args: ^2.4.2
|
||||
build_daemon: ^4.0.0
|
||||
dart_flutter_team_lints: ^3.5.2
|
||||
dwds_test_common:
|
||||
path: ../dwds_test_common
|
||||
graphs: ^2.1.0
|
||||
io: ^1.0.5
|
||||
js: ">=0.6.4 <0.8.0"
|
||||
mime: ^2.0.0
|
||||
test: ^1.21.6
|
||||
webdriver: ^3.0.0
|
||||
yaml: ^3.1.3
|
||||
|
||||
dependency_overrides:
|
||||
sse:
|
||||
git:
|
||||
url: https://github.com/dart-lang/tools.git
|
||||
ref: 06493ded8ca27996d979f9f903d2bc24a1215064
|
||||
path: pkgs/sse
|
||||
dart_flutter_team_lints: any
|
||||
dwds_test_common: any
|
||||
graphs: any
|
||||
io: any
|
||||
mime: any
|
||||
test: any
|
||||
web: any
|
||||
webdriver: any
|
||||
yaml: any
|
||||
|
||||
@@ -10,11 +10,13 @@ import 'package:dwds/src/handlers/injected_client_js.dart';
|
||||
import 'package:path/path.dart' as p;
|
||||
import 'package:test/test.dart';
|
||||
|
||||
import 'test_path_utils.dart';
|
||||
|
||||
void main() {
|
||||
group('Committed file integrity tests', () {
|
||||
test('injected_client_js.dart is in sync with web/client.dart', () {
|
||||
test('injected_client_js.dart is in sync with web/client.dart', () async {
|
||||
final clientDartString = File(
|
||||
'web/client.dart',
|
||||
await dwdsPath('web/client.dart'),
|
||||
).readAsStringSync().replaceAll('\r\n', '\n');
|
||||
final expectedHash = sha256
|
||||
.convert(utf8.encode(clientDartString))
|
||||
@@ -37,11 +39,17 @@ void main() {
|
||||
|
||||
group('Build script tests', () {
|
||||
setUpAll(() async {
|
||||
// Use Platform.executable to ensure we use the same Dart SDK
|
||||
final result = await Process.run(Platform.executable, [
|
||||
// Use Platform.executable to ensure the same Dart SDK is used. Only
|
||||
// resolve the absolute path if it's a local/relative path. Global
|
||||
// system commands (no path separators) are passed as-is.
|
||||
final executable = Platform.executable;
|
||||
final resolvedExecutable = executable.contains(p.separator)
|
||||
? File(executable).absolute.path
|
||||
: executable;
|
||||
final result = await Process.run(resolvedExecutable, [
|
||||
'run',
|
||||
'tool/build.dart',
|
||||
]);
|
||||
], workingDirectory: await dwdsPackageRoot);
|
||||
|
||||
expect(
|
||||
result.exitCode,
|
||||
@@ -50,14 +58,18 @@ void main() {
|
||||
);
|
||||
});
|
||||
|
||||
test('generates client.js', () {
|
||||
final clientJsFile = File(p.join('lib', 'src', 'injected', 'client.js'));
|
||||
test('generates client.js', () async {
|
||||
final clientJsFile = File(
|
||||
await dwdsPath(p.join('lib', 'src', 'injected', 'client.js')),
|
||||
);
|
||||
expect(clientJsFile.existsSync(), isTrue);
|
||||
expect(clientJsFile.lengthSync(), greaterThan(0));
|
||||
});
|
||||
|
||||
test('generates version.dart', () {
|
||||
final versionFile = File(p.join('lib', 'src', 'version.dart'));
|
||||
test('generates version.dart', () async {
|
||||
final versionFile = File(
|
||||
await dwdsPath(p.join('lib', 'src', 'version.dart')),
|
||||
);
|
||||
expect(versionFile.existsSync(), isTrue);
|
||||
expect(
|
||||
versionFile.readAsStringSync(),
|
||||
@@ -65,23 +77,29 @@ void main() {
|
||||
);
|
||||
});
|
||||
|
||||
test('generates injected_client_js.dart', () {
|
||||
test('generates injected_client_js.dart', () async {
|
||||
final injectedFile = File(
|
||||
p.join('lib', 'src', 'handlers', 'injected_client_js.dart'),
|
||||
await dwdsPath(
|
||||
p.join('lib', 'src', 'handlers', 'injected_client_js.dart'),
|
||||
),
|
||||
);
|
||||
expect(injectedFile.existsSync(), isTrue);
|
||||
expect(injectedFile.lengthSync(), greaterThan(0));
|
||||
});
|
||||
|
||||
test('injected_client_js.dart matches client.js content', () {
|
||||
final clientJsFile = File(p.join('lib', 'src', 'injected', 'client.js'));
|
||||
test('injected_client_js.dart matches client.js content', () async {
|
||||
final clientJsFile = File(
|
||||
await dwdsPath(p.join('lib', 'src', 'injected', 'client.js')),
|
||||
);
|
||||
final actualClientJs = clientJsFile.readAsStringSync().replaceAll(
|
||||
'\r\n',
|
||||
'\n',
|
||||
);
|
||||
|
||||
final injectedFile = File(
|
||||
p.join('lib', 'src', 'handlers', 'injected_client_js.dart'),
|
||||
await dwdsPath(
|
||||
p.join('lib', 'src', 'handlers', 'injected_client_js.dart'),
|
||||
),
|
||||
);
|
||||
final injectedContent = injectedFile.readAsStringSync();
|
||||
|
||||
|
||||
@@ -12,9 +12,12 @@ import 'package:pub_semver/pub_semver.dart';
|
||||
import 'package:test/test.dart';
|
||||
import 'package:yaml/yaml.dart';
|
||||
|
||||
import 'test_path_utils.dart';
|
||||
|
||||
void main() {
|
||||
test('dwds lib/src/version.dart matches the pubspec version', () {
|
||||
final pubspec = loadYaml(File('pubspec.yaml').readAsStringSync()) as Map;
|
||||
test('dwds lib/src/version.dart matches the pubspec version', () async {
|
||||
final pubspecPath = await dwdsPath('pubspec.yaml');
|
||||
final pubspec = loadYaml(File(pubspecPath).readAsStringSync()) as Map;
|
||||
expect(
|
||||
Version.parse(packageVersion),
|
||||
Version.parse(pubspec['version'] as String),
|
||||
|
||||
@@ -1,38 +0,0 @@
|
||||
// Copyright (c) 2021, 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.
|
||||
|
||||
@TestOn('vm')
|
||||
@Skip('Intended to run in analyze stage on stable SDK only, see mono_pkg.yaml')
|
||||
library;
|
||||
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:pub_semver/pub_semver.dart';
|
||||
import 'package:test/test.dart';
|
||||
import 'package:yaml/yaml.dart';
|
||||
|
||||
void main() {
|
||||
test('dwds pubspec has the stable as min SDK constraint', () {
|
||||
final pubspec = loadYaml(File('pubspec.yaml').readAsStringSync()) as Map;
|
||||
var sdkVersion = Version.parse(Platform.version.split(' ')[0]);
|
||||
sdkVersion = Version(sdkVersion.major, sdkVersion.minor, 0);
|
||||
|
||||
final sdkConstraint = VersionConstraint.compatibleWith(sdkVersion);
|
||||
final environment = pubspec['environment'] as Map? ?? {};
|
||||
final pubspecSdkConstraint = environment['sdk'];
|
||||
expect(pubspecSdkConstraint, isNotNull);
|
||||
final parsedConstraint = VersionConstraint.parse(
|
||||
pubspecSdkConstraint as String,
|
||||
);
|
||||
expect(
|
||||
sdkConstraint.allowsAll(parsedConstraint),
|
||||
true,
|
||||
reason:
|
||||
'Min sdk constraint is outdated. Please update SDK constraint in '
|
||||
'pubspec to allow latest stable and backwards compatible versions.'
|
||||
'\n Current stable: $sdkVersion,'
|
||||
'\n Dwds pubspec constraint: $pubspecSdkConstraint',
|
||||
);
|
||||
});
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
// Copyright (c) 2026, 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 'dart:isolate';
|
||||
import 'package:path/path.dart' as p;
|
||||
|
||||
/// Returns the path to the `dwds` package root directory.
|
||||
Future<String> get dwdsPackageRoot async {
|
||||
final uri = await Isolate.resolvePackageUri(
|
||||
Uri.parse('package:dwds/dwds.dart'),
|
||||
);
|
||||
if (uri == null) {
|
||||
throw StateError('Could not resolve package:dwds');
|
||||
}
|
||||
// uri is file:///.../pkg/dwds/lib/dwds.dart
|
||||
// We need to go up 2 levels to get to pkg/dwds
|
||||
return p.dirname(p.dirname(uri.toFilePath()));
|
||||
}
|
||||
|
||||
/// Returns the absolute path to a file or directory relative to the `dwds`
|
||||
/// package root.
|
||||
Future<String> dwdsPath(String pathFromDwds) async {
|
||||
return p.normalize(p.join(await dwdsPackageRoot, pathFromDwds));
|
||||
}
|
||||
@@ -2,6 +2,8 @@
|
||||
// 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.
|
||||
|
||||
// @skip_package_deps_validation
|
||||
|
||||
import 'dart:async';
|
||||
import 'dart:convert';
|
||||
import 'dart:io';
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
// 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.
|
||||
|
||||
// @skip_package_deps_validation
|
||||
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:build_daemon/data/build_status.dart' as daemon;
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
// 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.
|
||||
|
||||
// @skip_package_deps_validation
|
||||
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:build_daemon/client.dart';
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
Copyright 2026, the Dart project authors.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above
|
||||
copyright notice, this list of conditions and the following
|
||||
disclaimer in the documentation and/or other materials provided
|
||||
with the distribution.
|
||||
* Neither the name of Google LLC nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
@@ -0,0 +1,3 @@
|
||||
set noparent
|
||||
# Dart Development Infrastructure Team
|
||||
file:/tools/OWNERS_DEV_INFRA
|
||||
@@ -3,16 +3,17 @@ publish_to: none
|
||||
description: >-
|
||||
Common test functionality.
|
||||
environment:
|
||||
sdk: ^3.10.0-0.0.dev
|
||||
sdk: ^3.12.0-0
|
||||
|
||||
resolution: workspace
|
||||
|
||||
dependencies:
|
||||
dwds: any
|
||||
file: ">=6.0.0 <8.0.0"
|
||||
logging: ^1.0.1
|
||||
path: ^1.8.1
|
||||
pub_semver: ^2.1.1
|
||||
test: ^1.21.1
|
||||
file: any
|
||||
logging: any
|
||||
path: any
|
||||
pub_semver: any
|
||||
test: any
|
||||
|
||||
dev_dependencies:
|
||||
dart_flutter_team_lints: ^3.5.2
|
||||
yaml: ^3.1.2
|
||||
dart_flutter_team_lints: any
|
||||
|
||||
+2
-2
@@ -52,6 +52,8 @@ dev_compiler/test/options/*: Skip # test needs fixes
|
||||
dev_compiler/test/sourcemap/*: SkipByDesign # Skip sourcemap tests
|
||||
dev_compiler/test/sourcemap/testfiles/*: SkipByDesign # Skip dev_compiler codegen tests
|
||||
dev_compiler/test/worker/*: Skip # test needs fixes
|
||||
dwds/test/integration/*: SkipByDesign # Skip integration tests relying on build_daemon/build_runner.
|
||||
dwds_test_common/fixtures/*: SkipByDesign # Skip fixtures relying on build_daemon/build_runner.
|
||||
front_end/test/analyze_git_test: Pass, Slow
|
||||
front_end/test/bootstrap_test: Pass, Slow
|
||||
front_end/test/incremental_compiler_leak_test: Pass, ExtraSlow
|
||||
@@ -264,8 +266,6 @@ front_end/test/incremental_dart2js_load_from_dill_test: Pass, Slow
|
||||
frontend_server_client/test/example/vm_client_test: SkipByDesign # Test is incompatible with Windows platform.
|
||||
frontend_server_client/test/example/web_client_test: SkipByDesign # Test is incompatible with Windows platform.
|
||||
vm_service/test/private_rpcs/dev_fs_http_put_test: Skip # Windows disallows "?" in paths
|
||||
vm_service/test/private_rpcs/dev_fs_http_put_weird_char_test: Skip # Windows disallows "\r" in paths
|
||||
vm_service/test/private_rpcs/dev_fs_weird_char_test: Skip # Windows disallows "\r" in paths
|
||||
|
||||
[ $browser ]
|
||||
*/test/analyzer_test: SkipByDesign # No need to run analysis tests on browser bots
|
||||
|
||||
@@ -46,6 +46,8 @@ workspace:
|
||||
- pkg/dev_compiler
|
||||
- pkg/dtd
|
||||
- pkg/dtd_impl
|
||||
- pkg/dwds
|
||||
- pkg/dwds_test_common
|
||||
- pkg/dynamic_modules
|
||||
- pkg/expect
|
||||
- pkg/_fe_analyzer_shared
|
||||
|
||||
@@ -337,6 +337,7 @@ class Package implements Comparable<Package> {
|
||||
const excludedPaths = {
|
||||
'pkg/analyzer_cli/test/data/',
|
||||
'pkg/analyzer_testing/lib/mock_packages/package_content/',
|
||||
'pkg/dwds_test_common/fixtures/',
|
||||
'pkg/front_end/test/id_testing/data/',
|
||||
'pkg/front_end/test/enable_non_nullable/data/',
|
||||
'pkg/front_end/test/language_versioning/data/',
|
||||
|
||||
Reference in New Issue
Block a user