Unverified Commit d14a9eaa authored by Jonah Williams's avatar Jonah Williams Committed by GitHub

[flutter_tools] remove chrome launcher, analytics mock from web unit tests (#77066)

parent ea8e6161
...@@ -569,7 +569,7 @@ class _ResidentWebRunner extends ResidentWebRunner { ...@@ -569,7 +569,7 @@ class _ResidentWebRunner extends ResidentWebRunner {
String reason, String reason,
bool benchmarkMode = false, bool benchmarkMode = false,
}) async { }) async {
final Stopwatch timer = Stopwatch()..start(); final DateTime start = globals.systemClock.now();
final Status status = globals.logger.startProgress( final Status status = globals.logger.startProgress(
'Performing hot restart...', 'Performing hot restart...',
progressId: 'hot.restart', progressId: 'hot.restart',
...@@ -620,12 +620,13 @@ class _ResidentWebRunner extends ResidentWebRunner { ...@@ -620,12 +620,13 @@ class _ResidentWebRunner extends ResidentWebRunner {
status.stop(); status.stop();
} }
final String elapsed = getElapsedAsMilliseconds(timer.elapsed); final Duration elapsed = globals.systemClock.now().difference(start);
globals.printStatus('Restarted application in $elapsed.'); final String elapsedMS = getElapsedAsMilliseconds(elapsed);
globals.printStatus('Restarted application in $elapsedMS.');
// Don't track restart times for dart2js builds or web-server devices. // Don't track restart times for dart2js builds or web-server devices.
if (debuggingOptions.buildInfo.isDebug && deviceIsDebuggable) { if (debuggingOptions.buildInfo.isDebug && deviceIsDebuggable) {
globals.flutterUsage.sendTiming('hot', 'web-incremental-restart', timer.elapsed); globals.flutterUsage.sendTiming('hot', 'web-incremental-restart', elapsed);
HotEvent( HotEvent(
'restart', 'restart',
targetPlatform: getNameForTargetPlatform(TargetPlatform.web_javascript), targetPlatform: getNameForTargetPlatform(TargetPlatform.web_javascript),
...@@ -633,7 +634,7 @@ class _ResidentWebRunner extends ResidentWebRunner { ...@@ -633,7 +634,7 @@ class _ResidentWebRunner extends ResidentWebRunner {
emulator: false, emulator: false,
fullRestart: true, fullRestart: true,
reason: reason, reason: reason,
overallTimeInMs: timer.elapsed.inMilliseconds, overallTimeInMs: elapsed.inMilliseconds,
fastReassemble: null, fastReassemble: null,
).send(); ).send();
} }
......
...@@ -134,14 +134,10 @@ class ChromiumLauncher { ...@@ -134,14 +134,10 @@ class ChromiumLauncher {
final BrowserFinder _browserFinder; final BrowserFinder _browserFinder;
final Logger _logger; final Logger _logger;
bool get hasChromeInstance => _currentCompleter.isCompleted; bool get hasChromeInstance => currentCompleter.isCompleted;
Completer<Chromium> _currentCompleter = Completer<Chromium>();
@visibleForTesting @visibleForTesting
void testLaunchChromium(Chromium chromium) { Completer<Chromium> currentCompleter = Completer<Chromium>();
_currentCompleter.complete(chromium);
}
/// Whether we can locate the chrome executable. /// Whether we can locate the chrome executable.
bool canFindExecutable() { bool canFindExecutable() {
...@@ -171,7 +167,7 @@ class ChromiumLauncher { ...@@ -171,7 +167,7 @@ class ChromiumLauncher {
bool skipCheck = false, bool skipCheck = false,
Directory cacheDir, Directory cacheDir,
}) async { }) async {
if (_currentCompleter.isCompleted) { if (currentCompleter.isCompleted) {
throwToolExit('Only one instance of chrome can be started.'); throwToolExit('Only one instance of chrome can be started.');
} }
...@@ -226,7 +222,7 @@ class ChromiumLauncher { ...@@ -226,7 +222,7 @@ class ChromiumLauncher {
_cacheUserSessionInformation(userDataDir, cacheDir); _cacheUserSessionInformation(userDataDir, cacheDir);
})); }));
} }
return _connect(Chromium._( return _connect(Chromium(
port, port,
ChromeConnection('localhost', port), ChromeConnection('localhost', port),
url: url, url: url,
...@@ -358,16 +354,16 @@ class ChromiumLauncher { ...@@ -358,16 +354,16 @@ class ChromiumLauncher {
'Unable to connect to Chrome debug port: ${chrome.debugPort}\n $e'); 'Unable to connect to Chrome debug port: ${chrome.debugPort}\n $e');
} }
} }
_currentCompleter.complete(chrome); currentCompleter.complete(chrome);
return chrome; return chrome;
} }
Future<Chromium> get connectedInstance => _currentCompleter.future; Future<Chromium> get connectedInstance => currentCompleter.future;
} }
/// A class for managing an instance of a Chromium browser. /// A class for managing an instance of a Chromium browser.
class Chromium { class Chromium {
Chromium._( Chromium(
this.debugPort, this.debugPort,
this.chromeConnection, { this.chromeConnection, {
this.url, this.url,
...@@ -386,7 +382,7 @@ class Chromium { ...@@ -386,7 +382,7 @@ class Chromium {
Future<void> close() async { Future<void> close() async {
if (_chromiumLauncher.hasChromeInstance) { if (_chromiumLauncher.hasChromeInstance) {
_chromiumLauncher._currentCompleter = Completer<Chromium>(); _chromiumLauncher.currentCompleter = Completer<Chromium>();
} }
chromeConnection.close(); chromeConnection.close();
_process?.kill(); _process?.kill();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment