Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions tools/engine_tool/lib/src/commands/command.dart
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,11 @@ abstract base class CommandBase extends Command<int> {

@override
final ArgParser argParser;

@override
void printUsage() {
environment.logger.status(usage);
}
}

/// Adds the -c (--config) option to the parser.
Expand Down
5 changes: 5 additions & 0 deletions tools/engine_tool/lib/src/commands/command_runner.dart
Original file line number Diff line number Diff line change
Expand Up @@ -103,4 +103,9 @@ final class ToolCommandRunner extends CommandRunner<int> {
return 1;
}
}

@override
void printUsage() {
environment.logger.status(usage);
}
}
100 changes: 45 additions & 55 deletions tools/engine_tool/test/build_command_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -449,65 +449,55 @@ void main() {
});

test('et help build line length is not too big', () async {
final prints = <String>[];
await runZoned(
() async {
final testEnv = TestEnvironment.withTestEngine(
cannedProcesses: cannedProcesses,
verbose: true,
);
addTearDown(testEnv.cleanup);

final runner = ToolCommandRunner(
environment: testEnv.environment,
configs: configs,
help: true,
);
final result = await runner.run([
'help',
'build',
]);
expect(result, equals(0));
},
zoneSpecification: ZoneSpecification(
print: (Zone self, ZoneDelegate parent, Zone zone, String line) {
prints.addAll(line.split('\n'));
},
),
final testEnv = TestEnvironment.withTestEngine(
cannedProcesses: cannedProcesses,
verbose: true,
);
addTearDown(testEnv.cleanup);

final runner = ToolCommandRunner(
environment: testEnv.environment,
configs: configs,
help: true,
);
final result = await runner.run([
'help',
'build',
]);
expect(result, equals(0));

// Avoid a degenerate case where nothing is logged.
expect(testEnv.testLogs, isNotEmpty, reason: 'No logs were emitted');

expect(
testEnv.testLogs.map((LogRecord r) => r.message.split('\n')),
everyElement(hasLength(lessThanOrEqualTo(100))),
);
for (final line in prints) {
expect(line.length, lessThanOrEqualTo(100));
}
});

test('non-verbose "et help build" does not contain ci builds', () async {
final prints = <String>[];
await runZoned(
() async {
final testEnv = TestEnvironment.withTestEngine(
cannedProcesses: cannedProcesses,
);
addTearDown(testEnv.cleanup);

final runner = ToolCommandRunner(
environment: testEnv.environment,
configs: configs,
help: true,
);
final result = await runner.run([
'help',
'build',
]);
expect(result, equals(0));
},
zoneSpecification: ZoneSpecification(
print: (Zone self, ZoneDelegate parent, Zone zone, String line) {
prints.addAll(line.split('\n'));
},
),
final testEnv = TestEnvironment.withTestEngine(
cannedProcesses: cannedProcesses,
);
addTearDown(testEnv.cleanup);

final runner = ToolCommandRunner(
environment: testEnv.environment,
configs: configs,
help: true,
);
final result = await runner.run([
'help',
'build',
]);
expect(result, equals(0));

// Avoid a degenerate case where nothing is logged.
expect(testEnv.testLogs, isNotEmpty, reason: 'No logs were emitted');

expect(
testEnv.testLogs.map((LogRecord r) => r.message),
isNot(contains('[ci/')),
);
for (final line in prints) {
expect(line.contains('[ci/'), isFalse);
}
});
}