Mercurial > hgsubversion
view tests/test_fetch_truncated.py @ 1049:608e7c8740af
tests: add a metaclass for testing obsolete mode
We use a metaclass to both make the test code more concise, and more
likely to cover all cases. Typically, someone adding a new fixes will
also add a test, and put it in a class containing similar tests. Going
forward, having that entire class automatically then duplicate its
methods for relevant modes is a plus; a similar approach for stupid
mode already found a few omissions.
author | Dan Villiom Podlaski Christiansen <danchr@gmail.com> |
---|---|
date | Thu, 08 Aug 2013 09:25:24 +0200 |
parents | d741f536f23a |
children | 825fd4c0396c |
line wrap: on
line source
import test_util import unittest from mercurial import commands from mercurial import hg class TestFetchTruncatedHistory(test_util.TestBase): def test_truncated_history(self, stupid=False): # Test repository does not follow the usual layout repo_path = self.load_svndump('truncatedhistory.svndump') svn_url = test_util.fileurl(repo_path + '/project2') commands.clone(self.ui(stupid), svn_url, self.wc_path, noupdate=True) repo = hg.repository(self.ui(stupid), self.wc_path) # We are converting /project2/trunk coming from: # # Changed paths: # D /project1 # A /project2/trunk (from /project1:2) # # Here a full fetch should be performed since we are starting # the conversion on an already filled branch. tip = repo['tip'] files = tip.manifest().keys() files.sort() self.assertEqual(files, ['a', 'b']) self.assertEqual(repo['tip']['a'].data(), 'a\n') def test_truncated_history_stupid(self): self.test_truncated_history(True)