Mercurial > hgsubversion
comparison tests/test_fetch_command.py @ 21:8626f3d2e50b
Add a small stack of tests that exercise some of the interesting special cases.
author | Augie Fackler <durin42@gmail.com> |
---|---|
date | Wed, 08 Oct 2008 18:17:29 -0500 |
parents | f4c751037a4a |
children | 95d0109e495e |
comparison
equal
deleted
inserted
replaced
20:2953c867ca99 | 21:8626f3d2e50b |
---|---|
22 shutil.rmtree(self.tmpdir) | 22 shutil.rmtree(self.tmpdir) |
23 os.chdir(self.oldwd) | 23 os.chdir(self.oldwd) |
24 | 24 |
25 def test_fresh_fetch_single_rev(self): | 25 def test_fresh_fetch_single_rev(self): |
26 test_util.load_svndump_fixture(self.repo_path, 'single_rev.svndump') | 26 test_util.load_svndump_fixture(self.repo_path, 'single_rev.svndump') |
27 fetch_command.fetch_revisions(ui.ui(), | 27 fetch_command.fetch_revisions(ui.ui(), |
28 svn_url='file://%s' % self.repo_path, | 28 svn_url='file://%s' % self.repo_path, |
29 hg_repo_path=self.wc_path) | 29 hg_repo_path=self.wc_path) |
30 repo = hg.repository(ui.ui(), self.wc_path) | 30 repo = hg.repository(ui.ui(), self.wc_path) |
31 self.assertEqual(node.hex(repo['tip'].node()), | 31 self.assertEqual(node.hex(repo['tip'].node()), |
32 'a47d0ce778660a91c31bf2c21c448e9ee296ac90') | 32 'a47d0ce778660a91c31bf2c21c448e9ee296ac90') |
33 self.assertEqual(repo['tip'], repo[0]) | 33 self.assertEqual(repo['tip'], repo[0]) |
34 | 34 |
35 def test_fresh_fetch_two_revs(self): | 35 def test_fresh_fetch_two_revs(self): |
36 test_util.load_svndump_fixture(self.repo_path, 'two_revs.svndump') | 36 test_util.load_svndump_fixture(self.repo_path, 'two_revs.svndump') |
37 fetch_command.fetch_revisions(ui.ui(), | 37 fetch_command.fetch_revisions(ui.ui(), |
38 svn_url='file://%s' % self.repo_path, | 38 svn_url='file://%s' % self.repo_path, |
39 hg_repo_path=self.wc_path) | 39 hg_repo_path=self.wc_path) |
40 repo = hg.repository(ui.ui(), self.wc_path) | 40 repo = hg.repository(ui.ui(), self.wc_path) |
41 # TODO there must be a better way than repo[0] for this check | 41 # TODO there must be a better way than repo[0] for this check |
42 self.assertEqual(node.hex(repo[0].node()), | 42 self.assertEqual(node.hex(repo[0].node()), |
43 'a47d0ce778660a91c31bf2c21c448e9ee296ac90') | 43 'a47d0ce778660a91c31bf2c21c448e9ee296ac90') |
45 'bf3767835b3b32ecc775a298c2fa27134dd91c11') | 45 'bf3767835b3b32ecc775a298c2fa27134dd91c11') |
46 self.assertEqual(repo['tip'], repo[1]) | 46 self.assertEqual(repo['tip'], repo[1]) |
47 | 47 |
48 def test_branches(self): | 48 def test_branches(self): |
49 test_util.load_svndump_fixture(self.repo_path, 'simple_branch.svndump') | 49 test_util.load_svndump_fixture(self.repo_path, 'simple_branch.svndump') |
50 fetch_command.fetch_revisions(ui.ui(), | 50 fetch_command.fetch_revisions(ui.ui(), |
51 svn_url='file://%s' % self.repo_path, | 51 svn_url='file://%s' % self.repo_path, |
52 hg_repo_path=self.wc_path) | 52 hg_repo_path=self.wc_path) |
53 repo = hg.repository(ui.ui(), self.wc_path) | 53 repo = hg.repository(ui.ui(), self.wc_path) |
54 # TODO there must be a better way than repo[0] for this check | 54 # TODO there must be a better way than repo[0] for this check |
55 self.assertEqual(node.hex(repo[0].node()), | 55 self.assertEqual(node.hex(repo[0].node()), |
56 'a47d0ce778660a91c31bf2c21c448e9ee296ac90') | 56 'a47d0ce778660a91c31bf2c21c448e9ee296ac90') |
60 self.assertEqual(repo['tip'].parents()[0], repo['default']) | 60 self.assertEqual(repo['tip'].parents()[0], repo['default']) |
61 self.assertEqual(len(repo.heads()), 1) | 61 self.assertEqual(len(repo.heads()), 1) |
62 | 62 |
63 def test_two_branches_with_heads(self): | 63 def test_two_branches_with_heads(self): |
64 test_util.load_svndump_fixture(self.repo_path, 'two_heads.svndump') | 64 test_util.load_svndump_fixture(self.repo_path, 'two_heads.svndump') |
65 fetch_command.fetch_revisions(ui.ui(), | 65 fetch_command.fetch_revisions(ui.ui(), |
66 svn_url='file://%s' % self.repo_path, | 66 svn_url='file://%s' % self.repo_path, |
67 hg_repo_path=self.wc_path) | 67 hg_repo_path=self.wc_path) |
68 repo = hg.repository(ui.ui(), self.wc_path) | 68 repo = hg.repository(ui.ui(), self.wc_path) |
69 # TODO there must be a better way than repo[0] for this check | 69 # TODO there must be a better way than repo[0] for this check |
70 self.assertEqual(node.hex(repo[0].node()), | 70 self.assertEqual(node.hex(repo[0].node()), |
71 'a47d0ce778660a91c31bf2c21c448e9ee296ac90') | 71 'a47d0ce778660a91c31bf2c21c448e9ee296ac90') |
77 '9dfb0a19494f45c36e22f3c6d1b21d80638a7f6e') | 77 '9dfb0a19494f45c36e22f3c6d1b21d80638a7f6e') |
78 self.assertEqual(len(repo['tip'].parents()), 1) | 78 self.assertEqual(len(repo['tip'].parents()), 1) |
79 self.assertEqual(repo['tip'], repo['default']) | 79 self.assertEqual(repo['tip'], repo['default']) |
80 self.assertEqual(len(repo.heads()), 2) | 80 self.assertEqual(len(repo.heads()), 2) |
81 | 81 |
82 def test_many_special_cases_replay(self): | |
83 test_util.load_svndump_fixture(self.repo_path, | |
84 'many_special_cases.svndump') | |
85 fetch_command.fetch_revisions(ui.ui(), | |
86 svn_url='file://%s' % self.repo_path, | |
87 hg_repo_path=self.wc_path) | |
88 repo = hg.repository(ui.ui(), self.wc_path) | |
89 # TODO there must be a better way than repo[0] for this check | |
90 self._many_special_cases_checks(repo) | |
91 | |
92 | |
93 def test_many_special_cases_diff(self): | |
94 test_util.load_svndump_fixture(self.repo_path, | |
95 'many_special_cases.svndump') | |
96 fetch_command.fetch_revisions(ui.ui(), | |
97 svn_url='file://%s' % self.repo_path, | |
98 hg_repo_path=self.wc_path, | |
99 stupid = True) | |
100 repo = hg.repository(ui.ui(), self.wc_path) | |
101 # TODO there must be a better way than repo[0] for this check | |
102 self._many_special_cases_checks(repo) | |
103 | |
104 def _many_special_cases_checks(self, repo): | |
105 self.assertEqual(node.hex(repo[0].node()), | |
106 'a47d0ce778660a91c31bf2c21c448e9ee296ac90') | |
107 self.assertEqual(node.hex(repo['tip'].node()), | |
108 'a7742757189db8aea5f4c6721cbbfb1a09f00ddf') | |
109 self.assertEqual(node.hex(repo['the_branch'].node()), | |
110 '8ccaba5f0eae124487e413abd904a013f7f6fdeb') | |
111 self.assertEqual(node.hex(repo['the_branch'].parents()[0].node()), | |
112 '9dfb0a19494f45c36e22f3c6d1b21d80638a7f6e') | |
113 self.assertEqual(len(repo['tip'].parents()), 1) | |
114 self.assertEqual(repo['tip'], repo['default']) | |
115 self.assertEqual(len(repo.heads()), 2) | |
116 | |
117 | |
118 | |
82 | 119 |
83 class TestStupidPull(unittest.TestCase): | 120 class TestStupidPull(unittest.TestCase): |
84 def setUp(self): | 121 def setUp(self): |
85 self.oldwd = os.getcwd() | 122 self.oldwd = os.getcwd() |
86 self.tmpdir = tempfile.mkdtemp('svnwrap_test') | 123 self.tmpdir = tempfile.mkdtemp('svnwrap_test') |
91 shutil.rmtree(self.tmpdir) | 128 shutil.rmtree(self.tmpdir) |
92 os.chdir(self.oldwd) | 129 os.chdir(self.oldwd) |
93 | 130 |
94 def test_stupid(self): | 131 def test_stupid(self): |
95 test_util.load_svndump_fixture(self.repo_path, 'two_heads.svndump') | 132 test_util.load_svndump_fixture(self.repo_path, 'two_heads.svndump') |
96 fetch_command.fetch_revisions(ui.ui(), | 133 fetch_command.fetch_revisions(ui.ui(), |
97 svn_url='file://%s' % self.repo_path, | 134 svn_url='file://%s' % self.repo_path, |
98 hg_repo_path=self.wc_path, | 135 hg_repo_path=self.wc_path, |
99 stupid=True) | 136 stupid=True) |
100 repo = hg.repository(ui.ui(), self.wc_path) | 137 repo = hg.repository(ui.ui(), self.wc_path) |
101 # TODO there must be a better way than repo[0] for this check | 138 # TODO there must be a better way than repo[0] for this check |
102 self.assertEqual(node.hex(repo[0].node()), | 139 self.assertEqual(node.hex(repo[0].node()), |