diff options
author | Dave Reisner <dreisner@archlinux.org> | 2018-08-19 21:12:33 -0400 |
---|---|---|
committer | Andrew Gregory <andrew.gregory.8@gmail.com> | 2018-10-18 18:05:19 -0700 |
commit | afb9c0140fd6949ede64cc1a304e9349772fca04 (patch) | |
tree | 6995c7eb8f090f5af64ae6219f872b42db2eb9d3 | |
parent | ffde85aadfe0e08fb710102d0a547335e9d1a200 (diff) | |
download | pacman-afb9c0140fd6949ede64cc1a304e9349772fca04.tar.xz |
Port pactest to python3
Use BytesIO instead of StringIO, and ensure that we unicode-encode data
where needed.
-rw-r--r-- | configure.ac | 2 | ||||
-rwxr-xr-x | test/pacman/pactest.py | 5 | ||||
-rw-r--r-- | test/pacman/pmdb.py | 4 | ||||
-rw-r--r-- | test/pacman/pmpkg.py | 6 | ||||
-rw-r--r-- | test/pacman/util.py | 2 |
5 files changed, 10 insertions, 9 deletions
diff --git a/configure.ac b/configure.ac index a569ffeb..c369ca74 100644 --- a/configure.ac +++ b/configure.ac @@ -179,7 +179,7 @@ AC_SUBST(LFS_CFLAGS) AC_PROG_AWK AC_PROG_CC_C99 AC_PROG_INSTALL -AC_CHECK_PROGS([PYTHON], [python2.7 python2 python], [false]) +AC_CHECK_PROGS([PYTHON], [python3 python], [false]) AC_PATH_PROGS([BASH_SHELL], [bash bash4], [false]) # check for perl 5.10.1 (needed by makepkg-template) diff --git a/test/pacman/pactest.py b/test/pacman/pactest.py index 1f5b8483..85cce6a1 100755 --- a/test/pacman/pactest.py +++ b/test/pacman/pactest.py @@ -1,4 +1,4 @@ -#! /usr/bin/python2 +#! /usr/bin/python3 # # pactest : run automated testing on the pacman binary # @@ -45,7 +45,8 @@ class MultiWriter(): # duplicate stdout/stderr to a temporary file class OutputSaver(): def __init__(self): - self.save_file = tempfile.NamedTemporaryFile(prefix='pactest-output-') + self.save_file = tempfile.NamedTemporaryFile( + prefix='pactest-output-', mode='w') def __enter__(self): sys.stdout = MultiWriter(sys.stdout, self.save_file) diff --git a/test/pacman/pmdb.py b/test/pacman/pmdb.py index f7671987..95aa8756 100644 --- a/test/pacman/pmdb.py +++ b/test/pacman/pmdb.py @@ -15,9 +15,9 @@ # along with this program. If not, see <http://www.gnu.org/licenses/>. +from io import BytesIO import os import shutil -from StringIO import StringIO import tarfile import pmpkg @@ -251,7 +251,7 @@ class pmdb(object): filename = os.path.join(pkg.fullname(), name) info = tarfile.TarInfo(filename) info.size = len(data) - tar.addfile(info, StringIO(data)) + tar.addfile(info, BytesIO(data.encode('utf8'))) tar.close() # TODO: this is a bit unnecessary considering only one test uses it serverpath = os.path.join(self.root, util.SYNCREPO, self.treename) diff --git a/test/pacman/pmpkg.py b/test/pacman/pmpkg.py index 5a32ccd6..4667ebc1 100644 --- a/test/pacman/pmpkg.py +++ b/test/pacman/pmpkg.py @@ -14,8 +14,8 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. +from io import BytesIO import os -from StringIO import StringIO import tarfile import util @@ -146,7 +146,7 @@ class pmpkg(object): for name, data in archive_files: info = tarfile.TarInfo(name) info.size = len(data) - tar.addfile(info, StringIO(data)) + tar.addfile(info, BytesIO(data.encode('utf8'))) # Generate package file system for name in self.files: @@ -167,7 +167,7 @@ class pmpkg(object): # TODO wow what a hack, adding a newline to match mkfile? filedata = name + "\n" info.size = len(filedata) - tar.addfile(info, StringIO(filedata)) + tar.addfile(info, BytesIO(filedata.encode('utf8'))) tar.close() diff --git a/test/pacman/util.py b/test/pacman/util.py index 5fbe4c35..544bdd8d 100644 --- a/test/pacman/util.py +++ b/test/pacman/util.py @@ -152,7 +152,7 @@ def getmd5sum(filename): def mkmd5sum(data): checksum = hashlib.md5() - checksum.update("%s\n" % data) + checksum.update(("%s\n" % data).encode('utf8')) return checksum.hexdigest() |