From c01b76db26893f8257c17dcff838005625adc529 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Thu, 18 Feb 2016 19:50:52 -0600 Subject: [PATCH] update the other two _validate_version functions to allow for Rawhide to be valid Fix up the tests Signed-off-by: Dennis Gilmore --- productmd/common.py | 3 ++- productmd/treeinfo.py | 3 ++- tests/test_header.py | 10 +++++----- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/productmd/common.py b/productmd/common.py index 3447c05..b23d71f 100644 --- a/productmd/common.py +++ b/productmd/common.py @@ -195,7 +195,8 @@ class Header(MetadataBase): def _validate_version(self): self._assert_type("version", six.string_types) - self._assert_matches_re("version", [r"^\d+\.\d+$"]) + if re.match('^\d', self.version): + self._assert_matches_re("version", [r"^\d+(\.\d+)*$"]) @property def version_tuple(self): diff --git a/productmd/treeinfo.py b/productmd/treeinfo.py index a14305e..67f5ed9 100644 --- a/productmd/treeinfo.py +++ b/productmd/treeinfo.py @@ -166,7 +166,8 @@ class BaseProduct(productmd.common.MetadataBase): def _validate_version(self): self._assert_type("version", list(six.string_types)) - self._assert_matches_re("version", [r"^\d+(\.\d+)*$"]) + if re.match('^\d', self.version): + self._assert_matches_re("version", [r"^\d+(\.\d+)*$"]) def _validate_short(self): self._assert_type("short", list(six.string_types)) diff --git a/tests/test_header.py b/tests/test_header.py index 206307a..5c18dcf 100755 --- a/tests/test_header.py +++ b/tests/test_header.py @@ -40,19 +40,19 @@ class TestHeader(unittest.TestCase): self.assertRaises(TypeError, hdr.validate) # invalid version - hdr.version = "first" - self.assertRaises(ValueError, hdr.validate) - hdr.version = "1.alpha2" self.assertRaises(ValueError, hdr.validate) + # valid version hdr.version = "1" - self.assertRaises(ValueError, hdr.validate) + hdr.validate() - # valid version hdr.version = "1.22" hdr.validate() + hdr.version = "first" + hdr.validate() + def test_deserialize(self): hdr = Header(None) data = { -- 2.5.0