• Kirill Smelkov's avatar
    wcfs: tests: Fix thinko in how py vs go timestamps are asserted · d2606663
    Kirill Smelkov authored
    When verifying WCFS we are checking that mtime of particular bigfile
    corresponds to last transaction that modified its data. However there is
    a peculiarity that py and go construct time from TID a bit differently
    with the difference going up to 1µs(*). With that wcfs_test.py, when
    asserting on timestamps, tries to verify mtime returned by wcfs to tid
    of corresponding transaction with that 1µs of tolerance.
    
    There is a bug, however, in the implementation of tolerance logic. In
    that logic, when tid is converted to timestamp on py side it is rounded to
    6th decimal digit. And it used to work on py2 only due to the fact that
    on py2 current time is measured to that same 6th decimal digit - to the
    microsecond precision. That fact is relevant here because ZODB
    constructs transaction IDs from current time, and if the time precision
    is only 1µs so will tid, when converted back to time, also have that 1µs
    precision.
    
    However py3, after https://githu...
    d2606663