[issue19715] test_touch_common failure under Windows

Martin v. Löwis report at bugs.python.org
Fri Nov 22 22:17:18 CET 2013


Martin v. Löwis added the comment:

I think I found the problem. In one run, the current time (as reported by time.time()) was

1385154213.291315

On the first touch call (in step 1), the file is not there, and gets its current time internally from the system (not sure which part exactly assigns the time stamp). The resulting nanosecond/dwLowDateTime was

291315800 1303049222

Then, the utime call in step 4 asked to set this to 

291315078 1303049214

When reading the timestamp back, I get

291315000 1303049214

So in analysis/interpretation
A) the time.time() is apparently 712ns earlier than the system time (plus NTFS needs to round to the next multiple of 100ns)
B) when setting the time, the requested nanoseconds isn't exactly representable, so it rounds down 78ns.
C) as a consequence, the newer timestamp is 800ns before the old one.

----------

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue19715>
_______________________________________


More information about the Python-bugs-list mailing list