Commit Graph

4 Commits

Author SHA1 Message Date
Karoy Lorentey
bcddc9b7b9 [utils] Force subprocess output to be read in text mode
In Python 3, subprocess output is read as binary data by default, which isn’t what we want.

Instead of reading process output as byte strings, then manually decoding them into strings, simply pass `text=True` to functions in the `subprocess` module, so that we get properly decoded strings right out the box.

This fixes places that forget to do the decoding step — most especially, the `update-checkout` script. That script prints Git output as byte strings, which leads to unreadable results.

Additionally, in shell.run, use the same pipe for capturing both stdout and stderr. The distinction is pretty pointless in this use case; however, keeping the two channels separate means that we lose the original ordering of printed messages, which does matter.
2022-03-07 16:59:36 -08:00
John McCall
a7f4534a77 Harden swift-rpathize against possible first-column output from dyldinfo 2020-10-22 23:42:31 -04:00
tbkka
c5176c0315 Update swift-rpathize.py to work with Python 3.8 and Python 2.7 (#34332)
* Update swift-rpathize.py to work with Python 3.8 and Python 2.7

In Python 2, str() is also a kind of bytes blob
In Python 3, str() is a Unicode string that's unrelated

* Avoid `l` as a variable name

Python-lint correctly warns about single-character variables that can be confused with numbers
2020-10-20 09:14:17 -07:00
John McCall
1cc3a57e91 Test the just-built dylibs when building unittests on Darwin 2020-10-15 00:36:36 -04:00