[release] Do not assume that pub is the first command run by "flutter create" (#114621) (#114945)
The "flutter create" command on macOS may run other commands such as
openssl when it calls _getCodeSigningIdentityDevelopmentTeam
Co-authored-by: Jason Simmons <jason-simmons@users.noreply.github.com>
diff --git a/packages/flutter_tools/test/commands.shard/permeable/create_test.dart b/packages/flutter_tools/test/commands.shard/permeable/create_test.dart
index e74ebf1..2a52fe0 100644
--- a/packages/flutter_tools/test/commands.shard/permeable/create_test.dart
+++ b/packages/flutter_tools/test/commands.shard/permeable/create_test.dart
@@ -1898,14 +1898,17 @@
// Run pub online first in order to populate the pub cache.
await runner.run(<String>['create', '--pub', projectDir.path]);
- expect(loggingProcessManager.commands.first, contains(matches(r'dart-sdk[\\/]bin[\\/]dart')));
- expect(loggingProcessManager.commands.first, isNot(contains('--offline')));
+ final RegExp dartCommand = RegExp(r'dart-sdk[\\/]bin[\\/]dart');
+ expect(loggingProcessManager.commands, contains(predicate(
+ (List<String> c) => dartCommand.hasMatch(c[0]) && c[1].contains('pub') && !c.contains('--offline')
+ )));
// Run pub offline.
loggingProcessManager.clear();
await runner.run(<String>['create', '--pub', '--offline', projectDir.path]);
- expect(loggingProcessManager.commands.first, contains(matches(r'dart-sdk[\\/]bin[\\/]dart')));
- expect(loggingProcessManager.commands.first, contains('--offline'));
+ expect(loggingProcessManager.commands, contains(predicate(
+ (List<String> c) => dartCommand.hasMatch(c[0]) && c[1].contains('pub') && c.contains('--offline')
+ )));
},
overrides: <Type, Generator>{
ProcessManager: () => loggingProcessManager,