[PATCH] [LIT] Decode string result in lit.util.capture
Daniel Dunbar
daniel at zuster.org
Sat Jan 3 16:07:06 PST 2015
LGTM
On Tue, Dec 23, 2014 at 12:50 AM, Eric Fiselier <eric at efcs.ca> wrote:
> Hi ddunbar,
>
> I think this is probably a bug, but I'm putting this up for review just to
> be sure. I think that `lit.util.capture` should decode the resulting string
> in the same way `lit.util.executeCommand` does.
>
> REPOSITORY
> rL LLVM
>
> http://reviews.llvm.org/D6769
>
> Files:
> utils/lit/lit/util.py
>
> Index: utils/lit/lit/util.py
> ===================================================================
> --- utils/lit/lit/util.py
> +++ utils/lit/lit/util.py
> @@ -16,6 +16,12 @@
> return bytes
> return to_bytes(bytes)
>
> +def convert_string(bytes):
> + try:
> + return to_string(bytes.decode('utf-8'))
> + except UnicodeError:
> + return str(bytes)
> +
> def detectCPUs():
> """
> Detects the number of CPUs on a system. Cribbed from pp.
> @@ -60,7 +66,7 @@
> p = subprocess.Popen(args, stdout=subprocess.PIPE,
> stderr=subprocess.PIPE,
> env=env)
> out,_ = p.communicate()
> - return out
> + return convert_string(out)
>
> def which(command, paths = None):
> """which(command, [paths]) - Look up the given command in the paths
> string
> @@ -166,14 +172,8 @@
> raise KeyboardInterrupt
>
> # Ensure the resulting output is always of string type.
> - try:
> - out = to_string(out.decode('utf-8'))
> - except:
> - out = str(out)
> - try:
> - err = to_string(err.decode('utf-8'))
> - except:
> - err = str(err)
> + out = convert_string(out)
> + err = convert_string(err)
>
> return out, err, exitCode
>
> EMAIL PREFERENCES
> http://reviews.llvm.org/settings/panel/emailpreferences/
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150103/75d56770/attachment.html>
More information about the llvm-commits
mailing list