diff options
| author | Michał Górny <mgorny@gentoo.org> | 2025-12-07 05:18:34 +0100 |
|---|---|---|
| committer | Michał Górny <mgorny@gentoo.org> | 2025-12-07 05:33:44 +0100 |
| commit | 4bce5d036754def2ee22409979fd8a45bb5d8bd0 (patch) | |
| tree | f8022a713e4e054e3b438c9771792e414c22bedf /dev-python | |
| parent | 21510d3b3dc2e5b50b936234fa69d4bda8e1969d (diff) | |
| download | gentoo-4bce5d036754def2ee22409979fd8a45bb5d8bd0.tar.gz gentoo-4bce5d036754def2ee22409979fd8a45bb5d8bd0.tar.bz2 gentoo-4bce5d036754def2ee22409979fd8a45bb5d8bd0.zip | |
dev-python/selenium: Bump to 4.39.0
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'dev-python')
| -rw-r--r-- | dev-python/selenium/Manifest | 2 | ||||
| -rw-r--r-- | dev-python/selenium/selenium-4.39.0.ebuild | 151 |
2 files changed, 153 insertions, 0 deletions
diff --git a/dev-python/selenium/Manifest b/dev-python/selenium/Manifest index 41f3e3f200ab..592db0a9619f 100644 --- a/dev-python/selenium/Manifest +++ b/dev-python/selenium/Manifest @@ -4,9 +4,11 @@ DIST selenium-4.35.0.tar.gz 907991 BLAKE2B e2d0baade499b41cdb23bdbae0059163fb581 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-4.38.0.tar.gz 924101 BLAKE2B e0bb400e646a36abdaf11c2916257af63984c44bc748b3a9764905d860fa2ece8ec75ee5b7a5618e5b0cff5c95aae01e07d39005efb3c48a4ca8e8ce282c9ed5 SHA512 85e8b5a9a201838a82afc68e7eb0255aa67a50c51f62b705e4d064a27a5b80535960d980816266876054eb29917da1cf63d9d4c4924fe6cd2632822a1518817b +DIST selenium-4.39.0.tar.gz 928575 BLAKE2B 8a95a0ee4293156ddaccf9334e24df26de552b96f86827471027b011269f35f141174b486084731be4fb01d8a302c5c4d02ff04642adc089bcea5307b9e8aa05 SHA512 2950a52f452a652fd89f38f9c0d03abe9827be646827121f78c39f27995edeeb12177822215704b7e3f06e4e901e21ac87dadd68015c7a240bed09a914508dc3 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 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 diff --git a/dev-python/selenium/selenium-4.39.0.ebuild b/dev-python/selenium/selenium-4.39.0.ebuild new file mode 100644 index 000000000000..8aa390319d95 --- /dev/null +++ b/dev-python/selenium/selenium-4.39.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 ~ppc ~ppc64 ~riscv ~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.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 +} + +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[@]}" +} |
