python-productmd/0001-update-the-other-two-_...

76 lines
2.3 KiB
Diff

From c01b76db26893f8257c17dcff838005625adc529 Mon Sep 17 00:00:00 2001
From: Dennis Gilmore <dennis@ausil.us>
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 <dennis@ausil.us>
---
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