diff --git a/packages/flutter_tools/doc/daemon.md b/packages/flutter_tools/doc/daemon.md index 2e4981296e..942d439478 100644 --- a/packages/flutter_tools/doc/daemon.md +++ b/packages/flutter_tools/doc/daemon.md @@ -256,7 +256,7 @@ The returned `params` will contain: #### devtools.serve -The `serve()` command starts a DevTools server if one isn't already running and prints out the host and port of the server. +The `serve()` command starts a DevTools server if one isn't already running and returns the host and port of the server. ## 'flutter run --machine' and 'flutter attach --machine' diff --git a/packages/flutter_tools/lib/src/commands/daemon.dart b/packages/flutter_tools/lib/src/commands/daemon.dart index 426e0c16fe..47e22fd2d8 100644 --- a/packages/flutter_tools/lib/src/commands/daemon.dart +++ b/packages/flutter_tools/lib/src/commands/daemon.dart @@ -896,14 +896,14 @@ class DevToolsDomain extends Domain { DevtoolsLauncher _devtoolsLauncher; - Future serve([ Map args ]) async { + Future> serve([ Map args ]) async { _devtoolsLauncher ??= DevtoolsLauncher.instance; final HttpServer server = await _devtoolsLauncher.serve(); - sendEvent('devtools.serve', { + return{ 'host': server.address.host, 'port': server.port, - }); + }; } @override diff --git a/packages/flutter_tools/test/commands.shard/hermetic/daemon_test.dart b/packages/flutter_tools/test/commands.shard/hermetic/daemon_test.dart index 8198079f17..c9911c5b07 100644 --- a/packages/flutter_tools/test/commands.shard/hermetic/daemon_test.dart +++ b/packages/flutter_tools/test/commands.shard/hermetic/daemon_test.dart @@ -321,10 +321,10 @@ void main() { when(mockDevToolsLauncher.serve()).thenAnswer((_) async => mockDevToolsServer); commands.add({'id': 0, 'method': 'devtools.serve'}); - final Map response = await responses.stream.firstWhere(_isDevToolsEvent); - expect(response['params'], isNotEmpty); - expect(response['params']['host'], equals('127.0.0.1')); - expect(response['params']['port'], equals(1234)); + final Map response = await responses.stream.firstWhere((Map response) => response['id'] == 0); + expect(response['result'], isNotEmpty); + expect(response['result']['host'], equals('127.0.0.1')); + expect(response['result']['port'], equals(1234)); await responses.close(); await commands.close(); }, overrides: { @@ -466,8 +466,6 @@ bool _notEvent(Map map) => map['event'] == null; bool _isConnectedEvent(Map map) => map['event'] == 'daemon.connected'; -bool _isDevToolsEvent(Map map) => map['event'] == 'devtools.serve'; - class MockFuchsiaWorkflow extends FuchsiaWorkflow { MockFuchsiaWorkflow({ this.canListDevices = true });