def METHOD_NAME(self, scope, func, *args, **kwds):
    """Leak-check 'func', given args and kwds"""
    import gc
  # if tmpl_args is provided as a keyword, then this is a templated
  # function that is to be found on each call python-side
    tmpl_args = kwds.pop('tmpl_args', None)
  # warmup function (TOOD: why doesn't once suffice?)
    for i in range(8):   # actually, 2 seems to be enough
        if tmpl_args is None:
            getattr(scope, func)(*args, **kwds)
        else:
            getattr(scope, func)[tmpl_args](*args, **kwds)
  # number of iterations
    N = 100000
  # leak check
    gc.collect()
    last = self.process.memory_info().rss
    if tmpl_args is None:
        self.runit(N, scope, func, *args, **kwds)
    else:
        self.runit_template(N, scope, func, tmpl_args, *args, **kwds)
    gc.collect()
    assert last == self.process.memory_info().rss