From 290d16343024beec673664ffb04e20ac106dd43d Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Wed, 11 Mar 2009 06:23:46 +0000 Subject: [PATCH] Fix PipeReader and PipeReaderTestCase to work with binary strings in py3k. (trunk r12720) svn path=/main/branches/2.1.6/; revision=12975 --- pym/_emerge/__init__.py | 2 ++ pym/portage/tests/process/test_poll.py | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) 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()) -- 2.26.2