Mercurial > hgsubversion
annotate tests/test_pull.py @ 866:20e73b5ab6f7
test_util: merge load_svndump_fixture() into TestBase
author | Patrick Mezard <patrick@mezard.eu> |
---|---|
date | Thu, 19 Apr 2012 18:29:28 +0200 |
parents | 04729f3a3d17 |
children | cc1c870f1758 |
rev | line source |
---|---|
283
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
1 import test_util |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
2 |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
3 import os.path |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
4 import subprocess |
821
f28e0f54a6ef
svnmeta: store youngest revision pulled from subversion
Augie Fackler <durin42@gmail.com>
parents:
812
diff
changeset
|
5 from mercurial import node |
283
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
6 from mercurial import ui |
331
75f082b5897e
Switch to using url scheme wrappers instead of duplicating each command we wrap.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
283
diff
changeset
|
7 from mercurial import util as hgutil |
75f082b5897e
Switch to using url scheme wrappers instead of duplicating each command we wrap.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
283
diff
changeset
|
8 from mercurial import commands |
283
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
9 |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
10 class TestPull(test_util.TestBase): |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
11 def setUp(self): |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
12 super(TestPull, self).setUp() |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
13 |
865
04729f3a3d17
test_util: merge load_fixture_and_fetch() into TestBase method
Patrick Mezard <patrick@mezard.eu>
parents:
821
diff
changeset
|
14 def _loadupdate(self, fixture_name): |
04729f3a3d17
test_util: merge load_fixture_and_fetch() into TestBase method
Patrick Mezard <patrick@mezard.eu>
parents:
821
diff
changeset
|
15 return self._load_fixture_and_fetch(fixture_name, stupid=False, |
04729f3a3d17
test_util: merge load_fixture_and_fetch() into TestBase method
Patrick Mezard <patrick@mezard.eu>
parents:
821
diff
changeset
|
16 noupdate=False) |
283
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
17 |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
18 def test_nochanges(self): |
865
04729f3a3d17
test_util: merge load_fixture_and_fetch() into TestBase method
Patrick Mezard <patrick@mezard.eu>
parents:
821
diff
changeset
|
19 self._loadupdate('single_rev.svndump') |
331
75f082b5897e
Switch to using url scheme wrappers instead of duplicating each command we wrap.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
283
diff
changeset
|
20 state = self.repo.parents() |
75f082b5897e
Switch to using url scheme wrappers instead of duplicating each command we wrap.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
283
diff
changeset
|
21 commands.pull(self.repo.ui, self.repo) |
75f082b5897e
Switch to using url scheme wrappers instead of duplicating each command we wrap.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
283
diff
changeset
|
22 self.assertEqual(state, self.repo.parents()) |
283
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
23 |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
24 def test_onerevision_noupdate(self): |
865
04729f3a3d17
test_util: merge load_fixture_and_fetch() into TestBase method
Patrick Mezard <patrick@mezard.eu>
parents:
821
diff
changeset
|
25 repo = self._loadupdate('single_rev.svndump') |
283
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
26 state = repo.parents() |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
27 self._add_svn_rev({'trunk/alpha': 'Changed'}) |
331
75f082b5897e
Switch to using url scheme wrappers instead of duplicating each command we wrap.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
283
diff
changeset
|
28 commands.pull(self.repo.ui, repo) |
283
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
29 self.assertEqual(state, repo.parents()) |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
30 self.assertTrue('tip' not in repo[None].tags()) |
808
b64173a27ce8
test_pull: clean up whitespace
Augie Fackler <durin42@gmail.com>
parents:
689
diff
changeset
|
31 |
283
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
32 def test_onerevision_doupdate(self): |
865
04729f3a3d17
test_util: merge load_fixture_and_fetch() into TestBase method
Patrick Mezard <patrick@mezard.eu>
parents:
821
diff
changeset
|
33 repo = self._loadupdate('single_rev.svndump') |
283
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
34 state = repo.parents() |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
35 self._add_svn_rev({'trunk/alpha': 'Changed'}) |
331
75f082b5897e
Switch to using url scheme wrappers instead of duplicating each command we wrap.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
283
diff
changeset
|
36 commands.pull(self.repo.ui, repo, update=True) |
283
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
37 self.failIfEqual(state, repo.parents()) |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
38 self.assertTrue('tip' in repo[None].tags()) |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
39 |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
40 def test_onerevision_divergent(self): |
865
04729f3a3d17
test_util: merge load_fixture_and_fetch() into TestBase method
Patrick Mezard <patrick@mezard.eu>
parents:
821
diff
changeset
|
41 repo = self._loadupdate('single_rev.svndump') |
283
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
42 self.commitchanges((('alpha', 'alpha', 'Changed another way'),)) |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
43 state = repo.parents() |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
44 self._add_svn_rev({'trunk/alpha': 'Changed one way'}) |
812
8c7447b4b004
test_pull: commands.pull() no longer aborts when crossing branches
Patrick Mezard <pmezard@gmail.com>
parents:
808
diff
changeset
|
45 try: |
8c7447b4b004
test_pull: commands.pull() no longer aborts when crossing branches
Patrick Mezard <pmezard@gmail.com>
parents:
808
diff
changeset
|
46 commands.pull(self.repo.ui, repo, update=True) |
8c7447b4b004
test_pull: commands.pull() no longer aborts when crossing branches
Patrick Mezard <pmezard@gmail.com>
parents:
808
diff
changeset
|
47 except hgutil.Abort: |
8c7447b4b004
test_pull: commands.pull() no longer aborts when crossing branches
Patrick Mezard <pmezard@gmail.com>
parents:
808
diff
changeset
|
48 # hg < 1.9 raised when crossing branches |
8c7447b4b004
test_pull: commands.pull() no longer aborts when crossing branches
Patrick Mezard <pmezard@gmail.com>
parents:
808
diff
changeset
|
49 pass |
283
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
50 self.assertEqual(state, repo.parents()) |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
51 self.assertTrue('tip' not in repo[None].tags()) |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
52 self.assertEqual(len(repo.heads()), 2) |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
53 |
821
f28e0f54a6ef
svnmeta: store youngest revision pulled from subversion
Augie Fackler <durin42@gmail.com>
parents:
812
diff
changeset
|
54 def test_tag_repull_doesnt_happen(self): |
865
04729f3a3d17
test_util: merge load_fixture_and_fetch() into TestBase method
Patrick Mezard <patrick@mezard.eu>
parents:
821
diff
changeset
|
55 repo = self._loadupdate('branchtagcollision.svndump') |
821
f28e0f54a6ef
svnmeta: store youngest revision pulled from subversion
Augie Fackler <durin42@gmail.com>
parents:
812
diff
changeset
|
56 oldheads = map(node.hex, repo.heads()) |
f28e0f54a6ef
svnmeta: store youngest revision pulled from subversion
Augie Fackler <durin42@gmail.com>
parents:
812
diff
changeset
|
57 commands.pull(repo.ui, repo) |
f28e0f54a6ef
svnmeta: store youngest revision pulled from subversion
Augie Fackler <durin42@gmail.com>
parents:
812
diff
changeset
|
58 self.assertEqual(oldheads, map(node.hex, repo.heads())) |
f28e0f54a6ef
svnmeta: store youngest revision pulled from subversion
Augie Fackler <durin42@gmail.com>
parents:
812
diff
changeset
|
59 |
283
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
60 def suite(): |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
61 import unittest, sys |
521d9c1bb11d
Implement -u/--update support when pulling.
Martijn Pieters <mj@zopatista.com>
parents:
diff
changeset
|
62 return unittest.findTestCases(sys.modules[__name__]) |