Skip to content
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
2 changes: 1 addition & 1 deletion .ci/scripts/dart_unit_tests_win32.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@
# found in the LICENSE file.
set -e

dart ./script/tool/bin/flutter_plugin_tools.dart test \
dart ./script/tool/bin/flutter_plugin_tools.dart dart-test \
--exclude=script/configs/windows_unit_tests_exceptions.yaml \
--packages-for-branch --log-timing
4 changes: 2 additions & 2 deletions .cirrus.yml
Original file line number Diff line number Diff line change
Expand Up @@ -231,13 +231,13 @@ task:
CHANNEL: "master"
CHANNEL: "stable"
unit_test_script:
- ./script/tool_runner.sh test --exclude=script/configs/dart_unit_tests_exceptions.yaml
- ./script/tool_runner.sh dart-test --exclude=script/configs/dart_unit_tests_exceptions.yaml
pathified_unit_test_script:
# Run tests with path-based dependencies to ensure that publishing
# the changes won't break tests of other packages in the repository
# that depend on it.
- ./script/tool_runner.sh make-deps-path-based --target-dependencies-with-non-breaking-updates
- $PLUGIN_TOOL_COMMAND test --run-on-dirty-packages --exclude=script/configs/dart_unit_tests_exceptions.yaml
- $PLUGIN_TOOL_COMMAND dart-test --run-on-dirty-packages --exclude=script/configs/dart_unit_tests_exceptions.yaml
- name: linux-custom_package_tests
env:
PATH: $PATH:/usr/local/bin
Expand Down
3 changes: 3 additions & 0 deletions script/tool/lib/src/custom_test_command.dart
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,9 @@ class CustomTestCommand extends PackageLoopingCommand {
@override
final String name = 'custom-test';

@override
List<String> get aliases => <String>['test-custom'];

@override
final String description = 'Runs package-specific custom tests defined in '
"a package's tool/$_scriptName file.\n\n"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ import 'common/process_runner.dart';
import 'common/repository_package.dart';

/// A command to run Dart unit tests for packages.
class TestCommand extends PackageLoopingCommand {
class DartTestCommand extends PackageLoopingCommand {
/// Creates an instance of the test command.
TestCommand(
DartTestCommand(
Directory packagesDir, {
ProcessRunner processRunner = const ProcessRunner(),
Platform platform = const LocalPlatform(),
Expand All @@ -30,7 +30,13 @@ class TestCommand extends PackageLoopingCommand {
}

@override
final String name = 'test';
final String name = 'dart-test';

// TODO(stuartmorgan): Eventually remove 'test', which is a legacy name from
// before there were other test commands that made it ambiguous. For now it's
// an alias to avoid breaking people's workflows.
@override
List<String> get aliases => <String>['test', 'test-dart'];

@override
final String description = 'Runs the Dart tests for all packages.\n\n'
Expand Down
3 changes: 3 additions & 0 deletions script/tool/lib/src/dependabot_check_command.dart
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,9 @@ class DependabotCheckCommand extends PackageLoopingCommand {
@override
final String name = 'dependabot-check';

@override
List<String> get aliases => <String>['check-dependabot'];

@override
final String description =
'Checks that all packages have Dependabot coverage.';
Expand Down
3 changes: 3 additions & 0 deletions script/tool/lib/src/federation_safety_check_command.dart
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,9 @@ class FederationSafetyCheckCommand extends PackageLoopingCommand {
@override
final String name = 'federation-safety-check';

@override
List<String> get aliases => <String>['check-federation-safety'];

@override
final String description =
'Checks that the change does not violate repository rules around changes '
Expand Down
3 changes: 3 additions & 0 deletions script/tool/lib/src/gradle_check_command.dart
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ class GradleCheckCommand extends PackageLoopingCommand {
@override
final String name = 'gradle-check';

@override
List<String> get aliases => <String>['check-gradle'];

@override
final String description =
'Checks that gradle files follow repository conventions.';
Expand Down
3 changes: 3 additions & 0 deletions script/tool/lib/src/license_check_command.dart
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,9 @@ class LicenseCheckCommand extends PackageCommand {
@override
final String name = 'license-check';

@override
List<String> get aliases => <String>['check-license'];

@override
final String description =
'Ensures that all code files have copyright/license blocks.';
Expand Down
4 changes: 2 additions & 2 deletions script/tool/lib/src/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import 'build_examples_command.dart';
import 'common/core.dart';
import 'create_all_packages_app_command.dart';
import 'custom_test_command.dart';
import 'dart_test_command.dart';
import 'dependabot_check_command.dart';
import 'drive_examples_command.dart';
import 'federation_safety_check_command.dart';
Expand All @@ -31,7 +32,6 @@ import 'publish_command.dart';
import 'pubspec_check_command.dart';
import 'readme_check_command.dart';
import 'remove_dev_dependencies_command.dart';
import 'test_command.dart';
import 'update_dependency_command.dart';
import 'update_excerpts_command.dart';
import 'update_min_sdk_command.dart';
Expand Down Expand Up @@ -76,7 +76,7 @@ void main(List<String> args) {
..addCommand(PubspecCheckCommand(packagesDir))
..addCommand(ReadmeCheckCommand(packagesDir))
..addCommand(RemoveDevDependenciesCommand(packagesDir))
..addCommand(TestCommand(packagesDir))
..addCommand(DartTestCommand(packagesDir))
..addCommand(UpdateDependencyCommand(packagesDir))
..addCommand(UpdateExcerptsCommand(packagesDir))
..addCommand(UpdateMinSdkCommand(packagesDir))
Expand Down
3 changes: 3 additions & 0 deletions script/tool/lib/src/native_test_command.dart
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,9 @@ class NativeTestCommand extends PackageLoopingCommand {
@override
final String name = 'native-test';

@override
List<String> get aliases => <String>['test-native'];

@override
final String description = '''
Runs native unit tests and native integration tests.
Expand Down
2 changes: 1 addition & 1 deletion script/tool/lib/src/podspec_check_command.dart
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ class PodspecCheckCommand extends PackageLoopingCommand {
final String name = 'podspec-check';

@override
List<String> get aliases => <String>['podspec', 'podspecs'];
List<String> get aliases => <String>['podspec', 'podspecs', 'check-podspec'];

@override
final String description =
Expand Down
3 changes: 3 additions & 0 deletions script/tool/lib/src/publish_check_command.dart
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,9 @@ class PublishCheckCommand extends PackageLoopingCommand {
@override
final String name = 'publish-check';

@override
List<String> get aliases => <String>['check-publish'];

@override
final String description =
'Checks to make sure that a package *could* be published.';
Expand Down
7 changes: 5 additions & 2 deletions script/tool/lib/src/pubspec_check_command.dart
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,9 @@ class PubspecCheckCommand extends PackageLoopingCommand {
@override
final String name = 'pubspec-check';

@override
List<String> get aliases => <String>['check-pubspec'];

@override
final String description =
'Checks that pubspecs follow repository conventions.';
Expand All @@ -104,8 +107,8 @@ class PubspecCheckCommand extends PackageLoopingCommand {
Future<void> initializeRun() async {
// Find all local, published packages.
for (final File pubspecFile in (await packagesDir.parent
.list(recursive: true, followLinks: false)
.toList())
.list(recursive: true, followLinks: false)
.toList())
.whereType<File>()
.where((File entity) => p.basename(entity.path) == 'pubspec.yaml')) {
final Pubspec? pubspec = _tryParsePubspec(pubspecFile.readAsStringSync());
Expand Down
3 changes: 3 additions & 0 deletions script/tool/lib/src/readme_check_command.dart
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,9 @@ class ReadmeCheckCommand extends PackageLoopingCommand {
@override
final String name = 'readme-check';

@override
List<String> get aliases => <String>['check-readme'];

@override
final String description =
'Checks that READMEs follow repository conventions.';
Expand Down
3 changes: 3 additions & 0 deletions script/tool/lib/src/version_check_command.dart
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,9 @@ class VersionCheckCommand extends PackageLoopingCommand {
@override
final String name = 'version-check';

@override
List<String> get aliases => <String>['check-version'];

@override
final String description =
'Checks if the versions of packages have been incremented per pub specification.\n'
Expand Down
3 changes: 3 additions & 0 deletions script/tool/lib/src/xcode_analyze_command.dart
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,9 @@ class XcodeAnalyzeCommand extends PackageLoopingCommand {
@override
final String name = 'xcode-analyze';

@override
List<String> get aliases => <String>['analyze-xcode'];

@override
final String description =
'Runs Xcode analysis on the iOS and/or macOS example apps.';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import 'package:file/file.dart';
import 'package:file/memory.dart';
import 'package:flutter_plugin_tools/src/common/core.dart';
import 'package:flutter_plugin_tools/src/common/plugin_utils.dart';
import 'package:flutter_plugin_tools/src/test_command.dart';
import 'package:flutter_plugin_tools/src/dart_test_command.dart';
import 'package:platform/platform.dart';
import 'package:test/test.dart';

Expand All @@ -27,23 +27,38 @@ void main() {
mockPlatform = MockPlatform();
packagesDir = createPackagesDirectory(fileSystem: fileSystem);
processRunner = RecordingProcessRunner();
final TestCommand command = TestCommand(
final DartTestCommand command = DartTestCommand(
packagesDir,
processRunner: processRunner,
platform: mockPlatform,
);

runner = CommandRunner<void>('test_test', 'Test for $TestCommand');
runner = CommandRunner<void>('test_test', 'Test for $DartTestCommand');
runner.addCommand(command);
});

test('legacy name still works', () async {
final RepositoryPackage plugin = createFakePlugin('a_plugin', packagesDir,
extraFiles: <String>['test/a_test.dart']);

await runCapturingPrint(runner, <String>['test']);

expect(
processRunner.recordedCalls,
orderedEquals(<ProcessCall>[
ProcessCall(getFlutterCommand(mockPlatform),
const <String>['test', '--color'], plugin.path),
]),
);
});

test('runs flutter test on each plugin', () async {
final RepositoryPackage plugin1 = createFakePlugin('plugin1', packagesDir,
extraFiles: <String>['test/empty_test.dart']);
final RepositoryPackage plugin2 = createFakePlugin('plugin2', packagesDir,
extraFiles: <String>['test/empty_test.dart']);

await runCapturingPrint(runner, <String>['test']);
await runCapturingPrint(runner, <String>['dart-test']);

expect(
processRunner.recordedCalls,
Expand All @@ -63,7 +78,7 @@ void main() {
'example/test/an_example_test.dart'
]);

await runCapturingPrint(runner, <String>['test']);
await runCapturingPrint(runner, <String>['dart-test']);

expect(
processRunner.recordedCalls,
Expand All @@ -86,13 +101,13 @@ void main() {
.mockProcessesForExecutable[getFlutterCommand(mockPlatform)] =
<FakeProcessInfo>[
FakeProcessInfo(
MockProcess(exitCode: 1), <String>['test']), // plugin 1 test
FakeProcessInfo(MockProcess(), <String>['test']), // plugin 2 test
MockProcess(exitCode: 1), <String>['dart-test']), // plugin 1 test
FakeProcessInfo(MockProcess(), <String>['dart-test']), // plugin 2 test
];

Error? commandError;
final List<String> output = await runCapturingPrint(
runner, <String>['test'], errorHandler: (Error e) {
runner, <String>['dart-test'], errorHandler: (Error e) {
commandError = e;
});

Expand All @@ -110,7 +125,7 @@ void main() {
final RepositoryPackage plugin2 = createFakePlugin('plugin2', packagesDir,
extraFiles: <String>['test/empty_test.dart']);

await runCapturingPrint(runner, <String>['test']);
await runCapturingPrint(runner, <String>['dart-test']);

expect(
processRunner.recordedCalls,
Expand All @@ -128,7 +143,7 @@ void main() {
extraFiles: <String>['test/empty_test.dart']);

await runCapturingPrint(
runner, <String>['test', '--enable-experiment=exp1']);
runner, <String>['dart-test', '--enable-experiment=exp1']);

expect(
processRunner.recordedCalls,
Expand All @@ -153,7 +168,7 @@ void main() {
'example/test/an_example_test.dart'
]);

await runCapturingPrint(runner, <String>['test']);
await runCapturingPrint(runner, <String>['dart-test']);

expect(
processRunner.recordedCalls,
Expand All @@ -178,7 +193,7 @@ void main() {

Error? commandError;
final List<String> output = await runCapturingPrint(
runner, <String>['test'], errorHandler: (Error e) {
runner, <String>['dart-test'], errorHandler: (Error e) {
commandError = e;
});

Expand All @@ -203,7 +218,7 @@ void main() {

Error? commandError;
final List<String> output = await runCapturingPrint(
runner, <String>['test'], errorHandler: (Error e) {
runner, <String>['dart-test'], errorHandler: (Error e) {
commandError = e;
});

Expand All @@ -226,7 +241,7 @@ void main() {
},
);

await runCapturingPrint(runner, <String>['test']);
await runCapturingPrint(runner, <String>['dart-test']);

expect(
processRunner.recordedCalls,
Expand All @@ -249,7 +264,7 @@ void main() {
},
);

await runCapturingPrint(runner, <String>['test']);
await runCapturingPrint(runner, <String>['dart-test']);

expect(
processRunner.recordedCalls,
Expand All @@ -267,7 +282,7 @@ void main() {
extraFiles: <String>['test/empty_test.dart']);

await runCapturingPrint(
runner, <String>['test', '--enable-experiment=exp1']);
runner, <String>['dart-test', '--enable-experiment=exp1']);

expect(
processRunner.recordedCalls,
Expand Down