summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2009-03-11 06:23:46 +0000
committerZac Medico <zmedico@gentoo.org>2009-03-11 06:23:46 +0000
commit290d16343024beec673664ffb04e20ac106dd43d (patch)
tree5fe3dd49440c9b21b3cad2477f5e93723799d6b4
parentcf414f026df3aa2baa5fe277b05136770309dd76 (diff)
downloadportage-290d16343024beec673664ffb04e20ac106dd43d.tar.gz
portage-290d16343024beec673664ffb04e20ac106dd43d.tar.bz2
portage-290d16343024beec673664ffb04e20ac106dd43d.zip
Fix PipeReader and PipeReaderTestCase to work with binary strings in py3k.
(trunk r12720) svn path=/main/branches/2.1.6/; revision=12975
-rw-r--r--pym/_emerge/__init__.py2
-rw-r--r--pym/portage/tests/process/test_poll.py5
2 files changed, 6 insertions, 1 deletions
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py
index a6332b4f6..43ed4196d 100644
--- a/pym/_emerge/__init__.py
+++ b/pym/_emerge/__init__.py
@@ -1960,6 +1960,8 @@ class PipeReader(AbstractPollTask):
def getvalue(self):
"""Retrieve the entire contents"""
+ if sys.hexversion >= 0x3000000:
+ return bytes().join(self._read_data)
return "".join(self._read_data)
def close(self):
diff --git a/pym/portage/tests/process/test_poll.py b/pym/portage/tests/process/test_poll.py
index 904930410..e399c479d 100644
--- a/pym/portage/tests/process/test_poll.py
+++ b/pym/portage/tests/process/test_poll.py
@@ -28,7 +28,7 @@ class PipeReaderTestCase(TestCase):
test_string = 2 * "blah blah blah\n"
master_fd, slave_fd = self._create_pipe()
- master_file = os.fdopen(master_fd, 'r')
+ master_file = os.fdopen(master_fd, 'rb')
task_scheduler = TaskScheduler(max_jobs=2)
scheduler = task_scheduler.sched_iface
@@ -52,4 +52,7 @@ class PipeReaderTestCase(TestCase):
task_scheduler.run()
+ if sys.hexversion >= 0x3000000:
+ test_string = test_string.encode()
+
self._assertEqual(test_string, consumer.getvalue())