diff -ruN py3k/Lib/test/subprocessdata/fd_status.py py3k-subprocess2-unittest2/Lib/test/subprocessdata/fd_status.py --- py3k/Lib/test/subprocessdata/fd_status.py 1970-01-01 02:00:00.000000000 +0200 +++ py3k-subprocess2-unittest2/Lib/test/subprocessdata/fd_status.py 2010-12-11 23:24:57.000000000 +0200 @@ -0,0 +1,25 @@ +"""When called as a script, print a comma-separated list of the open +file descriptors on stdout.""" + +import errno +import os +import fcntl + +try: + _MAXFD = os.sysconf("SC_OPEN_MAX") +except: + _MAXFD = 256 + +def isopen(fd): + """Return True if the fd is open, and False otherwise""" + try: + fcntl.fcntl(fd, fcntl.F_GETFD, 0) + except IOError as e: + if e.errno == errno.EBADF: + return False + raise + return True + +if __name__ == "__main__": + print(','.join(str(fd) for fd in range(0, _MAXFD) if isopen(fd))) + diff -ruN py3k/Lib/test/subprocessdata/input_reader.py py3k-subprocess2-unittest2/Lib/test/subprocessdata/input_reader.py --- py3k/Lib/test/subprocessdata/input_reader.py 1970-01-01 02:00:00.000000000 +0200 +++ py3k-subprocess2-unittest2/Lib/test/subprocessdata/input_reader.py 2010-12-11 23:24:08.000000000 +0200 @@ -0,0 +1,7 @@ +"""When called as a script, consumes the input""" + +import sys + +if __name__ = "__main__": + for line in sys.stdin: + pass diff -ruN py3k/Tools/msi/msi.py py3k-subprocess2-unittest2/Tools/msi/msi.py --- py3k/Tools/msi/msi.py 2010-12-10 20:09:46.000000000 +0200 +++ py3k-subprocess2-unittest2/Tools/msi/msi.py 2010-12-11 14:09:21.000000000 +0200 @@ -1035,6 +1035,8 @@ if dir=='xmltestdata': lib.glob("*.xml") lib.add_file("test.xml.out") + if dir=='subprocessdata': + lib.glob("*.py") if dir=='output': lib.glob("test_*") if dir=='sndhdrdata': --- py3k/Makefile.pre.in 2010-12-10 20:09:57.000000000 +0200 +++ py3k-subprocess2-unittest2/Makefile.pre.in 2010-12-11 14:08:25.000000000 +0200 @@ -888,7 +888,7 @@ XMLLIBSUBDIRS= xml xml/dom xml/etree xml/parsers xml/sax LIBSUBDIRS= tkinter tkinter/test tkinter/test/test_tkinter \ tkinter/test/test_ttk site-packages test \ - test/decimaltestdata test/xmltestdata \ + test/decimaltestdata test/xmltestdata test/subprocessdata \ test/tracedmodules test/encoded_modules \ concurrent concurrent/futures encodings \ email email/mime email/test email/test/data \