Mercurial > hgsubversion
view tests/test_svnwrap.py @ 1471:6bc2a2f61923
svnmeta: add a config option to use sqlite revmap
This patch adds a config option to choose the revmap implementation.
It's "plain" by default and can be set to "sqlite". The sqlite implementation
will migrate data from the plain revmap while the "plain" implementation will
complain if it sees the sqlite revmap.
A class variable is added for setting the default revmap implementation,
which is useful for testing.
author | Jun Wu <quark@fb.com> |
---|---|
date | Wed, 15 Jun 2016 17:17:56 +0100 |
parents | 019c3e194fba |
children |
line wrap: on
line source
import test_util import os import subprocess import tempfile import unittest from hgsubversion import svnwrap class TestBasicRepoLayout(unittest.TestCase): def setUp(self): self.tmpdir = tempfile.mkdtemp('svnwrap_test') self.repo_path = '%s/testrepo' % self.tmpdir with open(os.path.join(test_util.FIXTURES, 'project_root_at_repo_root.svndump')) as fp: svnwrap.create_and_load(self.repo_path, fp) self.repo = svnwrap.SubversionRepo(test_util.fileurl(self.repo_path)) def tearDown(self): del self.repo test_util.rmtree(self.tmpdir) def test_num_revs(self): revs = list(self.repo.revisions()) self.assertEqual(len(revs), 7) r = revs[1] self.assertEqual(r.revnum, 2) self.assertEqual(sorted(r.paths.keys()), ['trunk/alpha', 'trunk/beta', 'trunk/delta']) for r in revs: for p in r.paths: # make sure these paths are always non-absolute for sanity if p: assert p[0] != '/' revs = list(self.repo.revisions(start=3)) self.assertEqual(len(revs), 4) class TestRootAsSubdirOfRepo(TestBasicRepoLayout): def setUp(self): self.tmpdir = tempfile.mkdtemp('svnwrap_test') self.repo_path = '%s/testrepo' % self.tmpdir subprocess.call(['svnadmin', 'create', self.repo_path, ]) inp = open(os.path.join(os.path.dirname(__file__), 'fixtures', 'project_root_not_repo_root.svndump')) ret = subprocess.call(['svnadmin', 'load', self.repo_path, ], stdin=inp, close_fds=test_util.canCloseFds, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) assert ret == 0 self.repo = svnwrap.SubversionRepo(test_util.fileurl( self.repo_path + '/dummyproj' ))