From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 61130158176 for ; Sat, 18 Oct 2025 06:23:04 +0000 (UTC) Received: from lists.gentoo.org (bobolink.gentoo.org [140.211.166.189]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519) (No client certificate requested) (Authenticated sender: relay-lists.gentoo.org@gentoo.org) by smtp.gentoo.org (Postfix) with ESMTPSA id 372CF341F30 for ; Sat, 18 Oct 2025 06:23:04 +0000 (UTC) Received: from bobolink.gentoo.org (localhost [127.0.0.1]) by bobolink.gentoo.org (Postfix) with ESMTP id 232B2110561; Sat, 18 Oct 2025 06:23:01 +0000 (UTC) Received: from smtp.gentoo.org (dev.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519) (No client certificate requested) by bobolink.gentoo.org (Postfix) with ESMTPS id 18916110561 for ; Sat, 18 Oct 2025 06:23:01 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id B8173341E75 for ; Sat, 18 Oct 2025 06:23:00 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 2D2B729E3 for ; Sat, 18 Oct 2025 06:22:59 +0000 (UTC) From: "Michał Górny" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Michał Górny" Message-ID: <1760767501.29344796c386743383fc919960da35156f61f54a.mgorny@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: dev-python/selenium/ X-VCS-Repository: repo/gentoo X-VCS-Files: dev-python/selenium/Manifest dev-python/selenium/selenium-4.37.0.ebuild X-VCS-Directories: dev-python/selenium/ X-VCS-Committer: mgorny X-VCS-Committer-Name: Michał Górny X-VCS-Revision: 29344796c386743383fc919960da35156f61f54a X-VCS-Branch: master Date: Sat, 18 Oct 2025 06:22:59 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 9b5ef7ad-e067-4750-a387-f1aa4be1284c X-Archives-Hash: c1f064c28b5f8a14fdb0af8e3a699208 commit: 29344796c386743383fc919960da35156f61f54a Author: Michał Górny gentoo org> AuthorDate: Sat Oct 18 06:05:01 2025 +0000 Commit: Michał Górny gentoo org> CommitDate: Sat Oct 18 06:05:01 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=29344796 dev-python/selenium: Bump to 4.37.0 Signed-off-by: Michał Górny gentoo.org> dev-python/selenium/Manifest | 2 + dev-python/selenium/selenium-4.37.0.ebuild | 151 +++++++++++++++++++++++++++++ 2 files changed, 153 insertions(+) diff --git a/dev-python/selenium/Manifest b/dev-python/selenium/Manifest index c79964b53abc..6830e6d7b7b0 100644 --- a/dev-python/selenium/Manifest +++ b/dev-python/selenium/Manifest @@ -2,7 +2,9 @@ DIST selenium-4.26.1.tar.gz 967543 BLAKE2B 7e7476338a030083261199b725aaa38d03bb6 DIST selenium-4.34.2.tar.gz 896309 BLAKE2B 094d3596a86e1cd50a6967a65b3e7b9a73300403f5d88163ded8b1d3a62cb09d77057e9b90a35b39f3a6000a8ba604bd71ecb051866cf7ad88c5ab9e21752978 SHA512 f5911f41bc4988e1af26812299cf37aba7e88820cf4e719e0e04a36a5dbdba5420422c52393c8d31c4e0f88efe779e9beec2c490892e4546caa0a920047e01fa DIST selenium-4.35.0.tar.gz 907991 BLAKE2B e2d0baade499b41cdb23bdbae0059163fb58157dc86c3bcf4d7b9c4d040bcec19aba4000a223a4e7dd0137d4cc321064e95cd12fe22beaa311237c18261518ce SHA512 09f9149b94974c7965d5b81ee1ca65cca7e7a1de775d7323335c21acbbdc21da17f0f6314a8162177c6a22fdbb23b4147c213b2c3a98bfd9a13ac077dc113812 DIST selenium-4.36.0.tar.gz 913613 BLAKE2B cc4354d8c5a85aea2ed8c825b2ed06833db7f85276f99c8294b4dcaa1b58ad48f81549a8aafd4e93143b97eeaafd1c96d162b93c3c7bb7d45df6dbd7e9764f9b SHA512 9ad9a3fbe1234754d7eaac94ad07f876108f390414addb057b50fa3ae46107f40f1cc7b40683064d59b82ce081ca9ca0297be6a55f61e8c19d93a49b91bc6d57 +DIST selenium-4.37.0.tar.gz 918689 BLAKE2B 2ca4067e3e1729345b078515fc362571c73e818f9f71697f96648829d777df50e51d6ef29c1af5082718c5ce127e9bb8af4e3a7e3ed9b3f4f90164334c1693a6 SHA512 0406c57c1bd7614fed716c9fb59be089f63c102e2f7fc06ee38db4a3390bb3bda37f171818a3e6697ebe84f380238cb9d97214dbd5f7a99a2b6038cf6e75d682 DIST selenium-selenium-4.26.1-python.gh.tar.gz 77109265 BLAKE2B c0c5693c64fa65a627e5edf0cbbc051410fcddf59e4fd80c362b9a382c586fc3ad3d574674e5523ab284b40b6639e95e85fd1c8195f2f1a6f35ad6532ed667ce SHA512 7ace69332f17c6f7e28b81223f4c8c62cde1832b5acaf2fd1c777a08a5a9cfebb5d9c83daa10462eeb3acb9c7cb5038711f5acee51f5dad3910d7e29e4387d3f DIST selenium-selenium-4.34.2-python.gh.tar.gz 52515190 BLAKE2B 319a7083d5942c1962b4f48f907fea12943a403e4490f74f3cd38662f1c63f57270b27b6039a5a8f29a980540cd0dcf1d1c7560c7ac126f07e491983dc0e81ef SHA512 5ca0b6e970ded3dc93cd55a2c1af7c43063d87f57f119a011313eb7d08faa4057896a56d4eac2e13d39857c94b54f04840a053153cc39008c76cbdd33c8ddbba DIST selenium-selenium-4.35.0.gh.tar.gz 52550104 BLAKE2B b7ed0fb513cfb2ed24aa8393497b349f930739c3d24a330e5942fbaa5505f31d7086396a430776a3a28a5f65927b92bf27c0a32e8c36d893b5d62ef73151d5ef SHA512 dc73829e3b0fcb7fb7ee1cc04574b95b63d23f67974575dbd66338e14a5cb2b06f983145ce874be0d7124e8828b0a41b99c75d3befb19e04cbf8d027d0bb983a DIST selenium-selenium-4.36.0.gh.tar.gz 52567842 BLAKE2B e5e715ce0d4e491f2551ea13c2b9cd6c1021fafd6b0bf0dacba9b0aa4e3f479816cb910c66e286e8cb7b737063705caa2c843db3ccb83f964b4bd64ff174d935 SHA512 b95037df807c827c8f110d112ec0d062c7bb3c71b9faf31f5bfae59b5bfd1c2e20b035c3c3ab180b2319f8ba952042fb77966eb44db5b803a545fa18e0285bb5 +DIST selenium-selenium-4.37.0.gh.tar.gz 52580241 BLAKE2B 360f0c435cd79c37d65e03a6e049ab75cde20683599965a4ffbd155dd31ca7c8e0c5bbca83f3688d29a2404a51b6c6633581e369bcfb95b7b13b8508b0b65787 SHA512 0389e5dad02719da66689a9509ca95ae009120218f47ffedc1db2bb4063e95d842b527be23828a988c66c8b2ab7452817571aeda14b4f3254c5536d2d4b0f535 diff --git a/dev-python/selenium/selenium-4.37.0.ebuild b/dev-python/selenium/selenium-4.37.0.ebuild new file mode 100644 index 000000000000..332a0b0b01cc --- /dev/null +++ b/dev-python/selenium/selenium-4.37.0.ebuild @@ -0,0 +1,151 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_TESTED=( python3_{11..14} pypy3_11 ) +PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" ) + +inherit distutils-r1 pypi + +# base releases are usually ${P}, followups ${P}-python +TEST_TAG=${P} +[[ ${PV} != *.0 ]] && TEST_TAG+=-python +TEST_P=selenium-${TEST_TAG} + +DESCRIPTION="Python language binding for Selenium Remote Control" +HOMEPAGE=" + https://seleniumhq.org/ + https://github.com/SeleniumHQ/selenium/tree/trunk/py/ + https://pypi.org/project/selenium/ +" +SRC_URI+=" + test? ( + https://github.com/SeleniumHQ/selenium/archive/${TEST_TAG}.tar.gz + -> ${TEST_P}.gh.tar.gz + ) +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="test test-rust" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-python/certifi-2025.10.5[${PYTHON_USEDEP}] + >=dev-python/trio-0.31.0[${PYTHON_USEDEP}] + >=dev-python/trio-websocket-0.12.2[${PYTHON_USEDEP}] + >=dev-python/typing-extensions-4.15.0[${PYTHON_USEDEP}] + >=dev-python/urllib3-2.5.0[${PYTHON_USEDEP}] + >=dev-python/websocket-client-1.8.0[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + ${RDEPEND} + $(python_gen_cond_dep ' + dev-python/filetype[${PYTHON_USEDEP}] + dev-python/pytest-mock[${PYTHON_USEDEP}] + test-rust? ( + dev-python/pytest[${PYTHON_USEDEP}] + dev-python/pytest-rerunfailures[${PYTHON_USEDEP}] + dev-util/selenium-manager + net-misc/geckodriver + || ( + www-client/firefox + www-client/firefox-bin + ) + ) + ' "${PYTHON_TESTED[@]}") + ) +" + +src_prepare() { + distutils-r1_src_prepare + + # do not build selenium-manager implicitly + sed -e 's:\[tool\.setuptools-rust:[tool.ignore-me:' \ + -i pyproject.toml || die + # unpin deps + sed -i -e 's:,<[0-9.]*::' pyproject.toml || die +} + +python_test() { + # NB: xdist is causing random pytest crashes with high job numbers + + if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then + einfo "Skipping tests on ${EPYTHON}" + return + fi + + local EPYTEST_PLUGINS=( pytest-mock ) + local EPYTEST_IGNORE=() + local EPYTEST_DESELECT=( + # expects vanilla certifi + test/unit/selenium/webdriver/remote/remote_connection_tests.py::test_get_connection_manager_for_certs_and_timeout + ) + local pytest_args=( + # https://github.com/SeleniumHQ/selenium/blob/selenium-4.8.2-python/py/test/runner/run_pytest.py#L20-L24 + # seriously? + -o "python_files=*_tests.py test_*.py" + ) + if use test-rust; then + local -x PATH=${T}/bin:${PATH} + local -x SE_MANAGER_PATH="$(type -P selenium-manager)" + + local EPYTEST_RERUNS=5 + pytest_args+=( + --driver=firefox + --browser-binary="$(type -P firefox || type -P firefox-bin)" + --driver-binary="$(type -P geckodriver)" + --headless + ) + + local EPYTEST_IGNORE+=( + # requires some "python.runfiles", also bidi tests generally fail + test/selenium/webdriver/common/bidi_webextension_tests.py + ) + EPYTEST_DESELECT+=( + # expects prebuilt executables for various systems + test/selenium/webdriver/common/selenium_manager_tests.py::test_uses_windows + test/selenium/webdriver/common/selenium_manager_tests.py::test_uses_linux + test/selenium/webdriver/common/selenium_manager_tests.py::test_uses_mac + test/selenium/webdriver/common/selenium_manager_tests.py::test_errors_if_invalid_os + + # TODO: these don't respect --*-binary and try to fetch versions + test/selenium/webdriver/firefox + test/selenium/webdriver/marionette/mn_context_tests.py::test_context_sets_correct_context_and_returns + test/selenium/webdriver/marionette/mn_context_tests.py::test_context_sets_correct_context_and_returns + test/selenium/webdriver/marionette/mn_options_tests.py::TestIntegration::test_we_can_pass_options + test/selenium/webdriver/marionette/mn_set_context_tests.py::test_we_can_switch_context_to_chrome + + # TODO + 'test/selenium/webdriver/common/devtools_tests.py::test_check_console_messages[firefox]' + + # TODO + test/selenium/webdriver/common/bidi_browser_tests.py + test/selenium/webdriver/common/bidi_browsing_context_tests.py + test/selenium/webdriver/common/bidi_emulation_tests.py + test/selenium/webdriver/common/bidi_input_tests.py + test/selenium/webdriver/common/bidi_network_tests.py + test/selenium/webdriver/common/bidi_permissions_tests.py + test/selenium/webdriver/common/bidi_script_tests.py + test/selenium/webdriver/common/bidi_session_tests.py + test/selenium/webdriver/common/bidi_storage_tests.py + test/selenium/webdriver/common/bidi_tests.py + test/selenium/webdriver/marionette/mn_options_tests.py::TestUnit::test_binary + test/selenium/webdriver/marionette/mn_options_tests.py::TestUnit::test_ctor + test/selenium/webdriver/marionette/mn_options_tests.py::TestUnit::test_prefs + test/selenium/webdriver/marionette/mn_options_tests.py::TestUnit::test_to_capabilities + ) + else + EPYTEST_IGNORE+=( + test/selenium + ) + fi + + cd "${WORKDIR}/${TEST_P}/py" || die + rm -rf selenium || die + epytest "${pytest_args[@]}" +}