diff options
-rw-r--r-- | pym/_emerge/__init__.py | 2 | ||||
-rw-r--r-- | pym/portage/tests/process/test_poll.py | 5 |
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()) |