diff options
author | Georgy Yakovlev <gyakovlev@gentoo.org> | 2020-06-10 18:59:00 -0700 |
---|---|---|
committer | Georgy Yakovlev <gyakovlev@gentoo.org> | 2020-06-10 19:00:04 -0700 |
commit | 49ee2e8f661fcfbd8b7cb001b35edf0091c39436 (patch) | |
tree | 76e652dea3ce54065b2cb2a185d332da8f3352d8 /dev-python/semver | |
parent | app-shells/loksh: drop old (diff) | |
download | gentoo-49ee2e8f661fcfbd8b7cb001b35edf0091c39436.tar.gz gentoo-49ee2e8f661fcfbd8b7cb001b35edf0091c39436.tar.bz2 gentoo-49ee2e8f661fcfbd8b7cb001b35edf0091c39436.zip |
dev-python/semver: bump to 2.10.1
Package-Manager: Portage-2.3.100, Repoman-2.3.22
Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
Diffstat (limited to 'dev-python/semver')
-rw-r--r-- | dev-python/semver/Manifest | 1 | ||||
-rw-r--r-- | dev-python/semver/files/2.10.1-getitem.patch | 147 | ||||
-rw-r--r-- | dev-python/semver/semver-2.10.1.ebuild | 30 |
3 files changed, 178 insertions, 0 deletions
diff --git a/dev-python/semver/Manifest b/dev-python/semver/Manifest index 233c2e9e5679..1a3b3b8f7a3b 100644 --- a/dev-python/semver/Manifest +++ b/dev-python/semver/Manifest @@ -1,2 +1,3 @@ +DIST semver-2.10.1.tar.gz 39327 BLAKE2B 867edb0690b07ac460a3c43465047479a4dd84ceadf0eaebaad3c9975994efbf97d51d94c5de2ba6b758b5785649a20acbc2b24a31ab8114b611ac9a24f915c2 SHA512 6abd02f109836c956967ef60c882269818402b771d25a5f243628b6b651bcf9246bbf5b09fac746e65d8c54ffc7b42f21be6cb6dd20487b987a5976995bae51c DIST semver-2.9.0.tar.gz 24767 BLAKE2B 5fb9eda8c5ccc6b02997292eb6f7be0080480b21bc38bb629fa48af674ec7a356f2b9952459680281a187243acbde17968060c48e4c1af70d10f3bbdf984fbe2 SHA512 5ae9a4a66474fc82cf7e4612796a6c0e0280ad9969ff8c509e99cb266154f39a2c03c68f6167f8e17fda1ac16ce17a838e63d81bc2e78debfd07adbb7cbc098d DIST semver-2.9.1.tar.gz 32437 BLAKE2B f87f6ad001b2e3752c59282714d0dfc258aa8a727517b5b7caeeb9ff2ebc2fb5fce308a96e7728e2f79cbd502bcde5cddc3422563b1c0eb588e41acaba1178c6 SHA512 3de661921d51b19fd4922605677790b7e83ab1e34ef76cd9d6d2147753c122686a801b4ddb0fec1b85018e7c60859885cc27f43bc5e337de1b69b9304b398175 diff --git a/dev-python/semver/files/2.10.1-getitem.patch b/dev-python/semver/files/2.10.1-getitem.patch new file mode 100644 index 000000000000..1a86ad0449d1 --- /dev/null +++ b/dev-python/semver/files/2.10.1-getitem.patch @@ -0,0 +1,147 @@ +From f332326e54a5582092b50c8fa113d11bbdf1a9e6 Mon Sep 17 00:00:00 2001 +From: Thomas Laferriere <t.laferriere@hotmail.ca> +Date: Wed, 10 Jun 2020 01:44:11 -0400 +Subject: [PATCH] Fix #260 __getitem__ returning `None` on falsy parts + +* Fix #260 and add tests for these special cases +* Fix IndexError not being thrown every time it should +* Update CHANGELOG.rst + +Co-authored-by: Tom Schraitle <tomschr@users.noreply.github.com> +--- + CHANGELOG.rst | 28 ++++++++++++++++++++++++++++ + semver.py | 9 ++++----- + test_semver.py | 35 ++++++++++++++++++++++++++++------- + 3 files changed, 60 insertions(+), 12 deletions(-) + +diff --git a/CHANGELOG.rst b/CHANGELOG.rst +index c28880e..2671ef2 100644 +--- a/CHANGELOG.rst ++++ b/CHANGELOG.rst +@@ -7,6 +7,34 @@ All notable changes to this code base will be documented in this file, + in every released version. + + ++Version 2.10.2 (WIP) ++==================== ++ ++:Released: 2020-xx-yy ++:Maintainer: ++ ++Features ++-------- ++ ++n/a ++ ++Bug Fixes ++--------- ++ ++:gh:`260` (:pr:`261`): Fixed ``__getitem__`` returning None on wrong parts ++ ++ ++Additions ++--------- ++ ++n/a ++ ++Removals ++-------- ++ ++n/a ++ ++ + Version 2.10.1 + ============== + +diff --git a/semver.py b/semver.py +index 00338e8..0c98af9 100644 +--- a/semver.py ++++ b/semver.py +@@ -548,17 +548,16 @@ def __getitem__(self, index): + + if ( + isinstance(index, slice) +- and (index.start is None or index.start < 0) +- and (index.stop is None or index.stop < 0) ++ and (index.start is not None and index.start < 0) ++ or (index.stop is not None and index.stop < 0) + ): + raise IndexError("Version index cannot be negative") + +- # Could raise IndexError: +- part = tuple(filter(None, self.to_tuple()[index])) ++ part = tuple(filter(lambda p: p is not None, self.to_tuple()[index])) + + if len(part) == 1: + part = part[0] +- if not part: ++ elif not part: + raise IndexError("Version part undefined") + return part + +diff --git a/test_semver.py b/test_semver.py +index 8ecc81f..1fd87ee 100644 +--- a/test_semver.py ++++ b/test_semver.py +@@ -774,6 +774,8 @@ def test_should_be_able_to_use_integers_as_prerelease_build(): + ("1.2.3", 0, 1), + ("1.2.3", 1, 2), + ("1.2.3", 2, 3), ++ # Special cases ++ ("1.0.2", 1, 0), + ], + ) + def test_version_info_should_be_accessed_with_index(version, index, expected): +@@ -801,6 +803,7 @@ def test_version_info_should_be_accessed_with_index(version, index, expected): + ("1.2.3-rc.0+build.0", slice(0, 5, 2), (1, 3, "build.0")), + ("1.2.3-rc.0+build.0", slice(None, 5, 2), (1, 3, "build.0")), + ("1.2.3-rc.0+build.0", slice(5, 0, -2), ("build.0", 3)), ++ ("1.2.0-rc.0+build.0", slice(3), (1, 2, 0)), + ], + ) + def test_version_info_should_be_accessed_with_slice_object( +@@ -813,19 +816,37 @@ def test_version_info_should_be_accessed_with_slice_object( + @pytest.mark.parametrize( + "version, index", + [ +- ("1.2.3-rc.0+build.0", -1), +- ("1.2.3-rc.0", -1), +- ("1.2.3-rc.0", 4), +- ("1.2.3", -1), + ("1.2.3", 3), ++ ("1.2.3", slice(3, 4)), + ("1.2.3", 4), +- ("1.2.3", 10), +- ("1.2.3", slice(-3)), ++ ("1.2.3", slice(4, 5)), ++ ("1.2.3", 5), ++ ("1.2.3", slice(5, 6)), ++ ("1.2.3-rc.0", 5), ++ ("1.2.3-rc.0", slice(5, 6)), ++ ("1.2.3-rc.0", 6), ++ ("1.2.3-rc.0", slice(6, 7)), + ], + ) + def test_version_info_should_throw_index_error(version, index): + version_info = VersionInfo.parse(version) +- with pytest.raises(IndexError): ++ with pytest.raises(IndexError, match=r"Version part undefined"): ++ version_info[index] ++ ++ ++@pytest.mark.parametrize( ++ "version, index", ++ [ ++ ("1.2.3", -1), ++ ("1.2.3", -2), ++ ("1.2.3", slice(-2, 2)), ++ ("1.2.3", slice(2, -2)), ++ ("1.2.3", slice(-2, -2)), ++ ], ++) ++def test_version_info_should_throw_index_error_when_negative_index(version, index): ++ version_info = VersionInfo.parse(version) ++ with pytest.raises(IndexError, match=r"Version index cannot be negative"): + version_info[index] + + diff --git a/dev-python/semver/semver-2.10.1.ebuild b/dev-python/semver/semver-2.10.1.ebuild new file mode 100644 index 000000000000..b731e8febb6b --- /dev/null +++ b/dev-python/semver/semver-2.10.1.ebuild @@ -0,0 +1,30 @@ +# Copyright 2019-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6,7} ) +DISTUTILS_USE_SETUPTOOLS=rdepend + +inherit distutils-r1 + +DESCRIPTION="A Python module for semantic versioning" +HOMEPAGE="https://github.com/python-semver/python-semver" +SRC_URI="https://github.com/python-${PN}/python-${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~ppc64 ~x86" +IUSE="test" + +S="${WORKDIR}/python-${P}" + +PATCHES=( "${FILESDIR}/${PV}-getitem.patch" ) + +distutils_enable_tests pytest + +python_prepare_all() { + # contains pytest/cov args we don't want + rm setup.cfg || die + distutils-r1_python_prepare_all +} |