summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2026-01-19 05:59:55 +0100
committerMichał Górny <mgorny@gentoo.org>2026-01-19 06:38:14 +0100
commitecb55e122fc370c8eae066d5daa720efafe42df2 (patch)
tree9e118b900e71d66455abec049732d924564ce639 /dev-python
parent3c4529ac40529e663690bc7a4903828556ca07de (diff)
downloadgentoo-ecb55e122fc370c8eae066d5daa720efafe42df2.tar.gz
gentoo-ecb55e122fc370c8eae066d5daa720efafe42df2.tar.bz2
gentoo-ecb55e122fc370c8eae066d5daa720efafe42df2.zip
dev-python/selenium: Bump to 4.40.0
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/selenium/Manifest2
-rw-r--r--dev-python/selenium/selenium-4.40.0.ebuild160
2 files changed, 162 insertions, 0 deletions
diff --git a/dev-python/selenium/Manifest b/dev-python/selenium/Manifest
index 592db0a9619f..678337b1947a 100644
--- a/dev-python/selenium/Manifest
+++ b/dev-python/selenium/Manifest
@@ -5,6 +5,7 @@ DIST selenium-4.36.0.tar.gz 913613 BLAKE2B cc4354d8c5a85aea2ed8c825b2ed06833db7f
DIST selenium-4.37.0.tar.gz 918689 BLAKE2B 2ca4067e3e1729345b078515fc362571c73e818f9f71697f96648829d777df50e51d6ef29c1af5082718c5ce127e9bb8af4e3a7e3ed9b3f4f90164334c1693a6 SHA512 0406c57c1bd7614fed716c9fb59be089f63c102e2f7fc06ee38db4a3390bb3bda37f171818a3e6697ebe84f380238cb9d97214dbd5f7a99a2b6038cf6e75d682
DIST selenium-4.38.0.tar.gz 924101 BLAKE2B e0bb400e646a36abdaf11c2916257af63984c44bc748b3a9764905d860fa2ece8ec75ee5b7a5618e5b0cff5c95aae01e07d39005efb3c48a4ca8e8ce282c9ed5 SHA512 85e8b5a9a201838a82afc68e7eb0255aa67a50c51f62b705e4d064a27a5b80535960d980816266876054eb29917da1cf63d9d4c4924fe6cd2632822a1518817b
DIST selenium-4.39.0.tar.gz 928575 BLAKE2B 8a95a0ee4293156ddaccf9334e24df26de552b96f86827471027b011269f35f141174b486084731be4fb01d8a302c5c4d02ff04642adc089bcea5307b9e8aa05 SHA512 2950a52f452a652fd89f38f9c0d03abe9827be646827121f78c39f27995edeeb12177822215704b7e3f06e4e901e21ac87dadd68015c7a240bed09a914508dc3
+DIST selenium-4.40.0.tar.gz 930444 BLAKE2B 0118f8135d0cd81809655763b8b40c12ffe5e93c7a39f4de9b857e1f2601ed122894d7f2d1b850327e7c147881893ac8a43f0cfee9afdc2ac6874e68c5662f2c SHA512 9f501a8c2e95e57e47cbc7b11462100d6ad950123c989a750840ba5a764b4ebb3486adaca3eca7bb385b836abecfbb79a14255de9613ec916b87c36389f1fc1d
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
@@ -12,3 +13,4 @@ DIST selenium-selenium-4.36.0.gh.tar.gz 52567842 BLAKE2B e5e715ce0d4e491f2551ea1
DIST selenium-selenium-4.37.0.gh.tar.gz 52580241 BLAKE2B 360f0c435cd79c37d65e03a6e049ab75cde20683599965a4ffbd155dd31ca7c8e0c5bbca83f3688d29a2404a51b6c6633581e369bcfb95b7b13b8508b0b65787 SHA512 0389e5dad02719da66689a9509ca95ae009120218f47ffedc1db2bb4063e95d842b527be23828a988c66c8b2ab7452817571aeda14b4f3254c5536d2d4b0f535
DIST selenium-selenium-4.38.0.gh.tar.gz 52583428 BLAKE2B 539234726775fd23357bf18881242b8b9c27ca62a9a3dd27d5625ba571d9e83df5639fedcd062474358ab821c6c7609668481db1a5311a2388d52e922c4e9f5a SHA512 68b6e819ecfd9bdd02701ebe96e9d28aa98893a738c5684162e6bfd263652f13d49567b4e2365286fcd08501b00024646e65e7e6b54ee713af42ed0ae99a4985
DIST selenium-selenium-4.39.0.gh.tar.gz 52628198 BLAKE2B 91745d908c8ce1c2a898daacf7e5b3c1d309e3f63e450f4d5e7d343ecf67a587b57b5c573630adcf736b4bcf28abd9b2cda101a632f48bec8eddd6fc7a67e510 SHA512 e780848fce92ce99977a7c24983e075bc7338450196e8511a11bdace9c7d6e7de0b64e471a02d7403c10031100dfff674b302f24133e49d11ed5af4ca1cc20ce
+DIST selenium-selenium-4.40.0.gh.tar.gz 43521447 BLAKE2B 42a71e2b00f96621f453e7c72c8c13f9876a82edb66a1c0d85ef5dda58c5831023b8924ab77e38a46d6810d617ee8760a409b7112ae92b1daa9d840956ca5c6e SHA512 0e2360f80463142dde933b8c92c4800f9b5a4e89b5301068a5d3a568e393730c84534fc6379a041f7c39ad5e8f45729e5a140f72e3eeddeb1293ebe2fc9db7fa
diff --git a/dev-python/selenium/selenium-4.40.0.ebuild b/dev-python/selenium/selenium-4.40.0.ebuild
new file mode 100644
index 000000000000..79a090d6131e
--- /dev/null
+++ b/dev-python/selenium/selenium-4.40.0.ebuild
@@ -0,0 +1,160 @@
+# Copyright 1999-2026 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 ~x86"
+IUSE="test test-rust"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/certifi-2026.1.4[${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.6.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-${PV}
+ 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
+ # remove nonsense typing deps
+ sed -i -e '/types/d' -e '/typing/d' 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
+ # throws some error that pytest doesn't even show
+ test/selenium/webdriver/firefox/ff_installs_addons_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
+ test/selenium/webdriver/remote/remote_custom_locator_tests.py::test_find_element_with_custom_locator
+ test/selenium/webdriver/remote/remote_custom_locator_tests.py::test_find_elements_with_custom_locator
+
+ # Internet
+ test/selenium/webdriver/remote/remote_server_tests.py::test_download_latest_server
+ )
+ else
+ EPYTEST_IGNORE+=(
+ test/selenium
+ )
+ fi
+
+ cd "${WORKDIR}/${TEST_P}/py" || die
+ rm -rf selenium || die
+ epytest "${pytest_args[@]}"
+}