mirror of
https://github.com/saltstack/salt.git
synced 2025-04-17 10:10:20 +00:00
Ensure SaltStackVersion attributes in _version.py correct
This commit is contained in:
parent
39cdf5382d
commit
0cbf6d3246
3 changed files with 63 additions and 5 deletions
|
@ -241,7 +241,10 @@ class SaltStackVersion(object):
|
|||
if bugfix is None and not self.new_version(major=major):
|
||||
bugfix = 0
|
||||
elif isinstance(bugfix, string_types):
|
||||
bugfix = int(bugfix)
|
||||
if not bugfix:
|
||||
bugfix = None
|
||||
else:
|
||||
bugfix = int(bugfix)
|
||||
|
||||
if mbugfix is None:
|
||||
mbugfix = 0
|
||||
|
@ -362,6 +365,23 @@ class SaltStackVersion(object):
|
|||
self.sha])
|
||||
return tuple(info)
|
||||
|
||||
@property
|
||||
def full_info_all_versions(self):
|
||||
'''
|
||||
Return the full info regardless
|
||||
of which versioning scheme we
|
||||
are using.
|
||||
'''
|
||||
info = [self.major,
|
||||
self.minor,
|
||||
self.bugfix,
|
||||
self.mbugfix,
|
||||
self.pre_type,
|
||||
self.pre_num,
|
||||
self.noc,
|
||||
self.sha]
|
||||
return tuple(info)
|
||||
|
||||
@property
|
||||
def string(self):
|
||||
if self.new_version(self.major):
|
||||
|
@ -477,8 +497,16 @@ class SaltStackVersion(object):
|
|||
parts.extend([
|
||||
'major={0}'.format(self.major),
|
||||
'minor={0}'.format(self.minor),
|
||||
'bugfix={0}'.format(self.bugfix)
|
||||
])
|
||||
])
|
||||
|
||||
if self.new_version(self.major):
|
||||
if not self.minor:
|
||||
parts.remove(''.join([x for x in parts if re.search('^minor*', x)]))
|
||||
else:
|
||||
parts.extend([
|
||||
'bugfix={0}'.format(self.bugfix)
|
||||
])
|
||||
|
||||
if self.mbugfix:
|
||||
parts.append('minor-bugfix={0}'.format(self.mbugfix))
|
||||
if self.pre_type:
|
||||
|
|
2
setup.py
2
setup.py
|
@ -256,7 +256,7 @@ class WriteSaltVersion(Command):
|
|||
open(self.distribution.salt_version_hardcoded_path, 'w').write(
|
||||
INSTALL_VERSION_TEMPLATE.format(
|
||||
date=DATE,
|
||||
full_version_info=salt_version.full_info
|
||||
full_version_info=salt_version.full_info_all_versions
|
||||
)
|
||||
)
|
||||
# pylint: enable=E0602
|
||||
|
|
|
@ -42,7 +42,8 @@ class VersionTestCase(TestCase):
|
|||
('v4518.1', (4518, 1, '', 0, 0, None), '4518.1'),
|
||||
('v3000rc1', (3000, 'rc', 1, 0, None), '3000rc1'),
|
||||
('v3000rc1-n/a-abcdefff', (3000, 'rc', 1, -1, 'abcdefff'), None),
|
||||
('3000-n/a-1e7bc8f', (3000, '', 0, -1, '1e7bc8f'), None)
|
||||
('3000-n/a-1e7bc8f', (3000, '', 0, -1, '1e7bc8f'), None),
|
||||
('3000.1-n/a-1e7bc8f', (3000, 1, '', 0, -1, '1e7bc8f'), None),
|
||||
|
||||
)
|
||||
|
||||
|
@ -221,6 +222,26 @@ class VersionTestCase(TestCase):
|
|||
assert saltstack_version.full_info, full_info
|
||||
assert len(saltstack_version.full_info) == len(full_info)
|
||||
|
||||
def test_full_info_all_versions(self):
|
||||
'''
|
||||
Test full_info_all_versions property method
|
||||
'''
|
||||
expect = (
|
||||
('v2014.1.4.1rc3-n/a-abcdefff', (2014, 1, 4, 1, 'rc', 3, -1, 'abcdefff')),
|
||||
('v3.4.1.1', (3, 4, 1, 1, '', 0, 0, None)),
|
||||
('v3000', (3000, None, None, 0, '', 0, 0, None)),
|
||||
('v3000.0', (3000, 0, None, 0, '', 0, 0, None)),
|
||||
('v4518.1', (4518, 1, None, 0, '', 0, 0, None)),
|
||||
('v3000rc1', (3000, None, None, 0, 'rc', 2, 0, None)),
|
||||
('v3000rc1-n/a-abcdefff', (3000, None, None, 0, 'rc', 1, -1, 'abcdefff')),
|
||||
|
||||
)
|
||||
|
||||
for vstr, full_info in expect:
|
||||
saltstack_version = SaltStackVersion.parse(vstr)
|
||||
assert saltstack_version.full_info_all_versions, full_info
|
||||
assert len(saltstack_version.full_info_all_versions) == len(full_info)
|
||||
|
||||
def test_discover_version(self):
|
||||
'''
|
||||
Test call to __discover_version
|
||||
|
@ -275,3 +296,12 @@ class VersionTestCase(TestCase):
|
|||
assert ver.info == (maj_ver, min_ver, 0, 0)
|
||||
else:
|
||||
assert ver.info == (maj_ver, min_ver, bug_fix, 0)
|
||||
|
||||
def test_bugfix_string(self):
|
||||
'''
|
||||
test when bugfix is an empty string
|
||||
'''
|
||||
ret = SaltStackVersion(3000, 1, '', 0, 0, None)
|
||||
assert ret.info == (3000, 1)
|
||||
assert ret.minor == 1
|
||||
assert ret.bugfix is None
|
||||
|
|
Loading…
Add table
Reference in a new issue