]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-149496: Fix MacOSTest.test_default regression when BROWSER env var is set (GH...
authorJeff Lyon <146767590+secengjeff@users.noreply.github.com>
Fri, 8 May 2026 20:33:05 +0000 (13:33 -0700)
committerGitHub <noreply@github.com>
Fri, 8 May 2026 20:33:05 +0000 (20:33 +0000)
gh-149496: Fix MacOSTest.test_default failing when BROWSER env var is set

MacOSTest.test_default calls webbrowser.get() and asserts it returns a
MacOS instance. When BROWSER is set in the environment (e.g. BROWSER=open,
a common macOS workaround for the old osascript-based implementation),
register_standard_browsers() registers a GenericBrowser as the preferred
browser instead, causing the assertion to fail.

This is a regression introduced in gh-137586, which added MacOSTest and
moved test_default into it from MacOSXOSAScriptTest. MacOSXOSAScriptTest
had an identical setUp() guard added in gh-131254 specifically to fix this
same failure. The guard was not carried over to MacOSTest.

Add setUp() to MacOSTest to unset BROWSER for the duration of each test,
restoring the isolation that was already established as the correct pattern
for macOS webbrowser tests.

Lib/test/test_webbrowser.py

index 51d627d24c5a8a33b0cbd4b58fcd8966dd0e1a29..82f14ca968f266b226ac2277e85c3aa2236057a0 100644 (file)
@@ -340,6 +340,10 @@ class MockPopenPipe:
 @requires_subprocess()
 class MacOSTest(unittest.TestCase):
 
+    def setUp(self):
+        env = self.enterContext(os_helper.EnvironmentVarGuard())
+        env.unset("BROWSER")
+
     def test_default(self):
         browser = webbrowser.get()
         self.assertIsInstance(browser, webbrowser.MacOS)