From 57aaae1ce3f340badc57404b10179836539720e6 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Fri, 27 Feb 2009 02:43:45 +0000 Subject: Fix PipeReader and PipeReaderTestCase to work with binary strings in py3k. svn path=/main/trunk/; revision=12720 --- pym/_emerge/__init__.py | 2 ++ pym/portage/tests/process/test_poll.py | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'pym') 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()) -- cgit v1.2.3-1-g7c22