From fd4ca3345cdb083fb36e27bab08265e4116f1f89 Mon Sep 17 00:00:00 2001 From: Tomas Kopecek Date: Feb 20 2019 10:00:56 +0000 Subject: [PATCH 1/2] decode Popen.communicate result under py3 Fixes: https://pagure.io/koji/issue/1270 --- diff --git a/koji/daemon.py b/koji/daemon.py index 0ac5f4b..5cb255e 100644 --- a/koji/daemon.py +++ b/koji/daemon.py @@ -534,6 +534,8 @@ class SCM(object): if status != 0: raise koji.GenericError('Error getting commit hash for git') fragment = out.strip() + if six.PY3: + fragment = fragment.decode() scheme = self.scheme[:-3] netloc = self.host path = self.repository From 9c9ef936e5ef75cee8bb4dd27e98990e45c8e9de Mon Sep 17 00:00:00 2001 From: Tomas Kopecek Date: Feb 20 2019 15:03:23 +0000 Subject: [PATCH 2/2] fix unittest for py3 --- diff --git a/tests/test_scm.py b/tests/test_scm.py index f55d545..5f1c668 100644 --- a/tests/test_scm.py +++ b/tests/test_scm.py @@ -2,6 +2,7 @@ from __future__ import absolute_import import logging import mock import shutil +import six import tempfile try: import unittest2 as unittest @@ -385,7 +386,7 @@ class TestSCMCheckouts(unittest.TestCase): def test_get_source_git(self, popen): popen.return_value.wait.return_value = 0 popen.return_value.communicate = mock.MagicMock() - popen.return_value.communicate.return_value = ('hash ', 'any') + popen.return_value.communicate.return_value = (six.b('hash '), six.b('any')) url = "git://default/koji.git#asdasd" scm = SCM(url)