From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Tue, 22 Oct 2024 11:11:04 +0000 (+0200) Subject: [3.10] gh-100005: Skip test_script_as_dev_fd() on FreeBSD (GH-100006) (#125109) X-Git-Tag: v3.10.16~10 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b11623759252c348755072df405271d85c1ec147;p=thirdparty%2FPython%2Fcpython.git [3.10] gh-100005: Skip test_script_as_dev_fd() on FreeBSD (GH-100006) (#125109) gh-100005: Skip test_script_as_dev_fd() on FreeBSD (GH-100006) On FreeBSD, skip test_script_as_dev_fd() of test_cmd_line_script if fdescfs is not mounted (at /dev/fd). (cherry picked from commit 038b151963d9d4a5f4c852544fb5b0402ffcb218) Co-authored-by: Victor Stinner Co-authored-by: Petr Viktorin --- diff --git a/Lib/test/test_cmd_line_script.py b/Lib/test/test_cmd_line_script.py index ccacfd606d18..86bcafcf0e3c 100644 --- a/Lib/test/test_cmd_line_script.py +++ b/Lib/test/test_cmd_line_script.py @@ -739,6 +739,9 @@ class CmdLineTest(unittest.TestCase): self.assertNotEqual(proc.returncode, 0) @unittest.skipUnless(os.path.exists('/dev/fd/0'), 'requires /dev/fd platform') + @unittest.skipIf(sys.platform.startswith("freebsd") and + os.stat("/dev").st_dev == os.stat("/dev/fd").st_dev, + "Requires fdescfs mounted on /dev/fd on FreeBSD") def test_script_as_dev_fd(self): # GH-87235: On macOS passing a non-trivial script to /dev/fd/N can cause # problems because all open /dev/fd/N file descriptors share the same diff --git a/Lib/test/test_subprocess.py b/Lib/test/test_subprocess.py index 139ef41e5737..0d3afe612a3a 100644 --- a/Lib/test/test_subprocess.py +++ b/Lib/test/test_subprocess.py @@ -2795,7 +2795,7 @@ class POSIXProcessTestCase(BaseTestCase): @unittest.skipIf(sys.platform.startswith("freebsd") and os.stat("/dev").st_dev == os.stat("/dev/fd").st_dev, - "Requires fdescfs mounted on /dev/fd on FreeBSD.") + "Requires fdescfs mounted on /dev/fd on FreeBSD") def test_close_fds_when_max_fd_is_lowered(self): """Confirm that issue21618 is fixed (may fail under valgrind).""" fd_status = support.findfile("fd_status.py", subdir="subprocessdata")