]> granicus.if.org Git - python/commitdiff
Try to fix transient refleaks in test_pydoc.
authorAntoine Pitrou <solipsis@pitrou.net>
Fri, 30 Oct 2009 21:41:22 +0000 (21:41 +0000)
committerAntoine Pitrou <solipsis@pitrou.net>
Fri, 30 Oct 2009 21:41:22 +0000 (21:41 +0000)
Lib/test/test_pydoc.py

index 0faf4a161ac7b19fa6869847014193ecf564d1df..3eeb738764bc6c54c38d46a58b0a0629aa033ee0 100644 (file)
@@ -9,7 +9,8 @@ import inspect
 import unittest
 import test.test_support
 from contextlib import contextmanager
-from test.test_support import TESTFN, forget, rmtree, EnvironmentVarGuard
+from test.test_support import (
+    TESTFN, forget, rmtree, EnvironmentVarGuard, reap_children)
 
 from test import pydoc_mod
 
@@ -178,8 +179,11 @@ def run_pydoc(module_name, *args):
     output of pydoc.
     """
     cmd = [sys.executable, pydoc.__file__, " ".join(args), module_name]
-    output = subprocess.Popen(cmd, stdout=subprocess.PIPE).stdout.read()
-    return output.strip()
+    try:
+        output = subprocess.Popen(cmd, stdout=subprocess.PIPE).communicate()[0]
+        return output.strip()
+    finally:
+        reap_children()
 
 def get_pydoc_html(module):
     "Returns pydoc generated output as html"