pw_presubmit: Log format --fix output

Prior to this change, the format --fix command would silently exit with
success regardless of the output of the actual fix subcommand output.
This is due to some subcommands writing output or returning non-zero
exit codes regardless of whether the command was successful.

Unfortunately, this approach meant that failed fix subprocess commands
were completely silent!

This change instead logs the output of the subcommand to aid in
debugging failed format commands.

Change-Id: I083f660566012df95ec300aa1a329190bf96891e
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192394
Reviewed-by: Anthony DiGirolamo <tonymd@google.com>
Presubmit-Verified: CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com>
Commit-Queue: Auto-Submit <auto-submit@pigweed-service-accounts.iam.gserviceaccount.com>
Pigweed-Auto-Submit: Taylor Cramer <cramertj@google.com>
1 file changed
tree: d75b76cb4fb9c6a37625a4326ac652b8f162d1ec
  1. .allstar/
  2. .vscode/
  3. build_overrides/
  4. docker/
  5. docs/
  6. kudzu/
  7. pw_alignment/
  8. pw_allocator/
  9. pw_analog/
  10. pw_android_toolchain/
  11. pw_arduino_build/
  12. pw_assert/
  13. pw_assert_basic/
  14. pw_assert_log/
  15. pw_assert_tokenized/
  16. pw_assert_zephyr/
  17. pw_async/
  18. pw_async2/
  19. pw_async2_basic/
  20. pw_async_basic/
  21. pw_base64/
  22. pw_bloat/
  23. pw_blob_store/
  24. pw_bluetooth/
  25. pw_bluetooth_hci/
  26. pw_bluetooth_profiles/
  27. pw_bluetooth_sapphire/
  28. pw_boot/
  29. pw_boot_cortex_m/
  30. pw_build/
  31. pw_build_info/
  32. pw_build_mcuxpresso/
  33. pw_bytes/
  34. pw_channel/
  35. pw_checksum/
  36. pw_chre/
  37. pw_chrono/
  38. pw_chrono_embos/
  39. pw_chrono_freertos/
  40. pw_chrono_rp2040/
  41. pw_chrono_stl/
  42. pw_chrono_threadx/
  43. pw_chrono_zephyr/
  44. pw_cli/
  45. pw_compilation_testing/
  46. pw_config_loader/
  47. pw_console/
  48. pw_containers/
  49. pw_cpu_exception/
  50. pw_cpu_exception_cortex_m/
  51. pw_crypto/
  52. pw_digital_io/
  53. pw_digital_io_mcuxpresso/
  54. pw_digital_io_rp2040/
  55. pw_docgen/
  56. pw_doctor/
  57. pw_emu/
  58. pw_env_setup/
  59. pw_file/
  60. pw_format/
  61. pw_function/
  62. pw_fuzzer/
  63. pw_grpc/
  64. pw_hdlc/
  65. pw_hex_dump/
  66. pw_i2c/
  67. pw_i2c_linux/
  68. pw_i2c_mcuxpresso/
  69. pw_ide/
  70. pw_interrupt/
  71. pw_interrupt_cortex_m/
  72. pw_interrupt_xtensa/
  73. pw_interrupt_zephyr/
  74. pw_intrusive_ptr/
  75. pw_kvs/
  76. pw_libc/
  77. pw_libcxx/
  78. pw_log/
  79. pw_log_android/
  80. pw_log_basic/
  81. pw_log_null/
  82. pw_log_rpc/
  83. pw_log_string/
  84. pw_log_tokenized/
  85. pw_log_zephyr/
  86. pw_malloc/
  87. pw_malloc_freelist/
  88. pw_malloc_freertos/
  89. pw_metric/
  90. pw_minimal_cpp_stdlib/
  91. pw_module/
  92. pw_multibuf/
  93. pw_multisink/
  94. pw_package/
  95. pw_perf_test/
  96. pw_persistent_ram/
  97. pw_polyfill/
  98. pw_preprocessor/
  99. pw_presubmit/
  100. pw_protobuf/
  101. pw_protobuf_compiler/
  102. pw_random/
  103. pw_result/
  104. pw_ring_buffer/
  105. pw_router/
  106. pw_rpc/
  107. pw_rpc_transport/
  108. pw_rust/
  109. pw_snapshot/
  110. pw_software_update/
  111. pw_span/
  112. pw_spi/
  113. pw_spi_mcuxpresso/
  114. pw_status/
  115. pw_stm32cube_build/
  116. pw_stream/
  117. pw_stream_shmem_mcuxpresso/
  118. pw_stream_uart_linux/
  119. pw_stream_uart_mcuxpresso/
  120. pw_string/
  121. pw_symbolizer/
  122. pw_sync/
  123. pw_sync_baremetal/
  124. pw_sync_embos/
  125. pw_sync_freertos/
  126. pw_sync_stl/
  127. pw_sync_threadx/
  128. pw_sync_zephyr/
  129. pw_sys_io/
  130. pw_sys_io_ambiq_sdk/
  131. pw_sys_io_arduino/
  132. pw_sys_io_baremetal_lm3s6965evb/
  133. pw_sys_io_baremetal_stm32f429/
  134. pw_sys_io_emcraft_sf2/
  135. pw_sys_io_mcuxpresso/
  136. pw_sys_io_rp2040/
  137. pw_sys_io_stdio/
  138. pw_sys_io_stm32cube/
  139. pw_sys_io_zephyr/
  140. pw_system/
  141. pw_target_runner/
  142. pw_thread/
  143. pw_thread_embos/
  144. pw_thread_freertos/
  145. pw_thread_stl/
  146. pw_thread_threadx/
  147. pw_thread_zephyr/
  148. pw_tls_client/
  149. pw_tls_client_boringssl/
  150. pw_tls_client_mbedtls/
  151. pw_tokenizer/
  152. pw_toolchain/
  153. pw_toolchain_bazel/
  154. pw_trace/
  155. pw_trace_tokenized/
  156. pw_transfer/
  157. pw_unit_test/
  158. pw_unit_test_zephyr/
  159. pw_varint/
  160. pw_watch/
  161. pw_web/
  162. pw_work_queue/
  163. seed/
  164. targets/
  165. third_party/
  166. ts/
  167. zephyr/
  168. .bazelignore
  169. .bazelrc
  170. .black.toml
  171. .clang-format
  172. .clang-tidy
  173. .eslintrc.cjs
  174. .git-blame-ignore-revs
  175. .gitattributes
  176. .gitignore
  177. .gn
  178. .mypy.ini
  179. .prettierignore
  180. .prettierrc.cjs
  181. .pw_ide.yaml
  182. .pylintrc
  183. activate.bat
  184. Android.bp
  185. AUTHORS
  186. bootstrap.bat
  187. bootstrap.sh
  188. BUILD.bazel
  189. BUILD.gn
  190. BUILDCONFIG.gn
  191. CMakeLists.txt
  192. jest.config.ts
  193. Kconfig.zephyr
  194. LICENSE
  195. modules.gni
  196. OWNERS
  197. package-lock.json
  198. package.json
  199. pigweed.json
  200. PIGWEED_MODULES
  201. README.md
  202. rollup.config.js
  203. tsconfig.json
  204. WORKSPACE
README.md

Pigweed

Pigweed is an open source collection of embedded-targeted libraries–or as we like to call them, modules. These modules are building blocks and infrastructure that enable faster and more reliable development on small-footprint MMU-less 32-bit microcontrollers like the STMicroelectronics STM32L452 or the Nordic nRF52832.

For more information please see our website: https://pigweed.dev/.

Links