Skip to content

Commit

Permalink
Prevent tests from producing dill files alongside the test file (#115…
Browse files Browse the repository at this point in the history
  • Loading branch information
DanTup committed Nov 10, 2022
1 parent 5a60045 commit 09a4f23
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 8 deletions.
22 changes: 14 additions & 8 deletions packages/flutter_tools/lib/src/test/flutter_platform.dart
Expand Up @@ -458,14 +458,16 @@ class FlutterPlatform extends PlatformPlugin {
controllerSinkClosed = true;
}));

// When start paused is specified, it means that the user is likely
// running this with a debugger attached. Initialize the resident
// compiler in this case.
if (debuggingOptions.startPaused) {
compiler ??= TestCompiler(debuggingOptions.buildInfo, flutterProject, precompiledDillPath: precompiledDillPath, testTimeRecorder: testTimeRecorder);
final Uri testUri = globals.fs.file(testPath).uri;
// Trigger a compilation to initialize the resident compiler.
unawaited(compiler!.compile(testUri));
void initializeExpressionCompiler(String path) {
// When start paused is specified, it means that the user is likely
// running this with a debugger attached. Initialize the resident
// compiler in this case.
if (debuggingOptions.startPaused) {
compiler ??= TestCompiler(debuggingOptions.buildInfo, flutterProject, precompiledDillPath: precompiledDillPath, testTimeRecorder: testTimeRecorder);
final Uri uri = globals.fs.file(path).uri;
// Trigger a compilation to initialize the resident compiler.
unawaited(compiler!.compile(uri));
}
}

// If a kernel file is given, then use that to launch the test.
Expand All @@ -474,6 +476,7 @@ class FlutterPlatform extends PlatformPlugin {
String? mainDart;
if (precompiledDillPath != null) {
mainDart = precompiledDillPath;
initializeExpressionCompiler(testPath);
} else if (precompiledDillFiles != null) {
mainDart = precompiledDillFiles![testPath];
} else {
Expand All @@ -489,6 +492,9 @@ class FlutterPlatform extends PlatformPlugin {
testHarnessChannel.sink.addError('Compilation failed for testPath=$testPath');
return null;
}
} else {
// For integration tests, we may still need to set up expression compilation service.
initializeExpressionCompiler(mainDart);
}
}

Expand Down
Expand Up @@ -116,6 +116,12 @@ void batch2() {
);
await flutter.waitForPause();
await evaluateTrivialExpressions(flutter);

// Ensure we did not leave a dill file alongside the test.
// https://github.com/Dart-Code/Dart-Code/issues/4243.
final String dillFilename = '${project.testFilePath}.dill';
expect(fileSystem.file(dillFilename).existsSync(), isFalse);

await cleanProject();
});

Expand Down Expand Up @@ -168,6 +174,12 @@ void batch3() {
);
await flutter.waitForPause();
await evaluateTrivialExpressions(flutter);

// Ensure we did not leave a dill file alongside the test.
// https://github.com/Dart-Code/Dart-Code/issues/4243.
final String dillFilename = '${project.testFilePath}.dill';
expect(fileSystem.file(dillFilename).existsSync(), isFalse);

await cleanProject();
});

Expand Down

0 comments on commit 09a4f23

Please sign in to comment.