Mercurial > public > mercurial-scm > hg-stable
view tests/test-hgwebdir-paths.py @ 50174:eedbf8256263
dirstate: use `cachestat` object for dirstatemap identity
There is a class dedicated to this kind of cache check, let us use it.
We will generalize this code in the next changesets, but we do the "behavior
changing" pass on our own.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Wed, 22 Feb 2023 00:53:51 +0100 |
parents | 6000f5b25c9b |
children |
line wrap: on
line source
import os from mercurial import ( hg, ui as uimod, ) from mercurial.hgweb import hgwebdir_mod hgwebdir = hgwebdir_mod.hgwebdir os.mkdir(b'webdir') os.chdir(b'webdir') webdir = os.path.realpath(b'.') u = uimod.ui.load() hg.repository(u, b'a', create=1) hg.repository(u, b'b', create=1) os.chdir(b'b') hg.repository(u, b'd', create=1) os.chdir(b'..') hg.repository(u, b'c', create=1) os.chdir(b'..') paths = { b't/a/': b'%s/a' % webdir, b'b': b'%s/b' % webdir, b'coll': b'%s/*' % webdir, b'rcoll': b'%s/**' % webdir, } config = os.path.join(webdir, b'hgwebdir.conf') configfile = open(config, 'wb') configfile.write(b'[paths]\n') for k, v in paths.items(): configfile.write(b'%s = %s\n' % (k, v)) configfile.close() confwd = hgwebdir(config) dictwd = hgwebdir(paths) assert len(confwd.repos) == len(dictwd.repos), 'different numbers' assert len(confwd.repos) == 9, 'expected 9 repos, found %d' % len(confwd.repos) found = dict(confwd.repos) for key, path in dictwd.repos: assert key in found, 'repository %s was not found' % key assert found[key] == path, 'different paths for repo %s' % key