summaryrefslogtreecommitdiff
path: root/testsuite/driver/testutil.py
diff options
context:
space:
mode:
authorKrzysztof Gogolewski <krz.gogolewski@gmail.com>2018-08-06 21:38:52 +0200
committerKrzysztof Gogolewski <krz.gogolewski@gmail.com>2018-08-06 21:38:52 +0200
commit36a4c19494e2cb7e968f1d0e0c09926a660e1a56 (patch)
treedf0f11449f983fb00c65b816046fb3092d19ef32 /testsuite/driver/testutil.py
parent29dfb63624442a27119c1a218fc3dae71afb16de (diff)
downloadhaskell-36a4c19494e2cb7e968f1d0e0c09926a660e1a56.tar.gz
Testsuite driver: fix encoding issue when calling ghc-pkg
Summary: In Python 3, subprocess.communicate() returns a pair of bytes, which need to be decoded. In runtests.py, we were just calling str() instead, which converts b'x' to "b'x'". As a result, the loop that was checking pkginfo for lines starting with 'library-dirs' couldn't work. Reviewers: bgamari, thomie, Phyx Reviewed By: thomie Subscribers: Phyx, rwbarton, carter Differential Revision: https://phabricator.haskell.org/D5046
Diffstat (limited to 'testsuite/driver/testutil.py')
-rw-r--r--testsuite/driver/testutil.py5
1 files changed, 2 insertions, 3 deletions
diff --git a/testsuite/driver/testutil.py b/testsuite/driver/testutil.py
index 104bbffab4..15587e6960 100644
--- a/testsuite/driver/testutil.py
+++ b/testsuite/driver/testutil.py
@@ -10,8 +10,7 @@ def strip_quotes(s):
return s.strip('\'"')
def getStdout(cmd_and_args):
- # Can't use subprocess.check_output as it's not available in Python 2.6;
- # It's also not quite the same as check_output, since we also verify that
+ # Can't use subprocess.check_output, since we also verify that
# no stderr was produced
p = subprocess.Popen([strip_quotes(cmd_and_args[0])] + cmd_and_args[1:],
stdout=subprocess.PIPE,
@@ -22,7 +21,7 @@ def getStdout(cmd_and_args):
raise Exception("Command failed: " + str(cmd_and_args))
if stderr:
raise Exception("stderr from command: %s\nOutput:\n%s\n" % (cmd_and_args, stderr))
- return stdout
+ return stdout.decode('utf-8')
def lndir(srcdir, dstdir):
# Create symlinks for all files in src directory.