diff --git a/lib/utils.py b/lib/utils.py index a861d7363da3593a05d26783f0be8670e847721c..8affd828cc2c3e31c765d2914f88f006bb2a29ee 100644 --- a/lib/utils.py +++ b/lib/utils.py @@ -1176,6 +1176,7 @@ def SplitTime(seconds): @return: Tuple containing (seconds, milliseconds) """ + seconds = round(seconds, 3) (seconds, fraction) = divmod(seconds, 1.0) return (int(seconds), int(round(fraction * 1000, 0))) diff --git a/test/ganeti.utils_unittest.py b/test/ganeti.utils_unittest.py index 9ebcebc5233e33d3743b8dcd8d4a9702460cd4b9..d190111ff776b226744e467758c32947b417b373 100755 --- a/test/ganeti.utils_unittest.py +++ b/test/ganeti.utils_unittest.py @@ -785,6 +785,9 @@ class TestTimeFunctions(unittest.TestCase): self.assertEqual(utils.SplitTime(1), (1, 0)) self.assertEqual(utils.SplitTime(1.5), (1, 500)) self.assertEqual(utils.SplitTime(1218448917.4809151), (1218448917, 481)) + self.assertEqual(utils.SplitTime(123.48012), (123, 480)) + self.assertEqual(utils.SplitTime(123.9995), (124, 0)) + self.assertEqual(utils.SplitTime(123.999999999), (124, 0)) self.assertEqual(utils.MergeTime((1, 0)), 1.0) self.assertEqual(utils.MergeTime((1, 500)), 1.5)