summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pym/portage/tests/process/test_poll.py12
1 files changed, 7 insertions, 5 deletions
diff --git a/pym/portage/tests/process/test_poll.py b/pym/portage/tests/process/test_poll.py
index ebcc822ef..904930410 100644
--- a/pym/portage/tests/process/test_poll.py
+++ b/pym/portage/tests/process/test_poll.py
@@ -33,7 +33,13 @@ class PipeReaderTestCase(TestCase):
task_scheduler = TaskScheduler(max_jobs=2)
scheduler = task_scheduler.sched_iface
- producer = SpawnProcess(
+ class Producer(SpawnProcess):
+ def _spawn(self, args, **kwargs):
+ rval = SpawnProcess._spawn(self, args, **kwargs)
+ os.close(kwargs['fd_pipes'][1])
+ return rval
+
+ producer = Producer(
args=["bash", "-c", "echo -n '%s'" % test_string],
fd_pipes={1:slave_fd}, scheduler=scheduler)
@@ -44,10 +50,6 @@ class PipeReaderTestCase(TestCase):
task_scheduler.add(producer)
task_scheduler.add(consumer)
- def producer_start_cb(task):
- os.close(slave_fd)
-
- producer.addStartListener(producer_start_cb)
task_scheduler.run()
self._assertEqual(test_string, consumer.getvalue())