Repository: incubator-ariatosca Updated Branches: refs/heads/ARIA-140-version-utils 7351bfc1d -> 658da4eb7
Fixes due to code review Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/658da4eb Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/658da4eb Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/658da4eb Branch: refs/heads/ARIA-140-version-utils Commit: 658da4eb77af42a5870351084d4b70b562fb7849 Parents: 7351bfc Author: Tal Liron <tal.li...@gmail.com> Authored: Mon May 8 11:19:59 2017 -0500 Committer: Tal Liron <tal.li...@gmail.com> Committed: Mon May 8 11:19:59 2017 -0500 ---------------------------------------------------------------------- aria/utils/versions.py | 4 ++-- tests/utils/test_versions.py | 13 +++++++++++-- 2 files changed, 13 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/658da4eb/aria/utils/versions.py ---------------------------------------------------------------------- diff --git a/aria/utils/versions.py b/aria/utils/versions.py index d112c7c..7d94442 100644 --- a/aria/utils/versions.py +++ b/aria/utils/versions.py @@ -94,7 +94,7 @@ def parse_version_string(version): # pylint: disable=too-many-branches version = unicode(version) # Split to primary and qualifier on '-' - split = version.split('-', 2) + split = version.rsplit('-', 1) if len(split) == 2: primary, qualifier = split else: @@ -126,7 +126,7 @@ def parse_version_string(version): # pylint: disable=too-many-branches # Parse qualifier if qualifier is not None: if _DIGITS_RE.match(qualifier) is not None: - # Integer qualifer + # Integer qualifier try: qualifier = float(int(qualifier)) except ValueError: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/658da4eb/tests/utils/test_versions.py ---------------------------------------------------------------------- diff --git a/tests/utils/test_versions.py b/tests/utils/test_versions.py index 94f632b..222949c 100644 --- a/tests/utils/test_versions.py +++ b/tests/utils/test_versions.py @@ -13,10 +13,10 @@ # See the License for the specific language governing permissions and # limitations under the License. -from aria.utils.versions import VersionString +from aria.utils.versions import (VersionString, parse_version_string) -def test_versions(): +def test_version_string(): # No qualifiers assert VersionString('20') == VersionString('20') assert VersionString('20') == VersionString('20.0') @@ -74,3 +74,12 @@ def test_versions(): # Dicts the_dict = {v1: 'test'} assert the_dict.get(v2) == 'test' + +def test_parse_version_string(): + # One test of each type from the groups above should be enough + assert parse_version_string('20') < parse_version_string('20.0.1') + assert parse_version_string('20.0.1-1') < parse_version_string('20.0.1-2') + assert parse_version_string('20.0.1-beta1') < parse_version_string('20.0.1-beta2') + assert parse_version_string('20.0.0') == parse_version_string(10 * 2) + assert parse_version_string(None) == parse_version_string(0) + assert parse_version_string(None) == parse_version_string('maxim is maxim')