cext: fix Python 3.11 compatibility - Py_SIZE is not an lvalue (issue6610)
Py_SIZE was made a static inline function during Python 3.10 development, as
described on https://vstinner.github.io/c-api-opaque-structures.html .
e92ca942ddca updated the Mercurial code base accordingly, but somehow missed a
couple of cases introduced long time ago in a8c948ee3668.
The Python change was dropped for 3.10, but is coming back again in 3.11 .
from __future__ import absolute_import
import os
import time
class mocktime(object):
def __init__(self, increment):
self.time = 0
self.increment = [float(s) for s in increment.split()]
self.pos = 0
def __call__(self):
self.time += self.increment[self.pos % len(self.increment)]
self.pos += 1
return self.time
def uisetup(ui):
time.time = mocktime(os.environ.get('MOCKTIME', '0.1'))