Skip to content

Commit b20ac90

Browse files
committed
tfm-post-build: Don't capture subprocess stdout
subprocess.PIPE is used to enable the parent process to communicate with the subprocess via pipes, which mean all stdout and stderr messages are captured and returned as part of Popen.communicate's result tuple. In our case, we want to display the error messages on the console, so we don't need to capture the output from stdout. Example of a typical error message before this change: ``` Traceback (most recent call last): File "platform/FEATURE_EXPERIMENTAL_API/FEATURE_PSA/TARGET_TFM/TARGET_TFM_LATEST/scripts/generate_mbed_image.py", line 197, in <module> sign_and_merge_tfm_bin(args.tfm_target, args.target_path, args.non_secure_bin, args.secure_bin) File "platform/FEATURE_EXPERIMENTAL_API/FEATURE_PSA/TARGET_TFM/TARGET_TFM_LATEST/scripts/generate_mbed_image.py", line 81, in sign_and_merge_tfm_bin " secure binary, Error code: " + str(retcode)) Exception: Unable to sign musca_b1 secure binary, Error code: 1 ``` Example of the error message after this change: ``` Traceback (most recent call last): File "/mbed-os/tools/psa/tfm/bin_utils/wrapper.py", line 13, in <module> import click ModuleNotFoundError: No module named 'click' Traceback (most recent call last): File "platform/FEATURE_EXPERIMENTAL_API/FEATURE_PSA/TARGET_TFM/TARGET_TFM_LATEST/scripts/generate_mbed_image.py", line 194, in <module> sign_and_merge_tfm_bin(args.tfm_target, args.target_path, args.non_secure_bin, args.secure_bin) File "platform/FEATURE_EXPERIMENTAL_API/FEATURE_PSA/TARGET_TFM/TARGET_TFM_LATEST/scripts/generate_mbed_image.py", line 80, in sign_and_merge_tfm_bin raise Exception("Unable to sign " + target_name + Exception: Unable to sign musca_b1 secure binary, Error code: 1 ``` This is a significant improvement as now you can see what the reason for the failure was.
1 parent 3cf5f8e commit b20ac90

File tree

2 files changed

+0
-6
lines changed

2 files changed

+0
-6
lines changed

platform/FEATURE_EXPERIMENTAL_API/FEATURE_PSA/TARGET_TFM/TARGET_TFM_LATEST/scripts/generate_mbed_image.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -152,14 +152,11 @@ def find_bl2_size(configFile):
152152
return bl2_size
153153

154154
def run_cmd(cmd, directory):
155-
156155
popen_instance = subprocess.Popen(
157156
cmd,
158-
stdout=subprocess.PIPE,
159157
stderr=subprocess.STDOUT,
160158
cwd=directory,
161159
)
162-
163160
popen_instance.communicate()
164161
return popen_instance.returncode
165162

tools/targets/ARM_MUSCA.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -159,14 +159,11 @@ def find_bl2_size(configFile):
159159
return bl2_size
160160

161161
def run_cmd(cmd, directory):
162-
163162
POPEN_INSTANCE = subprocess.Popen(
164163
cmd,
165-
stdout=subprocess.PIPE,
166164
stderr=subprocess.STDOUT,
167165
cwd=directory,
168166
)
169-
170167
POPEN_INSTANCE.communicate()
171168
return POPEN_INSTANCE.returncode
172169

0 commit comments

Comments
 (0)