diff --git a/lib/web_ui/dev/steps/run_suite_step.dart b/lib/web_ui/dev/steps/run_suite_step.dart index d069688a07ba6..b78e6ac9d71be 100644 --- a/lib/web_ui/dev/steps/run_suite_step.dart +++ b/lib/web_ui/dev/steps/run_suite_step.dart @@ -84,6 +84,7 @@ class RunSuiteStep implements PipelineStep { '--platform=${browserEnvironment.packageTestRuntime.identifier}', '--precompiled=$bundleBuildPath', '--configuration=$configurationFilePath', + if (AnsiColors.shouldEscape) '--color' else '--no-color', // TODO(jacksongardner): Set the default timeout to five minutes when // https://github.com/dart-lang/test/issues/2006 is fixed. diff --git a/lib/web_ui/dev/utils.dart b/lib/web_ui/dev/utils.dart index c3b6de87c5dcd..a51c78b2ec3c4 100644 --- a/lib/web_ui/dev/utils.dart +++ b/lib/web_ui/dev/utils.dart @@ -10,6 +10,7 @@ import 'package:args/command_runner.dart'; import 'package:meta/meta.dart'; import 'package:path/path.dart' as path; +import 'common.dart'; import 'environment.dart'; import 'exceptions.dart'; import 'felt_config.dart'; @@ -428,7 +429,13 @@ io.Directory getSkiaGoldDirectoryForSuite(TestSuite suite) { } extension AnsiColors on String { - static bool shouldEscape = io.stdout.hasTerminal && io.stdout.supportsAnsiEscapes; + static bool shouldEscape = () { + if (isLuci) { + // Produce clean output on LUCI. + return false; + } + return io.stdout.hasTerminal && io.stdout.supportsAnsiEscapes; + }(); static const String _noColorCode = '\u001b[39m';