diff tests/test_fetch_command.py @ 18:f4c751037a4a

Add a quick test for diff-based pull.
author Augie Fackler <durin42@gmail.com>
date Wed, 08 Oct 2008 08:14:31 -0500
parents 48a44546c12f
children 8626f3d2e50b
line wrap: on
line diff
--- 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)