Run pub with --trace (#12328)

See https://github.com/dart-lang/pub/issues/1714
This commit is contained in:
Ian Hickson 2017-09-29 17:56:25 -07:00 committed by GitHub
parent 21899ce62f
commit 89566feeed
2 changed files with 10 additions and 3 deletions

View File

@ -81,12 +81,18 @@ typedef String MessageFilter(String message);
/// Runs pub in 'batch' mode, forwarding complete lines written by pub to its
/// stdout/stderr streams to the corresponding stream of this process, optionally
/// applying filtering. The pub process will not receive anything on its stdin stream.
///
/// The `--trace` argument is passed to `pub` (by mutating the provided
/// `arguments` list) unless `showTraceForErrors` is false.
Future<Null> pub(List<String> arguments, {
String directory,
MessageFilter filter,
String failureMessage: 'pub failed',
@required bool retry,
bool showTraceForErrors: true,
}) async {
if (showTraceForErrors)
arguments.insert(0, '--trace');
int attempts = 0;
int duration = 1;
int code;

View File

@ -82,10 +82,11 @@ void main() {
testUsingContext('test', () async {
await createTestCommandRunner(new PackagesCommand()).run(<String>['packages', 'test']);
final List<String> commands = mockProcessManager.commands;
expect(commands, hasLength(3));
expect(commands, hasLength(4));
expect(commands[0], matches(r'dart-sdk[\\/]bin[\\/]pub'));
expect(commands[1], 'run');
expect(commands[2], 'test');
expect(commands[1], '--trace');
expect(commands[2], 'run');
expect(commands[3], 'test');
}, overrides: <Type, Generator>{
ProcessManager: () => mockProcessManager,
Stdio: () => mockStdio,