summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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 0dd1070b2..83186a91e 100644
--- a/pym/_emerge/__init__.py
+++ b/pym/_emerge/__init__.py
@@ -1979,6 +1979,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())