use pub run for create test and remove [INFO] logs (#35839)

This commit is contained in:
Jonah Williams
2019-07-10 08:48:01 -07:00
committed by GitHub
parent e3a08d2392
commit 2b20345bb8
3 changed files with 19 additions and 4 deletions

View File

@@ -87,6 +87,7 @@ Future<void> runCommand(String executable, List<String> arguments, {
bool skip = false,
bool expectFlaky = false,
Duration timeout = _kLongTimeout,
bool Function(String) removeLine,
}) async {
final String commandDescription = '${path.relative(executable, from: workingDirectory)} ${arguments.join(' ')}';
final String relativeWorkingDir = path.relative(workingDirectory);
@@ -103,13 +104,18 @@ Future<void> runCommand(String executable, List<String> arguments, {
);
Future<List<List<int>>> savedStdout, savedStderr;
final Stream<List<int>> stdoutSource = process.stdout
.transform<String>(const Utf8Decoder())
.transform(const LineSplitter())
.where((String line) => removeLine == null || !removeLine(line))
.transform(const Utf8Encoder());
if (printOutput) {
await Future.wait<void>(<Future<void>>[
stdout.addStream(process.stdout),
stdout.addStream(stdoutSource),
stderr.addStream(process.stderr),
]);
} else {
savedStdout = process.stdout.toList();
savedStdout = stdoutSource.toList();
savedStderr = process.stderr.toList();
}