gh-149496: Fix MacOSTest.test_default regression when BROWSER env var is set#149579
Merged
gpshead merged 1 commit intopython:mainfrom May 8, 2026
Merged
Conversation
…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 pythongh-137586, which added MacOSTest and moved test_default into it from MacOSXOSAScriptTest. MacOSXOSAScriptTest had an identical setUp() guard added in pythongh-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.
gpshead
approved these changes
May 8, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
MacOSTest.test_defaultasserts thatwebbrowser.get()returns aMacOSinstance on macOS. WhenBROWSER=open(or any other value)is set in the environment,
register_standard_browsers()registers aGenericBrowseras the preferred browser instead, so theassertIsInstancecheck fails.MacOSTestand moved
test_defaultinto it fromMacOSXOSAScriptTest.MacOSXOSAScriptTesthad an identicalsetUp()guard added intest_webbrowser failure on MacOS if BROWSER set to "open" #131254 specifically to fix this same failure pattern. That guard
was not carried over when the test was moved.
setUp()toMacOSTestto unsetBROWSERfor the durationof each test, matching the pattern already established in
MacOSXOSAScriptTest.Test plan
python -m test test_webbrowserwithBROWSER=openset — should passpython -m test test_webbrowserwithBROWSERunset — should passFixes gh-149496