# HG changeset patch # User Augie Fackler # Date 1223471671 18000 # Node ID f4c751037a4a112307b12bcba9f862f65becbdb0 # Parent 31aa63ac778c6f5d703bc5c2c6959eee6768ddaa Add a quick test for diff-based pull. diff --git a/tests/test_fetch_command.py b/tests/test_fetch_command.py --- a/tests/test_fetch_command.py +++ b/tests/test_fetch_command.py @@ -10,6 +10,7 @@ from mercurial import node import fetch_command import test_util + class TestBasicRepoLayout(unittest.TestCase): def setUp(self): self.oldwd = os.getcwd() @@ -78,5 +79,40 @@ class TestBasicRepoLayout(unittest.TestC self.assertEqual(repo['tip'], repo['default']) self.assertEqual(len(repo.heads()), 2) + +class TestStupidPull(unittest.TestCase): + def setUp(self): + self.oldwd = os.getcwd() + self.tmpdir = tempfile.mkdtemp('svnwrap_test') + self.repo_path = '%s/testrepo' % self.tmpdir + self.wc_path = '%s/testrepo_wc' % self.tmpdir + + def tearDown(self): + shutil.rmtree(self.tmpdir) + os.chdir(self.oldwd) + + def test_stupid(self): + test_util.load_svndump_fixture(self.repo_path, 'two_heads.svndump') + fetch_command.fetch_revisions(ui.ui(), + svn_url='file://%s' % self.repo_path, + hg_repo_path=self.wc_path, + stupid=True) + repo = hg.repository(ui.ui(), self.wc_path) + # TODO there must be a better way than repo[0] for this check + self.assertEqual(node.hex(repo[0].node()), + 'a47d0ce778660a91c31bf2c21c448e9ee296ac90') + self.assertEqual(node.hex(repo['tip'].node()), + 'a595c77cfcaa3d1ba9e04b2c55c68bc6bf2b0fbf') + self.assertEqual(node.hex(repo['the_branch'].node()), + '8ccaba5f0eae124487e413abd904a013f7f6fdeb') + self.assertEqual(node.hex(repo['the_branch'].parents()[0].node()), + '9dfb0a19494f45c36e22f3c6d1b21d80638a7f6e') + self.assertEqual(len(repo['tip'].parents()), 1) + self.assertEqual(repo['tip'], repo['default']) + self.assertEqual(len(repo.heads()), 2) + def suite(): - return unittest.TestLoader().loadTestsFromTestCase(TestBasicRepoLayout) + all = [unittest.TestLoader().loadTestsFromTestCase(TestBasicRepoLayout), + unittest.TestLoader().loadTestsFromTestCase(TestStupidPull), + ] + return unittest.TestSuite(all)