Mercurial > hg
view tests/test-hgwebdir-gc.py @ 51304:d91b55371d6f
git-hgext: adjust to the lack of `changelog.heads` method
We don't have a `heads` method returning nodeid, but this is very easy to get
the same result.
This was flagged by pytype.
We can note that the fact this code did not break is probably a good sign that
it is dead code.
However this is a question outside of the scop of this series.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Tue, 19 Dec 2023 22:54:52 +0100 |
parents | 6000f5b25c9b |
children |
line wrap: on
line source
import os from mercurial.hgweb import hgwebdir_mod hgwebdir = hgwebdir_mod.hgwebdir os.mkdir(b'webdir') os.chdir(b'webdir') webdir = os.path.realpath(b'.') def trivial_response(req, res): return [] def make_hgwebdir(gc_rate=None): config = os.path.join(webdir, b'hgwebdir.conf') with open(config, 'wb') as configfile: configfile.write(b'[experimental]\n') if gc_rate is not None: configfile.write(b'web.full-garbage-collection-rate=%d\n' % gc_rate) hg_wd = hgwebdir(config) hg_wd._runwsgi = trivial_response return hg_wd def process_requests(webdir_instance, number): # we don't care for now about passing realistic arguments for _ in range(number): for chunk in webdir_instance.run_wsgi(None, None): pass without_gc = make_hgwebdir(gc_rate=0) process_requests(without_gc, 5) assert without_gc.requests_count == 5 assert without_gc.gc_full_collections_done == 0 with_gc = make_hgwebdir(gc_rate=2) process_requests(with_gc, 5) assert with_gc.requests_count == 5 assert with_gc.gc_full_collections_done == 2 with_systematic_gc = make_hgwebdir() # default value of the setting process_requests(with_systematic_gc, 3) assert with_systematic_gc.requests_count == 3 assert with_systematic_gc.gc_full_collections_done == 3