Merge pull request #33875 from sangoma/correct_map_diff

Fix naive fileserver map diff algorithm
This commit is contained in:
Mike Place 2016-07-27 13:14:49 -06:00 committed by GitHub
commit 7956dbe568
3 changed files with 36 additions and 2 deletions

View File

@ -200,11 +200,15 @@ def diff_mtime_map(map1, map2):
'''
# check if the mtimes are the same
if sorted(map1) != sorted(map2):
#log.debug('diff_mtime_map: the maps are different')
return True
# map1 and map2 are guaranteed to have same keys,
# so compare mtimes
for filename, mtime in map1.iteritems():
if map2[filename] != mtime:
return True
# we made it, that means we have no changes
#log.debug('diff_mtime_map: the maps are the same')
return False

View File

View File

@ -0,0 +1,30 @@
# -*- coding: utf-8 -*-
'''
:codeauthor: :email:`Joao Mesquita <jmesquita@sangoma.com>`
'''
# Import pytohn libs
from __future__ import absolute_import
# Import Salt Testing libs
from salttesting import TestCase
from salt import fileserver
class MapDiffTestCase(TestCase):
def test_diff_with_diffent_keys(self):
'''
Test that different maps are indeed reported different
'''
map1 = {'file1': 1234}
map2 = {'file2': 1234}
assert fileserver.diff_mtime_map(map1, map2) is True
def test_diff_with_diffent_values(self):
'''
Test that different maps are indeed reported different
'''
map1 = {'file1': 12345}
map2 = {'file1': 1234}
assert fileserver.diff_mtime_map(map1, map2) is True