From a440c4689fd600a450f0fca0b42c4b76fcfff4ff Mon Sep 17 00:00:00 2001 From: Jason Simmons Date: Thu, 3 Nov 2022 10:46:18 -0700 Subject: [PATCH] Do not assume that pub is the first command run by "flutter create" (#114621) The "flutter create" command on macOS may run other commands such as openssl when it calls _getCodeSigningIdentityDevelopmentTeam --- .../test/commands.shard/permeable/create_test.dart | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) 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 aad68d35726..e12508ee7b3 100644 --- a/packages/flutter_tools/test/commands.shard/permeable/create_test.dart +++ b/packages/flutter_tools/test/commands.shard/permeable/create_test.dart @@ -1921,14 +1921,17 @@ void main() { // Run pub online first in order to populate the pub cache. await runner.run(['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 c) => dartCommand.hasMatch(c[0]) && c[1].contains('pub') && !c.contains('--offline') + ))); // Run pub offline. loggingProcessManager.clear(); await runner.run(['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 c) => dartCommand.hasMatch(c[0]) && c[1].contains('pub') && c.contains('--offline') + ))); }, overrides: { ProcessManager: () => loggingProcessManager,