Skip to content

Commit 26910ba

Browse files
author
Anna Gringauze
authored
Pass SdkLayout to the frontend server (#1986)
* Validate only needed summaries in expression_compiler_service * Move shared test functionality into test_common package * Rebase on master * Fix bad merge * Re-enable webdev weak null safety e2e tests * Create copy of the SDK for tests * Modify tests to run with sdk copy * Cleanup * Pull out project definitions into separate file * Add package name to the project and use it in tests * Fix sdk configiuration tests * Update instance_inspection tests * Less changes in chrome_proxy_service.dart
1 parent 784e28b commit 26910ba

File tree

5 files changed

+13
-25
lines changed

5 files changed

+13
-25
lines changed

frontend_server_common/lib/src/asset_server.dart

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,7 @@ import 'package:file/file.dart';
1414
import 'package:logging/logging.dart';
1515
import 'package:mime/mime.dart' as mime;
1616
import 'package:shelf/shelf.dart' as shelf;
17-
18-
import 'utilities.dart';
17+
import 'package:test_common/test_sdk_layout.dart';
1918

2019
class TestAssetServer implements AssetReader {
2120
late final String basePath;
@@ -34,13 +33,15 @@ class TestAssetServer implements AssetReader {
3433
late String _mergedMetadata;
3534
final PackageUriMapper _packageUriMapper;
3635
final InternetAddress internetAddress;
36+
final TestSdkLayout _sdkLayout;
3737

3838
TestAssetServer(
3939
this.index,
4040
this._httpServer,
4141
this._packageUriMapper,
4242
this.internetAddress,
4343
this._fileSystem,
44+
this._sdkLayout,
4445
) {
4546
basePath = _parseBasePathFromIndexHtml(index);
4647
}
@@ -59,17 +60,19 @@ class TestAssetServer implements AssetReader {
5960
/// Unhandled exceptions will throw a exception with the error and stack
6061
/// trace.
6162
static Future<TestAssetServer> start(
63+
String sdkDirectory,
6264
FileSystem fileSystem,
6365
String index,
6466
String hostname,
6567
int port,
6668
UrlEncoder? urlTunneler,
6769
PackageUriMapper packageUriMapper,
6870
) async {
69-
var address = (await InternetAddress.lookup(hostname)).first;
70-
var httpServer = await HttpServer.bind(address, port);
71-
var server = TestAssetServer(
72-
index, httpServer, packageUriMapper, address, fileSystem);
71+
final address = (await InternetAddress.lookup(hostname)).first;
72+
final httpServer = await HttpServer.bind(address, port);
73+
final sdkLayout = TestSdkLayout.createDefault(sdkDirectory);
74+
final server = TestAssetServer(
75+
index, httpServer, packageUriMapper, address, fileSystem, sdkLayout);
7376
return server;
7477
}
7578

@@ -257,7 +260,7 @@ class TestAssetServer implements AssetReader {
257260
}
258261

259262
// Otherwise it must be a Dart SDK source.
260-
var dartSdkParent = _fileSystem.directory(dartSdkPath).parent;
263+
var dartSdkParent = _fileSystem.directory(_sdkLayout.sdkDirectory).parent;
261264
var dartSdkFile = _fileSystem.file(
262265
_fileSystem.path.joinAll(<String>[dartSdkParent.path, ...segments]));
263266
return dartSdkFile;

frontend_server_common/lib/src/devfs.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ class WebDevFS {
4343

4444
fileSystem.currentDirectory = projectDirectory.toFilePath();
4545

46-
assetServer = await TestAssetServer.start(
46+
assetServer = await TestAssetServer.start(sdkLayout.sdkDirectory,
4747
fileSystem, index, hostname, port, urlTunneler, packageUriMapper);
4848
return Uri.parse('http://$hostname:$port');
4949
}

frontend_server_common/lib/src/frontend_server_client.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -396,7 +396,7 @@ class ResidentCompiler {
396396

397397
_logger.info(args.join(' '));
398398
final workingDirectory = projectDirectory.toFilePath();
399-
_server = await Process.start(Platform.resolvedExecutable, args,
399+
_server = await Process.start(sdkLayout.dartPath, args,
400400
workingDirectory: workingDirectory);
401401

402402
var server = _server!;

frontend_server_common/lib/src/resident_runner.dart

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ import 'package:test_common/test_sdk_layout.dart';
1515

1616
import 'devfs.dart';
1717
import 'frontend_server_client.dart';
18-
import 'utilities.dart';
1918

2019
class ResidentWebRunner {
2120
final _logger = Logger('ResidentWebRunner');
@@ -39,7 +38,7 @@ class ResidentWebRunner {
3938
: sdkLayout.weakSummaryPath);
4039

4140
generator = ResidentCompiler(
42-
dartSdkPath,
41+
sdkLayout.sdkDirectory,
4342
projectDirectory: projectDirectory,
4443
packageConfigFile: packageConfigFile,
4544
useDebuggerModuleNames: packageUriMapper.useDebuggerModuleNames,

frontend_server_common/lib/src/utilities.dart

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,7 @@
22
// for details. All rights reserved. Use of this source code is governed by a
33
// BSD-style license that can be found in the LICENSE file.
44

5-
import 'dart:io';
6-
75
import 'package:file/file.dart' as fs;
86
import 'package:file/local.dart';
9-
import 'package:path/path.dart' as p;
10-
11-
/// The path to the root directory of the SDK.
12-
final String _sdkDir = (() {
13-
// The Dart executable is in "/path/to/sdk/bin/dart", so two levels up is
14-
// "/path/to/sdk".
15-
var aboveExecutable = p.dirname(p.dirname(Platform.resolvedExecutable));
16-
assert(FileSystemEntity.isFileSync(p.join(aboveExecutable, 'version')));
17-
return aboveExecutable;
18-
})();
19-
20-
final String dartSdkPath = _sdkDir;
217

228
const fs.FileSystem localFileSystem = LocalFileSystem();

0 commit comments

Comments
 (0)