Terminate flutter test
when no longer needed in integration test. (#159117)
Towards https://github.com/flutter/flutter/issues/51421. ```sh flutter_tools % dart test test/integration.shard/break_on_framework_exceptions_test.dart 02:38 +29: All tests passed! 54692 ttys003 0:00.02 /opt/homebrew/bin/zsh -il ``` Requires https://github.com/flutter/flutter/pull/159115 for the process cleanup to work properly, but this is safe to land as-is, otherwise we still accumulate `flutter` processes over and over as each test case runs which is not WAI.
This commit is contained in:
parent
c5379557b3
commit
8536b96ebb
@ -33,23 +33,29 @@ void main() {
|
||||
|
||||
final FlutterTestTestDriver flutter = FlutterTestTestDriver(tempDir);
|
||||
|
||||
await _timeoutAfter(
|
||||
message: 'Timed out launching `flutter test`',
|
||||
work: () => flutter.test(withDebugger: true, pauseOnExceptions: true),
|
||||
);
|
||||
try {
|
||||
await _timeoutAfter(
|
||||
message: 'Timed out launching `flutter test`',
|
||||
work: () => flutter.test(withDebugger: true, pauseOnExceptions: true),
|
||||
);
|
||||
|
||||
await _timeoutAfter(
|
||||
message: 'Timed out waiting for VM service pause debug event',
|
||||
work: flutter.waitForPause,
|
||||
);
|
||||
await _timeoutAfter(
|
||||
message: 'Timed out waiting for VM service pause debug event',
|
||||
work: flutter.waitForPause,
|
||||
);
|
||||
|
||||
int? breakLine;
|
||||
await _timeoutAfter(
|
||||
message: 'Timed out getting source location of top stack frame',
|
||||
work: () async => breakLine = (await flutter.getSourceLocation())?.line,
|
||||
);
|
||||
int? breakLine;
|
||||
await _timeoutAfter(
|
||||
message: 'Timed out getting source location of top stack frame',
|
||||
work: () async => breakLine = (await flutter.getSourceLocation())?.line,
|
||||
);
|
||||
|
||||
expect(breakLine, project.lineContaining(project.test, exceptionMessage));
|
||||
expect(breakLine, project.lineContaining(project.test, exceptionMessage));
|
||||
} finally {
|
||||
// Some of the tests will quit naturally, and others won't.
|
||||
// By this point we don't need the tool anymore, so just force quit.
|
||||
await flutter.quit();
|
||||
}
|
||||
}
|
||||
|
||||
testWithoutContext('breaks when AnimationController listener throws', () async {
|
||||
|
Loading…
x
Reference in New Issue
Block a user