diff Lib/test/test_subprocess.py @ 79630:9451908da615 3.3

Issue #16170: Remove Linux skip from test_subprocess's test_executable test.
author Chris Jerdonek <chris.jerdonek@gmail.com>
date Tue, 09 Oct 2012 13:17:49 -0700
parents ef90c5e482f4
children ee30d7ef70be
line wrap: on
line diff
--- a/Lib/test/test_subprocess.py	Tue Oct 09 11:16:26 2012 -0400
+++ b/Lib/test/test_subprocess.py	Tue Oct 09 13:17:49 2012 -0700
@@ -200,13 +200,16 @@
         p.wait()
         self.assertEqual(47, p.returncode)
 
-    # TODO: make this test work on Linux.
-    # This may be failing on Linux because of issue #7774.
-    @unittest.skipIf(sys.platform not in ('win32', 'darwin'),
-                     "possible bug using executable argument on Linux")
     def test_executable(self):
         # Check that the executable argument works.
-        self._assert_python(["doesnotexist", "-c"], executable=sys.executable)
+        #
+        # On Unix (non-Mac and non-Windows), Python looks at args[0] to
+        # determine where its standard library is, so we need the directory
+        # of args[0] to be valid for the Popen() call to Python to succeed.
+        # See also issue #16170 and issue #7774.
+        doesnotexist = os.path.join(os.path.dirname(sys.executable),
+                                    "doesnotexist")
+        self._assert_python([doesnotexist, "-c"], executable=sys.executable)
 
     def test_executable_takes_precedence(self):
         # Check that the executable argument takes precedence over args[0].