From: Martin v. Löwis <martin@v.loewis.de>
Date: Thu, 23 Mar 2006 18:18:35 +0000 (+0000)
Subject: Preserve command name, for later printing of active
X-Git-Tag: v2.5a0~122
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=bd8dbab247e980920cab7710d4707ccbf60a30b1;p=python

Preserve command name, for later printing of active
commands. If there are active commands when the tests
start, fail, printing these commands.
---

diff --git a/Lib/popen2.py b/Lib/popen2.py
index 54543bed0f..a4eda3923d 100644
--- a/Lib/popen2.py
+++ b/Lib/popen2.py
@@ -39,6 +39,7 @@ class Popen3:
         specified, it specifies the size of the I/O buffers to/from the child
         process."""
         _cleanup()
+        self.cmd = cmd
         p2cread, p2cwrite = os.pipe()
         c2pread, c2pwrite = os.pipe()
         if capturestderr:
@@ -186,6 +187,9 @@ else:
     __all__.extend(["Popen3", "Popen4"])
 
 def _test():
+    # When the test runs, there shouldn't be any open pipes
+    _cleanup()
+    assert not _active, "Active pipes when test starts " + repr([c.cmd for c in _active])
     cmd  = "cat"
     teststr = "ab cd\n"
     if os.name == "nt":
diff --git a/Misc/NEWS b/Misc/NEWS
index 402d075e3e..ba078b2686 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -483,6 +483,8 @@ Extension Modules
 Library
 -------
 
+- popen2.Popen objects now preserve the command in a .cmd attribute.
+
 - Added the ctypes ffi package.
 
 - email 4.0 package now integrated.  This is largely the same as the email 3.0