diff --git a/Doc/lib/libos.tex b/Doc/lib/libos.tex index 60657255afb..669cc8f8161 100644 --- a/Doc/lib/libos.tex +++ b/Doc/lib/libos.tex @@ -1012,6 +1012,9 @@ objects. If newval is True, future calls to stat() return floats, if it is False, future calls return ints. If newval is omitted, return the current setting. +For compatibility with older Python versions, accessing +\class{stat_result} as a tuple always returns integers. + \versionchanged[Python now returns float values by default. Applications which do not work correctly with floating point time stamps can use this function to restore the old behaviour]{2.5} diff --git a/Lib/test/test_os.py b/Lib/test/test_os.py index 25fad18a2aa..472d13fd092 100644 --- a/Lib/test/test_os.py +++ b/Lib/test/test_os.py @@ -111,7 +111,11 @@ class StatAttributeTests(unittest.TestCase): for name in dir(stat): if name[:3] == 'ST_': attr = name.lower() - self.assertEquals(getattr(result, attr), + if name.endswith("TIME"): + def trunc(x): return int(x) + else: + def trunc(x): return x + self.assertEquals(trunc(getattr(result, attr)), result[getattr(stat, name)]) self.assert_(attr in members) diff --git a/Misc/NEWS b/Misc/NEWS index ec8570b5045..cad22cd561d 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -151,6 +151,7 @@ C API Tests ----- +- In test_os, st_?time is now truncated before comparing it with ST_?TIME. Mac ---