diff --git a/packages/flutter_tools/lib/src/commands/test.dart b/packages/flutter_tools/lib/src/commands/test.dart index a26ea295e2d..2f2e58e2193 100644 --- a/packages/flutter_tools/lib/src/commands/test.dart +++ b/packages/flutter_tools/lib/src/commands/test.dart @@ -172,8 +172,8 @@ class TestCommand extends FlutterCommand { collector = new CoverageCollector(); } - final bool wantEvents = argResults['machine']; - if (collector != null && wantEvents) { + final bool machine = argResults['machine']; + if (collector != null && machine) { throwToolExit( "The test command doesn't support --machine and coverage together"); } @@ -181,7 +181,7 @@ class TestCommand extends FlutterCommand { TestWatcher watcher; if (collector != null) { watcher = collector; - } else if (wantEvents) { + } else if (machine) { watcher = new EventPrinter(); } @@ -192,7 +192,9 @@ class TestCommand extends FlutterCommand { watcher: watcher, enableObservatory: collector != null || startPaused, startPaused: startPaused, - ipv6: argResults['ipv6']); + ipv6: argResults['ipv6'], + json: machine, + ); if (collector != null) { if (!await _collectCoverageData(collector, mergeCoverageData: argResults['merge-coverage'])) diff --git a/packages/flutter_tools/lib/src/test/runner.dart b/packages/flutter_tools/lib/src/test/runner.dart index 80f37e18dcf..c376313ec99 100644 --- a/packages/flutter_tools/lib/src/test/runner.dart +++ b/packages/flutter_tools/lib/src/test/runner.dart @@ -24,6 +24,7 @@ Future runTests( bool enableObservatory: false, bool startPaused: false, bool ipv6: false, + bool json: false, TestWatcher watcher, }) async { // Compute the command-line arguments for package:test. @@ -36,6 +37,10 @@ Future runTests( testArgs.add('--concurrency=1'); } + if (json) { + testArgs.addAll(['-r', 'json']); + } + testArgs.add('--'); testArgs.addAll(testFiles);