]> granicus.if.org Git - python/commitdiff
Issue #18571: Merge duplicate test code
authorVictor Stinner <victor.stinner@gmail.com>
Sun, 1 Sep 2013 08:22:41 +0000 (10:22 +0200)
committerVictor Stinner <victor.stinner@gmail.com>
Sun, 1 Sep 2013 08:22:41 +0000 (10:22 +0200)
Merge test/subprocessdata/inherited.py into test/subprocessdata/fd_status.py

Lib/test/subprocessdata/fd_status.py
Lib/test/subprocessdata/inherited.py [deleted file]
Lib/test/test_subprocess.py

index 877512a36e6256f0c0b10164f880075221ad9837..d12bd95abee61ceeb8f944736fc9c4e87ddfbd09 100644 (file)
@@ -1,18 +1,27 @@
 """When called as a script, print a comma-separated list of the open
-file descriptors on stdout."""
+file descriptors on stdout.
+
+Usage:
+fd_stats.py: check all file descriptors
+fd_status.py fd1 fd2 ...: check only specified file descriptors
+"""
 
 import errno
 import os
 import stat
-
-try:
-    _MAXFD = os.sysconf("SC_OPEN_MAX")
-except:
-    _MAXFD = 256
+import sys
 
 if __name__ == "__main__":
     fds = []
-    for fd in range(0, _MAXFD):
+    if len(sys.argv) == 1:
+        try:
+            _MAXFD = os.sysconf("SC_OPEN_MAX")
+        except:
+            _MAXFD = 256
+        test_fds = range(0, _MAXFD)
+    else:
+        test_fds = map(int, sys.argv[1:])
+    for fd in test_fds:
         try:
             st = os.fstat(fd)
         except OSError as e:
diff --git a/Lib/test/subprocessdata/inherited.py b/Lib/test/subprocessdata/inherited.py
deleted file mode 100644 (file)
index 1aac041..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-"""Similar to fd_status.py, but only checks file descriptors passed on the
-command line."""
-
-import errno
-import os
-import sys
-import stat
-
-if __name__ == "__main__":
-    fds = map(int, sys.argv[1:])
-    inherited = []
-    for fd in fds:
-        try:
-            st = os.fstat(fd)
-        except OSError as e:
-            if e.errno == errno.EBADF:
-                continue
-            raise
-        # Ignore Solaris door files
-        if not stat.S_ISDOOR(st.st_mode):
-            inherited.append(fd)
-    print(','.join(map(str, inherited)))
index 94d72dc8f476af05a721b88750aa9fa1f0876008..c00fc5c5d877f446ba4afc94c82170343bf6700f 100644 (file)
@@ -1926,7 +1926,7 @@ class POSIXProcessTestCase(BaseTestCase):
             self.assertIn('overriding close_fds', str(context.warning))
 
     def test_pass_fds_inheritable(self):
-        script = support.findfile("inherited.py", subdir="subprocessdata")
+        script = support.findfile("fd_status.py", subdir="subprocessdata")
 
         inheritable, non_inheritable = os.pipe()
         self.addCleanup(os.close, inheritable)
@@ -1945,7 +1945,7 @@ class POSIXProcessTestCase(BaseTestCase):
 
         # the inheritable file descriptor must be inherited, so its inheritable
         # flag must be set in the child process after fork() and before exec()
-        self.assertEqual(fds, set(pass_fds))
+        self.assertEqual(fds, set(pass_fds), "output=%a" % output)
 
         # inheritable flag must not be changed in the parent process
         self.assertEqual(os.get_inheritable(inheritable), True)