silenceStdout<T> function

T silenceStdout<T>(
  1. T callback()
)

Runs callback and silences all stdout emitted by Scripts or calls to print within it.

Returns the same result as callback. Doesn't add any special error handling.

Implementation

T silenceStdout<T>(T callback()) {
  var group = StdioGroup();
  group.stream.drain<void>();
  return runZoned(callback,
      zoneValues: {stdoutKey: group},
      zoneSpecification: ZoneSpecification(print: (_, __, ___, ____) {}));
}