From c1ceda41efd715a22ec90d6e5bfdd025b842c35d Mon Sep 17 00:00:00 2001 From: Jenn Magder Date: Thu, 10 Nov 2022 14:09:20 -0800 Subject: [PATCH] Include stdout in codesign failure output (#115115) --- .../lib/src/build_system/targets/ios.dart | 12 ++++++++++- .../build_system/targets/ios_test.dart | 20 +++++++++++-------- 2 files changed, 23 insertions(+), 9 deletions(-) diff --git a/packages/flutter_tools/lib/src/build_system/targets/ios.dart b/packages/flutter_tools/lib/src/build_system/targets/ios.dart index a58399fa02d..278cdf06a71 100644 --- a/packages/flutter_tools/lib/src/build_system/targets/ios.dart +++ b/packages/flutter_tools/lib/src/build_system/targets/ios.dart @@ -711,6 +711,16 @@ void _signFramework(Environment environment, String binaryPath, BuildMode buildM binaryPath, ]); if (result.exitCode != 0) { - throw Exception('Failed to codesign $binaryPath with identity $codesignIdentity.\n${result.stderr}'); + final String stdout = (result.stdout as String).trim(); + final String stderr = (result.stderr as String).trim(); + final StringBuffer output = StringBuffer(); + output.writeln('Failed to codesign $binaryPath with identity $codesignIdentity.'); + if (stdout.isNotEmpty) { + output.writeln(stdout); + } + if (stderr.isNotEmpty) { + output.writeln(stderr); + } + throw Exception(output.toString()); } } diff --git a/packages/flutter_tools/test/general.shard/build_system/targets/ios_test.dart b/packages/flutter_tools/test/general.shard/build_system/targets/ios_test.dart index 15d3265c611..2c02c8e5a19 100644 --- a/packages/flutter_tools/test/general.shard/build_system/targets/ios_test.dart +++ b/packages/flutter_tools/test/general.shard/build_system/targets/ios_test.dart @@ -836,13 +836,17 @@ void main() { lipoCommandNonFatResult, lipoVerifyArm64Command, FakeCommand(command: [ - 'codesign', - '--force', - '--sign', - 'ABC123', - '--timestamp=none', - binary.path, - ], exitCode: 1, stderr: 'codesign error'), + 'codesign', + '--force', + '--sign', + 'ABC123', + '--timestamp=none', + binary.path, + ], + exitCode: 1, + stderr: 'codesign error', + stdout: 'codesign info', + ), ]); await expectLater( @@ -850,7 +854,7 @@ void main() { throwsA(isException.having( (Exception exception) => exception.toString(), 'description', - contains('Failed to codesign output/Flutter.framework/Flutter with identity ABC123.\ncodesign error'), + contains('Failed to codesign output/Flutter.framework/Flutter with identity ABC123.\ncodesign info\ncodesign error'), )), );