[webkit-changes] [WebKit/WebKit] dcb491: Drop Python < 3.9 sys.version_info branches

Sam Sneddon noreply at github.com
Thu Dec 5 18:46:51 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: dcb4913d794e7f3bb07f3c4184abf912bcef2405
      https://github.com/WebKit/WebKit/commit/dcb4913d794e7f3bb07f3c4184abf912bcef2405
  Author: Sam Sneddon <gsnedders at apple.com>
  Date:   2024-12-05 (Thu, 05 Dec 2024)

  Changed paths:
    M Source/JavaScriptCore/KeywordLookupGenerator.py
    M Source/JavaScriptCore/Scripts/cssmin.py
    M Source/JavaScriptCore/Scripts/generate-js-builtins.py
    M Source/JavaScriptCore/Scripts/jsmin.py
    M Source/JavaScriptCore/Scripts/make-js-file-arrays.py
    M Source/JavaScriptCore/yarr/generateYarrCanonicalizeUnicode
    M Source/JavaScriptCore/yarr/generateYarrUnicodePropertyTables.py
    M Source/WebCore/html/parser/create-html-entity-table
    M Source/WebKit/Scripts/webkit/model_unittest.py
    M Source/WebKit/Scripts/webkit/parser_unittest.py
    M Tools/CISupport/download-built-product
    M Tools/CISupport/ews-app/ews/common/bugzilla.py
    M Tools/CISupport/ews-app/ews/thirdparty/BeautifulSoup.py
    R Tools/CISupport/ews-app/ews/thirdparty/BeautifulSoup_legacy.py
    M Tools/CISupport/kill-old-processes
    M Tools/Scripts/dump-webkit-tests-run
    M Tools/Scripts/hooks/pre-commit
    M Tools/Scripts/hooks/pre-push
    M Tools/Scripts/hooks/prepare-commit-msg
    M Tools/Scripts/libraries/resultsdbpy/resultsdbpy/__init__.py
    M Tools/Scripts/libraries/webkitbugspy/webkitbugspy/bugzilla.py
    M Tools/Scripts/libraries/webkitbugspy/webkitbugspy/mocks/bugzilla.py
    M Tools/Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py
    M Tools/Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py
    M Tools/Scripts/libraries/webkitcorepy/webkitcorepy/filtered_call.py
    M Tools/Scripts/libraries/webkitcorepy/webkitcorepy/mocks/popen.py
    M Tools/Scripts/libraries/webkitcorepy/webkitcorepy/mocks/subprocess.py
    M Tools/Scripts/libraries/webkitcorepy/webkitcorepy/mocks/terminal.py
    M Tools/Scripts/libraries/webkitcorepy/webkitcorepy/mocks/time_.py
    M Tools/Scripts/libraries/webkitcorepy/webkitcorepy/string_utils.py
    M Tools/Scripts/libraries/webkitcorepy/webkitcorepy/subprocess_utils.py
    M Tools/Scripts/libraries/webkitcorepy/webkitcorepy/task_pool.py
    M Tools/Scripts/libraries/webkitcorepy/webkitcorepy/terminal.py
    M Tools/Scripts/libraries/webkitcorepy/webkitcorepy/tests/subprocess_utils_unittest.py
    M Tools/Scripts/libraries/webkitcorepy/webkitcorepy/tests/terminal_unittest.py
    M Tools/Scripts/libraries/webkitcorepy/webkitcorepy/timer.py
    M Tools/Scripts/libraries/webkitflaskpy/webkitflaskpy/__init__.py
    M Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py
    M Tools/Scripts/libraries/webkitscmpy/webkitscmpy/commit_classifier.py
    M Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py
    M Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py
    M Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/__init__.py
    M Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/branch.py
    M Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/command.py
    M Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/install_hooks.py
    M Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/pickable.py
    M Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py
    M Tools/Scripts/libraries/webkitscmpy/webkitscmpy/scm_base.py
    M Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/hooks/prepare-commit-msg
    M Tools/Scripts/rebase-patch-after-webkit-move
    M Tools/Scripts/sync-feature-defines
    M Tools/Scripts/validate-committer-lists
    M Tools/Scripts/webkitpy/__init__.py
    M Tools/Scripts/webkitpy/autoinstalled/buildbot.py
    M Tools/Scripts/webkitpy/autoinstalled/twisted.py
    M Tools/Scripts/webkitpy/benchmark_runner/benchmark_results_unittest.py
    M Tools/Scripts/webkitpy/benchmark_runner/benchmark_runner.py
    M Tools/Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver.py
    M Tools/Scripts/webkitpy/benchmark_runner/browser_driver/linux_browser_driver.py
    M Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py
    M Tools/Scripts/webkitpy/benchmark_runner/http_server_driver/http_server_driver.py
    M Tools/Scripts/webkitpy/benchmark_runner/webserver_benchmark_runner.py
    M Tools/Scripts/webkitpy/common/checkout/checkout.py
    M Tools/Scripts/webkitpy/common/checkout/diff_parser.py
    M Tools/Scripts/webkitpy/common/checkout/scm/scm_unittest.py
    M Tools/Scripts/webkitpy/common/iteration_compatibility.py
    M Tools/Scripts/webkitpy/common/message_pool.py
    M Tools/Scripts/webkitpy/common/net/bugzilla/bugzilla.py
    M Tools/Scripts/webkitpy/common/net/bugzilla/test_expectation_updater.py
    M Tools/Scripts/webkitpy/common/net/buildbot/buildbot.py
    M Tools/Scripts/webkitpy/common/net/credentials_unittest.py
    M Tools/Scripts/webkitpy/common/net/file_uploader.py
    M Tools/Scripts/webkitpy/common/net/networktransaction.py
    M Tools/Scripts/webkitpy/common/net/web.py
    M Tools/Scripts/webkitpy/common/net/web_mock.py
    M Tools/Scripts/webkitpy/common/system/executive.py
    M Tools/Scripts/webkitpy/common/system/filesystem_mock.py
    M Tools/Scripts/webkitpy/common/system/path.py
    M Tools/Scripts/webkitpy/common/system/profiler.py
    M Tools/Scripts/webkitpy/common/watchlist/watchlistparser_unittest.py
    M Tools/Scripts/webkitpy/conftest.py
    M Tools/Scripts/webkitpy/featuredefines/search.py
    M Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_finder.py
    M Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_finder_legacy_unittest.py
    M Tools/Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py
    M Tools/Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py
    M Tools/Scripts/webkitpy/layout_tests/servers/websocket_server.py
    M Tools/Scripts/webkitpy/layout_tests/views/metered_stream_unittest.py
    M Tools/Scripts/webkitpy/port/leakdetector_valgrind.py
    M Tools/Scripts/webkitpy/port/server_process_unittest.py
    M Tools/Scripts/webkitpy/port/xvfbdriver_unittest.py
    M Tools/Scripts/webkitpy/results/upload.py
    M Tools/Scripts/webkitpy/results/upload_unittest.py
    M Tools/Scripts/webkitpy/style/checkers/jsonchecker.py
    M Tools/Scripts/webkitpy/style/checkers/jsonchecker_unittest.py
    M Tools/Scripts/webkitpy/style/checkers/python.py
    M Tools/Scripts/webkitpy/style/checkers/python_unittest.py
    M Tools/Scripts/webkitpy/style/main.py
    M Tools/Scripts/webkitpy/test/finder.py
    M Tools/Scripts/webkitpy/test/main.py
    M Tools/Scripts/webkitpy/thirdparty/BeautifulSoup.py
    R Tools/Scripts/webkitpy/thirdparty/BeautifulSoup_legacy.py
    M Tools/Scripts/webkitpy/tool/commands/applywatchlistlocal_unittest.py
    M Tools/Scripts/webkitpy/tool/servers/rebaselineserver.py
    M Tools/Scripts/webkitpy/tool/servers/reflectionhandler.py
    M Tools/Scripts/webkitpy/tool/steps/confirmdiff.py
    M Tools/Scripts/webkitpy/tool/steps/promptforbugortitle.py
    M Tools/Scripts/webkitpy/w3c/test_converter.py
    M Tools/Scripts/webkitpy/w3c/test_exporter.py
    M Tools/Scripts/webkitpy/w3c/wpt_github.py
    M Tools/glib/api_test_runner.py
    M Tools/glib/glib_test_runner.py
    M Tools/lldb/lldb_webkit.py

  Log Message:
  -----------
  Drop Python < 3.9 sys.version_info branches
https://bugs.webkit.org/show_bug.cgi?id=274865

Reviewed by Jonathan Bedard.

Largely based on ruff's fix for its outdated-version-block rule
(https://docs.astral.sh/ruff/rules/outdated-version-block/), with
`--target-version py39`, with some minor work before applying that
(fixing usage of sys.version doing string comparison, rewriting
sys.version_info.major to sys.version_info[0] as ruff doesn't support
the former).

With that done, the remaining usage of sys.version_info was audited
and, as needed, fixed manually.

Many of the prior comments about Python 2 v. 3 differences were also
addressed, with more code there becoming dead.

To tidy this up, usage of six was removed, now-unused imports were
removed, blank lines were removed, some dead assignments were removed,
and some usage of **kwargs was simplified where kwargs was now
constant.

We also now get rid of BeautifulSoup_legacy.

* Source/JavaScriptCore/KeywordLookupGenerator.py:
(Trie.coalesce):
* Source/JavaScriptCore/Scripts/cssmin.py:
* Source/JavaScriptCore/Scripts/generate-js-builtins.py:
(do_open):
* Source/JavaScriptCore/Scripts/jsmin.py:
(jsmin):
* Source/JavaScriptCore/Scripts/make-js-file-arrays.py:
(main):
* Source/JavaScriptCore/yarr/generateYarrCanonicalizeUnicode:
(openOrExit):
* Source/JavaScriptCore/yarr/generateYarrUnicodePropertyTables.py:
(openOrExit):
* Source/WebCore/html/parser/create-html-entity-table:
* Source/WebKit/Scripts/webkit/model_unittest.py:
* Source/WebKit/Scripts/webkit/parser_unittest.py:
(UnsupportedPrecompilerDirectiveTest):
(UnsupportedPrecompilerDirectiveTest.assertRaisesRegex): Deleted.
* Tools/CISupport/download-built-product:
* Tools/CISupport/ews-app/ews/common/bugzilla.py:
(BugzillaBeautifulSoup._parse_attachment_ids_request_query):
* Tools/CISupport/ews-app/ews/thirdparty/BeautifulSoup.py:
(BeautifulSoup):
(BeautifulSoup.__init__):
(BeautifulStoneSoup):
(BeautifulStoneSoup.__init__):
* Tools/CISupport/ews-app/ews/thirdparty/BeautifulSoup_legacy.py: Removed.
* Tools/CISupport/kill-old-processes:
(are_simulators_booted):
* Tools/Scripts/dump-webkit-tests-run:
(main):
(convert_trie_to_flat_paths):
* Tools/Scripts/hooks/pre-commit:
* Tools/Scripts/hooks/pre-push:
* Tools/Scripts/hooks/prepare-commit-msg:
* Tools/Scripts/libraries/resultsdbpy/resultsdbpy/__init__.py:
* Tools/Scripts/libraries/webkitbugspy/webkitbugspy/bugzilla.py:
* Tools/Scripts/libraries/webkitbugspy/webkitbugspy/mocks/bugzilla.py:
(Bugzilla.request):
* Tools/Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py:
* Tools/Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
(Package.archives):
(AutoInstall):
(AutoInstall.find_module):
* Tools/Scripts/libraries/webkitcorepy/webkitcorepy/filtered_call.py:
(filtered_call):
* Tools/Scripts/libraries/webkitcorepy/webkitcorepy/mocks/popen.py:
(Popen):
(Popen.__init__):
(Popen.communicate):
(Popen.wait):
(Popen.__enter__):
(Popen.__exit__):
* Tools/Scripts/libraries/webkitcorepy/webkitcorepy/mocks/subprocess.py:
(Subprocess.completion_generator_for):
* Tools/Scripts/libraries/webkitcorepy/webkitcorepy/mocks/terminal.py:
(Terminal.input):
* Tools/Scripts/libraries/webkitcorepy/webkitcorepy/mocks/time_.py:
(Time):
(Time.__call__):
(add_metaclass): Deleted.
(add_metaclass.wrapper): Deleted.
* Tools/Scripts/libraries/webkitcorepy/webkitcorepy/string_utils.py:
* Tools/Scripts/libraries/webkitcorepy/webkitcorepy/subprocess_utils.py:
(run):
(TimeoutExpired): Deleted.
(TimeoutExpired.__init__): Deleted.
(TimeoutExpired.__str__): Deleted.
(TimeoutExpired.stdout): Deleted.
(CompletedProcess): Deleted.
(CompletedProcess.__init__): Deleted.
(CompletedProcess.__repr__): Deleted.
(CompletedProcess.check_returncode): Deleted.
(run.decode): Deleted.
* Tools/Scripts/libraries/webkitcorepy/webkitcorepy/task_pool.py:
(TaskPool.__exit__):
* Tools/Scripts/libraries/webkitcorepy/webkitcorepy/terminal.py:
(Terminal.input):
* Tools/Scripts/libraries/webkitcorepy/webkitcorepy/tests/subprocess_utils_unittest.py:
(SubprocessUtils.test_run_timeout):
(SubprocessUtils):
(SubprocessUtils.test_run_timeout_context):
* Tools/Scripts/libraries/webkitcorepy/webkitcorepy/tests/terminal_unittest.py:
(TerminalTests.test_interrupt):
* Tools/Scripts/libraries/webkitcorepy/webkitcorepy/timer.py:
* Tools/Scripts/libraries/webkitflaskpy/webkitflaskpy/__init__.py:
* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py:
* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/commit_classifier.py:
(CommitClassifier.LineFilter.fuzzy):
* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git.Cache.populate):
(Git.__init__):
(Git.commits):
(Git.diff):
* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py:
(Svn.Cache.populate):
(Svn.commits):
* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/__init__.py:
* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/branch.py:
(Branch.parser):
* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/command.py:
(FilteredCommand.pager):
(FilteredCommand.main):
* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/install_hooks.py:
(InstallHooks.main):
* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/pickable.py:
(Pickable.Filters.fuzzy):
* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py:
(Setup.fetch):
* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/scm_base.py:
(ScmBase.gmtoffset):
* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/hooks/prepare-commit-msg:
* Tools/Scripts/rebase-patch-after-webkit-move:
(needs_rebase):
(rebase_line):
* Tools/Scripts/sync-feature-defines:
* Tools/Scripts/validate-committer-lists:
* Tools/Scripts/webkitpy/__init__.py:
* Tools/Scripts/webkitpy/autoinstalled/buildbot.py:
* Tools/Scripts/webkitpy/autoinstalled/twisted.py:
* Tools/Scripts/webkitpy/benchmark_runner/benchmark_results_unittest.py:
(BenchmarkResultsTest):
(BenchmarkResultsTest.assertRaisesRegex): Deleted.
* Tools/Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
(istext):
* Tools/Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver.py:
(BrowserDriver):
* Tools/Scripts/webkitpy/benchmark_runner/browser_driver/linux_browser_driver.py:
(LinuxBrowserDriver.launch_url):
* Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
(OSXSafariDriver._launch_url_with_custom_path):
* Tools/Scripts/webkitpy/benchmark_runner/http_server_driver/http_server_driver.py:
(HTTPServerDriver):
* Tools/Scripts/webkitpy/benchmark_runner/webserver_benchmark_runner.py:
(WebServerBenchmarkRunner._construct_subtest_url):
* Tools/Scripts/webkitpy/common/checkout/checkout.py:
* Tools/Scripts/webkitpy/common/checkout/diff_parser.py:
(DiffParser._parse_into_diff_files):
* Tools/Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
(SCMTest.__init__):
(SCMTest.assertRegex): Deleted.
(SCMTest.assertNotRegex): Deleted.
* Tools/Scripts/webkitpy/common/iteration_compatibility.py:
(iteritems):
(iterkeys):
(itervalues):
* Tools/Scripts/webkitpy/common/message_pool.py:
* Tools/Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
(Bugzilla._parse_attachment_element):
* Tools/Scripts/webkitpy/common/net/bugzilla/test_expectation_updater.py:
(argument_parser):
* Tools/Scripts/webkitpy/common/net/buildbot/buildbot.py:
* Tools/Scripts/webkitpy/common/net/credentials_unittest.py:
* Tools/Scripts/webkitpy/common/net/file_uploader.py:
* Tools/Scripts/webkitpy/common/net/networktransaction.py:
* Tools/Scripts/webkitpy/common/net/web.py:
* Tools/Scripts/webkitpy/common/net/web_mock.py:
* Tools/Scripts/webkitpy/common/system/executive.py:
(ScriptError.command_name):
(Executive.__init__):
(Executive._run_command_with_teed_output):
(Executive.run_command):
(Executive._child_process_encoding):
(Executive._should_encode_child_process_arguments):
(Executive.popen):
(WrappedPopen): Deleted.
(WrappedPopen.__init__): Deleted.
(WrappedPopen.returncode): Deleted.
(WrappedPopen.__enter__): Deleted.
(WrappedPopen.__exit__): Deleted.
(Executive._should_close_fds): Deleted.
* Tools/Scripts/webkitpy/common/system/filesystem_mock.py:
(ScanDirMock.__enter__):
(ScanDirMock.__exit__):
(ScanDirMock.close):
* Tools/Scripts/webkitpy/common/system/path.py:
* Tools/Scripts/webkitpy/common/system/profiler.py:
* Tools/Scripts/webkitpy/common/watchlist/watchlistparser_unittest.py:
(WatchListParserTest.test_bad_filename_regex):
(WatchListParserTest.test_bad_more_regex):
* Tools/Scripts/webkitpy/conftest.py:
(pytest_pycollect_makeitem):
* Tools/Scripts/webkitpy/featuredefines/search.py:
(FeatureDefinesSearch):
* Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_finder.py:
(LayoutTestFinder):
(LayoutTestFinder._percent_encoded_variant):
* Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_finder_legacy_unittest.py:
* Tools/Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(RebaselineTest.test_reset_results):
(RebaselineTest.test_missing_results):
(RebaselineTest.test_new_baseline):
* Tools/Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
(WebPlatformTestServer.__init__):
* Tools/Scripts/webkitpy/layout_tests/servers/websocket_server.py:
(PyWebSocket._prepare_config):
* Tools/Scripts/webkitpy/layout_tests/views/metered_stream_unittest.py:
(RegularTest.test_unicode):
(RegularTest.test_stream_with_encoding):
* Tools/Scripts/webkitpy/port/leakdetector_valgrind.py:
(LeakDetectorValgrind.parse_and_print_leaks_detail):
* Tools/Scripts/webkitpy/port/server_process_unittest.py:
(TestServerProcess):
* Tools/Scripts/webkitpy/port/xvfbdriver_unittest.py:
(XvfbDriverTest):
(XvfbDriverTest.assertRaisesRegex): Deleted.
* Tools/Scripts/webkitpy/results/upload.py:
(Upload.Encoder.default):
* Tools/Scripts/webkitpy/results/upload_unittest.py:
* Tools/Scripts/webkitpy/style/checkers/jsonchecker.py:
(JSONImportExpectationsChecker.check):
* Tools/Scripts/webkitpy/style/checkers/jsonchecker_unittest.py:
(JSONCheckerTest.test_conflict_marker):
* Tools/Scripts/webkitpy/style/checkers/python.py:
(PythonChecker.check):
* Tools/Scripts/webkitpy/style/checkers/python_unittest.py:
(PythonCheckerTest.test_check):
* Tools/Scripts/webkitpy/style/main.py:
(CheckWebKitStyle):
(CheckWebKitStyle.main):
(CheckWebKitStyle._engage_awesome_stderr_hacks): Deleted.
* Tools/Scripts/webkitpy/test/finder.py:
(source_from_cache): Deleted.
* Tools/Scripts/webkitpy/test/main.py:
(main):
* Tools/Scripts/webkitpy/thirdparty/BeautifulSoup.py:
(BeautifulSoup):
(BeautifulSoup.__init__):
(BeautifulStoneSoup):
(BeautifulStoneSoup.__init__):
* Tools/Scripts/webkitpy/thirdparty/BeautifulSoup_legacy.py: Removed.
* Tools/Scripts/webkitpy/tool/commands/applywatchlistlocal_unittest.py:
(ApplyWatchListLocalTest):
(ApplyWatchListLocalTest.assertRaisesRegex): Deleted.
* Tools/Scripts/webkitpy/tool/servers/rebaselineserver.py:
* Tools/Scripts/webkitpy/tool/servers/reflectionhandler.py:
* Tools/Scripts/webkitpy/tool/steps/confirmdiff.py:
* Tools/Scripts/webkitpy/tool/steps/promptforbugortitle.py:
* Tools/Scripts/webkitpy/w3c/test_converter.py:
(_W3CTestConverter.__init__):
* Tools/Scripts/webkitpy/w3c/test_exporter.py:
* Tools/Scripts/webkitpy/w3c/wpt_github.py:
* Tools/glib/api_test_runner.py:
* Tools/glib/glib_test_runner.py:
(GLibTestRunner.run):
* Tools/lldb/lldb_webkit.py:
(bisect_right):
(btjs):

Canonical link: https://commits.webkit.org/287424@main



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list