commit 292a90b6aac0574453f0187f3705e84aee59f808 Author: Sathyanarayanan Gunasekaran gsathya.ceg@gmail.com Date: Mon Dec 19 22:20:01 2011 +0530
Fixing the reg exp to accept git SHA1 in Version
Originally the reg exp checked didn't take into account the git commit [0.2.2.23-alpha (git-7dcd105be34a4f44)], which produced an Error. Now, the status tag consumes the git SHA1 as well.
Appropriate test cases have been added for integ testing. --- stem/version.py | 4 ++-- test/unit/version.py | 7 ++++++- 2 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/stem/version.py b/stem/version.py index 26080cc..b984125 100644 --- a/stem/version.py +++ b/stem/version.py @@ -88,14 +88,14 @@ class Version: def __init__(self, version_str): """ Parses a valid tor version string, for instance "0.1.4" or - "0.2.2.23-alpha". + "0.2.2.23-alpha (git-7dcd105be34a4f44)".
Raises: ValueError if input isn't a valid tor version """
self.version_str = version_str - m = re.match(r'^([0-9]+).([0-9]+).([0-9]+)(.[0-9]+)?(-\S*)?$', version_str) + m = re.match(r'^([0-9]+).([0-9]+).([0-9]+)(.[0-9]+)?(-.*)?$', version_str)
if m: major, minor, micro, patch, status = m.groups() diff --git a/test/unit/version.py b/test/unit/version.py index 7cff127..787d9c8 100644 --- a/test/unit/version.py +++ b/test/unit/version.py @@ -16,6 +16,10 @@ class TestVersion(unittest.TestCase): """
# valid versions with various number of compontents to the version + + version = stem.version.Version("0.1.2.3-tag (git-7dcd105be34a4f44)") + self.assert_versions_match(version, 0, 1, 2, 3, "tag (git-7dcd105be34a4f44)") + version = stem.version.Version("0.1.2.3-tag") self.assert_versions_match(version, 0, 1, 2, 3, "tag")
@@ -50,6 +54,7 @@ class TestVersion(unittest.TestCase):
# check for basic incrementing in each portion self.assert_version_is_greater("1.1.2.3-tag", "0.1.2.3-tag") + self.assert_version_is_greater("1.1.2.3-tag (git-7dcd105be34a4f44)", "0.1.2.3-tag (git-7dcd105be34a4f44)") self.assert_version_is_greater("0.2.2.3-tag", "0.1.2.3-tag") self.assert_version_is_greater("0.1.3.3-tag", "0.1.2.3-tag") self.assert_version_is_greater("0.1.2.4-tag", "0.1.2.3-tag") @@ -86,7 +91,7 @@ class TestVersion(unittest.TestCase): """
# checks conversion with various numbers of arguments - + self.assert_string_matches("0.1.2.3-tag (git-7dcd105be34a4f44)") self.assert_string_matches("0.1.2.3-tag") self.assert_string_matches("0.1.2.3") self.assert_string_matches("0.1.2")
tor-commits@lists.torproject.org