diff --git a/dev/bots/test.dart b/dev/bots/test.dart index 74e32e2fa0a..08fe0500c1d 100644 --- a/dev/bots/test.dart +++ b/dev/bots/test.dart @@ -143,8 +143,9 @@ Future _runSmokeTests() async { Future _runToolTests() async { await _runSmokeTests(); - await _pubRunTest( + await _buildRunnerTest( path.join(flutterRoot, 'packages', 'flutter_tools'), + flutterRoot, enableFlutterToolAsserts: true, ); @@ -306,6 +307,41 @@ Future _runCoverage() async { print('${bold}DONE: Coverage collection successful.$reset'); } +Future _buildRunnerTest( + String workingDirectory, + String flutterRoot, { + String testPath, + bool enableFlutterToolAsserts = false, + } +) { + final List args = ['run', 'build_runner', 'test', '--', '-rcompact', '-j1']; + if (!hasColor) { + args.add('--no-color'); + } + if (testPath != null) { + args.add(testPath); + } + final Map pubEnvironment = { + 'FLUTTER_ROOT': flutterRoot, + }; + if (Directory(pubCache).existsSync()) { + pubEnvironment['PUB_CACHE'] = pubCache; + } + if (enableFlutterToolAsserts) { + // If an existing env variable exists append to it, but only if + // it doesn't appear to already include enable-asserts. + String toolsArgs = Platform.environment['FLUTTER_TOOL_ARGS'] ?? ''; + if (!toolsArgs.contains('--enable-asserts')) + toolsArgs += ' --enable-asserts'; + pubEnvironment['FLUTTER_TOOL_ARGS'] = toolsArgs.trim(); + } + return runCommand( + pub, args, + workingDirectory: workingDirectory, + environment: pubEnvironment, + ); +} + Future _pubRunTest( String workingDirectory, { String testPath,