Mercurial > hgsubversion
annotate tests/test_utility_commands.py @ 1089:91d061989acc
layouts: correct flubbed __unimplement call in base layout
author | David Schleimer <dschleimer@fb.com> |
---|---|
date | Tue, 06 Aug 2013 14:55:52 -0700 |
parents | 8f3a241b790d |
children | cd0d14e25757 |
rev | line source |
---|---|
643
d2ef7220a079
tests: import test_util as the first module in all relevant tests
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
578
diff
changeset
|
1 import test_util |
d2ef7220a079
tests: import test_util as the first module in all relevant tests
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
578
diff
changeset
|
2 |
149
04800fda7af5
rebase: preserve local branch names.
Augie Fackler <durin42@gmail.com>
parents:
140
diff
changeset
|
3 import os |
153
46f6b872c988
tests: Fix some missing suite definitions so that running the full testsuite
Augie Fackler <durin42@gmail.com>
parents:
149
diff
changeset
|
4 import unittest |
880
d4312a6f7a87
test_utility_commands: test verify command
Patrick Mezard <patrick@mezard.eu>
parents:
867
diff
changeset
|
5 import re |
139
89a737852d33
utility_commands: Add tests for url and info. Fix a bad mock in the process.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
6 |
264
112d57bb736e
rebase: moved to wrappers, now a wrapper around rebase triggered with --svn.
Augie Fackler <durin42@gmail.com>
parents:
257
diff
changeset
|
7 from hgext import rebase |
139
89a737852d33
utility_commands: Add tests for url and info. Fix a bad mock in the process.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
8 from mercurial import hg |
149
04800fda7af5
rebase: preserve local branch names.
Augie Fackler <durin42@gmail.com>
parents:
140
diff
changeset
|
9 from mercurial import revlog |
04800fda7af5
rebase: preserve local branch names.
Augie Fackler <durin42@gmail.com>
parents:
140
diff
changeset
|
10 from mercurial import context |
157
91541523ea5c
utility_commands: Test outgoing and fix it to work again.
Augie Fackler <durin42@gmail.com>
parents:
153
diff
changeset
|
11 from mercurial import node |
347
537de0300510
Remove the 'outgoing' wrapper, and use the Mercurial infrastructure instead.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
337
diff
changeset
|
12 from mercurial import commands |
746
174f03c288d4
svnmeta: abort when no UUID given and none is stored on disk.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
743
diff
changeset
|
13 from mercurial import util as hgutil |
139
89a737852d33
utility_commands: Add tests for url and info. Fix a bad mock in the process.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
14 |
337
46e69be8e2c8
Reorganize to have a more conventional module structure.
Augie Fackler <durin42@gmail.com>
parents:
331
diff
changeset
|
15 from hgsubversion import util |
578
de384e4e0423
merge commands from utility_commands into svncommands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
576
diff
changeset
|
16 from hgsubversion import svncommands |
897
6bc8046e3d0a
move verify to a file of its own
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
892
diff
changeset
|
17 from hgsubversion import verify |
337
46e69be8e2c8
Reorganize to have a more conventional module structure.
Augie Fackler <durin42@gmail.com>
parents:
331
diff
changeset
|
18 from hgsubversion import wrappers |
139
89a737852d33
utility_commands: Add tests for url and info. Fix a bad mock in the process.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
19 |
178
33ebdcb75bcd
test_utility_commands: fix normalized URL references under Windows
Patrick Mezard <pmezard@gmail.com>
parents:
160
diff
changeset
|
20 expected_info_output = '''URL: %(repourl)s/%(branch)s |
33ebdcb75bcd
test_utility_commands: fix normalized URL references under Windows
Patrick Mezard <pmezard@gmail.com>
parents:
160
diff
changeset
|
21 Repository Root: %(repourl)s |
139
89a737852d33
utility_commands: Add tests for url and info. Fix a bad mock in the process.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
22 Repository UUID: df2126f7-00ab-4d49-b42c-7e981dde0bcf |
89a737852d33
utility_commands: Add tests for url and info. Fix a bad mock in the process.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
23 Revision: %(rev)s |
89a737852d33
utility_commands: Add tests for url and info. Fix a bad mock in the process.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
24 Node Kind: directory |
89a737852d33
utility_commands: Add tests for url and info. Fix a bad mock in the process.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
25 Last Changed Author: durin |
89a737852d33
utility_commands: Add tests for url and info. Fix a bad mock in the process.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
26 Last Changed Rev: %(rev)s |
89a737852d33
utility_commands: Add tests for url and info. Fix a bad mock in the process.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
27 Last Changed Date: %(date)s |
89a737852d33
utility_commands: Add tests for url and info. Fix a bad mock in the process.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
28 ''' |
89a737852d33
utility_commands: Add tests for url and info. Fix a bad mock in the process.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
29 |
867
50c13e01c7e3
test_util: add a load_and_fetch() returning the repo_path
Patrick Mezard <patrick@mezard.eu>
parents:
866
diff
changeset
|
30 def repourl(repo_path): |
50c13e01c7e3
test_util: add a load_and_fetch() returning the repo_path
Patrick Mezard <patrick@mezard.eu>
parents:
866
diff
changeset
|
31 return util.normalize_url(test_util.fileurl(repo_path)) |
331
75f082b5897e
Switch to using url scheme wrappers instead of duplicating each command we wrap.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
264
diff
changeset
|
32 |
867
50c13e01c7e3
test_util: add a load_and_fetch() returning the repo_path
Patrick Mezard <patrick@mezard.eu>
parents:
866
diff
changeset
|
33 class UtilityTests(test_util.TestBase): |
1077
8f3a241b790d
test_utility_commands: use stupid mode metaclass
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
1044
diff
changeset
|
34 stupid_mode_tests = True |
8f3a241b790d
test_utility_commands: use stupid mode metaclass
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
1044
diff
changeset
|
35 |
139
89a737852d33
utility_commands: Add tests for url and info. Fix a bad mock in the process.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
36 def test_info_output(self): |
867
50c13e01c7e3
test_util: add a load_and_fetch() returning the repo_path
Patrick Mezard <patrick@mezard.eu>
parents:
866
diff
changeset
|
37 repo, repo_path = self.load_and_fetch('two_heads.svndump') |
139
89a737852d33
utility_commands: Add tests for url and info. Fix a bad mock in the process.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
38 hg.update(self.repo, 'the_branch') |
576
d96aa92d9ad9
tests: silence test suite by using quiet UIs everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
573
diff
changeset
|
39 u = self.ui() |
331
75f082b5897e
Switch to using url scheme wrappers instead of duplicating each command we wrap.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
264
diff
changeset
|
40 u.pushbuffer() |
578
de384e4e0423
merge commands from utility_commands into svncommands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
576
diff
changeset
|
41 svncommands.info(u, self.repo) |
331
75f082b5897e
Switch to using url scheme wrappers instead of duplicating each command we wrap.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
264
diff
changeset
|
42 actual = u.popbuffer() |
139
89a737852d33
utility_commands: Add tests for url and info. Fix a bad mock in the process.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
43 expected = (expected_info_output % |
89a737852d33
utility_commands: Add tests for url and info. Fix a bad mock in the process.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
44 {'date': '2008-10-08 01:39:05 +0000 (Wed, 08 Oct 2008)', |
867
50c13e01c7e3
test_util: add a load_and_fetch() returning the repo_path
Patrick Mezard <patrick@mezard.eu>
parents:
866
diff
changeset
|
45 'repourl': repourl(repo_path), |
139
89a737852d33
utility_commands: Add tests for url and info. Fix a bad mock in the process.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
46 'branch': 'branches/the_branch', |
89a737852d33
utility_commands: Add tests for url and info. Fix a bad mock in the process.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
47 'rev': 5, |
89a737852d33
utility_commands: Add tests for url and info. Fix a bad mock in the process.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
48 }) |
743
045120d3a110
test_utility_commands: use self.assertMultiLineEqual().
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
643
diff
changeset
|
49 self.assertMultiLineEqual(actual, expected) |
139
89a737852d33
utility_commands: Add tests for url and info. Fix a bad mock in the process.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
50 hg.update(self.repo, 'default') |
331
75f082b5897e
Switch to using url scheme wrappers instead of duplicating each command we wrap.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
264
diff
changeset
|
51 u.pushbuffer() |
578
de384e4e0423
merge commands from utility_commands into svncommands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
576
diff
changeset
|
52 svncommands.info(u, self.repo) |
331
75f082b5897e
Switch to using url scheme wrappers instead of duplicating each command we wrap.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
264
diff
changeset
|
53 actual = u.popbuffer() |
139
89a737852d33
utility_commands: Add tests for url and info. Fix a bad mock in the process.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
54 expected = (expected_info_output % |
89a737852d33
utility_commands: Add tests for url and info. Fix a bad mock in the process.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
55 {'date': '2008-10-08 01:39:29 +0000 (Wed, 08 Oct 2008)', |
867
50c13e01c7e3
test_util: add a load_and_fetch() returning the repo_path
Patrick Mezard <patrick@mezard.eu>
parents:
866
diff
changeset
|
56 'repourl': repourl(repo_path), |
139
89a737852d33
utility_commands: Add tests for url and info. Fix a bad mock in the process.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
57 'branch': 'trunk', |
89a737852d33
utility_commands: Add tests for url and info. Fix a bad mock in the process.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
58 'rev': 6, |
89a737852d33
utility_commands: Add tests for url and info. Fix a bad mock in the process.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
59 }) |
743
045120d3a110
test_utility_commands: use self.assertMultiLineEqual().
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
643
diff
changeset
|
60 self.assertMultiLineEqual(actual, expected) |
503
00ecb2bc005c
Add a -r option to hg svn. Use with hg svn info to change the mercurial rev.
Jason Ostrander <jason@sentilla.com>
parents:
403
diff
changeset
|
61 hg.update(self.repo, 'default') |
00ecb2bc005c
Add a -r option to hg svn. Use with hg svn info to change the mercurial rev.
Jason Ostrander <jason@sentilla.com>
parents:
403
diff
changeset
|
62 u.pushbuffer() |
578
de384e4e0423
merge commands from utility_commands into svncommands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
576
diff
changeset
|
63 svncommands.info(u, self.repo, rev=3) |
503
00ecb2bc005c
Add a -r option to hg svn. Use with hg svn info to change the mercurial rev.
Jason Ostrander <jason@sentilla.com>
parents:
403
diff
changeset
|
64 actual = u.popbuffer() |
00ecb2bc005c
Add a -r option to hg svn. Use with hg svn info to change the mercurial rev.
Jason Ostrander <jason@sentilla.com>
parents:
403
diff
changeset
|
65 expected = (expected_info_output % |
00ecb2bc005c
Add a -r option to hg svn. Use with hg svn info to change the mercurial rev.
Jason Ostrander <jason@sentilla.com>
parents:
403
diff
changeset
|
66 {'date': '2008-10-08 01:39:05 +0000 (Wed, 08 Oct 2008)', |
867
50c13e01c7e3
test_util: add a load_and_fetch() returning the repo_path
Patrick Mezard <patrick@mezard.eu>
parents:
866
diff
changeset
|
67 'repourl': repourl(repo_path), |
503
00ecb2bc005c
Add a -r option to hg svn. Use with hg svn info to change the mercurial rev.
Jason Ostrander <jason@sentilla.com>
parents:
403
diff
changeset
|
68 'branch': 'branches/the_branch', |
00ecb2bc005c
Add a -r option to hg svn. Use with hg svn info to change the mercurial rev.
Jason Ostrander <jason@sentilla.com>
parents:
403
diff
changeset
|
69 'rev': 5, |
00ecb2bc005c
Add a -r option to hg svn. Use with hg svn info to change the mercurial rev.
Jason Ostrander <jason@sentilla.com>
parents:
403
diff
changeset
|
70 }) |
743
045120d3a110
test_utility_commands: use self.assertMultiLineEqual().
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
643
diff
changeset
|
71 self.assertMultiLineEqual(actual, expected) |
921
8faa91951bb1
svnremoterepo: use and prefer default-push
David Schleimer <dschleimer@fb.com>
parents:
918
diff
changeset
|
72 destpath = self.wc_path + '_clone' |
8faa91951bb1
svnremoterepo: use and prefer default-push
David Schleimer <dschleimer@fb.com>
parents:
918
diff
changeset
|
73 test_util.hgclone(u, self.repo, destpath) |
8faa91951bb1
svnremoterepo: use and prefer default-push
David Schleimer <dschleimer@fb.com>
parents:
918
diff
changeset
|
74 repo2 = hg.repository(u, destpath) |
8faa91951bb1
svnremoterepo: use and prefer default-push
David Schleimer <dschleimer@fb.com>
parents:
918
diff
changeset
|
75 repo2.ui.setconfig('paths', 'default-push', |
8faa91951bb1
svnremoterepo: use and prefer default-push
David Schleimer <dschleimer@fb.com>
parents:
918
diff
changeset
|
76 self.repo.ui.config('paths', 'default')) |
8faa91951bb1
svnremoterepo: use and prefer default-push
David Schleimer <dschleimer@fb.com>
parents:
918
diff
changeset
|
77 hg.update(repo2, 'default') |
8faa91951bb1
svnremoterepo: use and prefer default-push
David Schleimer <dschleimer@fb.com>
parents:
918
diff
changeset
|
78 svncommands.rebuildmeta(u, repo2, []) |
8faa91951bb1
svnremoterepo: use and prefer default-push
David Schleimer <dschleimer@fb.com>
parents:
918
diff
changeset
|
79 u.pushbuffer() |
8faa91951bb1
svnremoterepo: use and prefer default-push
David Schleimer <dschleimer@fb.com>
parents:
918
diff
changeset
|
80 svncommands.info(u, repo2) |
8faa91951bb1
svnremoterepo: use and prefer default-push
David Schleimer <dschleimer@fb.com>
parents:
918
diff
changeset
|
81 actual = u.popbuffer() |
8faa91951bb1
svnremoterepo: use and prefer default-push
David Schleimer <dschleimer@fb.com>
parents:
918
diff
changeset
|
82 expected = (expected_info_output % |
8faa91951bb1
svnremoterepo: use and prefer default-push
David Schleimer <dschleimer@fb.com>
parents:
918
diff
changeset
|
83 {'date': '2008-10-08 01:39:29 +0000 (Wed, 08 Oct 2008)', |
8faa91951bb1
svnremoterepo: use and prefer default-push
David Schleimer <dschleimer@fb.com>
parents:
918
diff
changeset
|
84 'repourl': repourl(repo_path), |
8faa91951bb1
svnremoterepo: use and prefer default-push
David Schleimer <dschleimer@fb.com>
parents:
918
diff
changeset
|
85 'branch': 'trunk', |
8faa91951bb1
svnremoterepo: use and prefer default-push
David Schleimer <dschleimer@fb.com>
parents:
918
diff
changeset
|
86 'rev': 6, |
8faa91951bb1
svnremoterepo: use and prefer default-push
David Schleimer <dschleimer@fb.com>
parents:
918
diff
changeset
|
87 }) |
8faa91951bb1
svnremoterepo: use and prefer default-push
David Schleimer <dschleimer@fb.com>
parents:
918
diff
changeset
|
88 self.assertMultiLineEqual(actual, expected) |
139
89a737852d33
utility_commands: Add tests for url and info. Fix a bad mock in the process.
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
89 |
549
b97f5734e5a8
utility_commands: unbreak hg svn info with single-directory clones
Augie Fackler <durin42@gmail.com>
parents:
503
diff
changeset
|
90 def test_info_single(self): |
867
50c13e01c7e3
test_util: add a load_and_fetch() returning the repo_path
Patrick Mezard <patrick@mezard.eu>
parents:
866
diff
changeset
|
91 repo, repo_path = self.load_and_fetch('two_heads.svndump', subdir='trunk') |
549
b97f5734e5a8
utility_commands: unbreak hg svn info with single-directory clones
Augie Fackler <durin42@gmail.com>
parents:
503
diff
changeset
|
92 hg.update(self.repo, 'tip') |
576
d96aa92d9ad9
tests: silence test suite by using quiet UIs everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
573
diff
changeset
|
93 u = self.ui() |
549
b97f5734e5a8
utility_commands: unbreak hg svn info with single-directory clones
Augie Fackler <durin42@gmail.com>
parents:
503
diff
changeset
|
94 u.pushbuffer() |
578
de384e4e0423
merge commands from utility_commands into svncommands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
576
diff
changeset
|
95 svncommands.info(u, self.repo) |
549
b97f5734e5a8
utility_commands: unbreak hg svn info with single-directory clones
Augie Fackler <durin42@gmail.com>
parents:
503
diff
changeset
|
96 actual = u.popbuffer() |
b97f5734e5a8
utility_commands: unbreak hg svn info with single-directory clones
Augie Fackler <durin42@gmail.com>
parents:
503
diff
changeset
|
97 expected = (expected_info_output % |
b97f5734e5a8
utility_commands: unbreak hg svn info with single-directory clones
Augie Fackler <durin42@gmail.com>
parents:
503
diff
changeset
|
98 {'date': '2008-10-08 01:39:29 +0000 (Wed, 08 Oct 2008)', |
867
50c13e01c7e3
test_util: add a load_and_fetch() returning the repo_path
Patrick Mezard <patrick@mezard.eu>
parents:
866
diff
changeset
|
99 'repourl': repourl(repo_path), |
549
b97f5734e5a8
utility_commands: unbreak hg svn info with single-directory clones
Augie Fackler <durin42@gmail.com>
parents:
503
diff
changeset
|
100 'branch': 'trunk', |
b97f5734e5a8
utility_commands: unbreak hg svn info with single-directory clones
Augie Fackler <durin42@gmail.com>
parents:
503
diff
changeset
|
101 'rev': 6, |
b97f5734e5a8
utility_commands: unbreak hg svn info with single-directory clones
Augie Fackler <durin42@gmail.com>
parents:
503
diff
changeset
|
102 }) |
743
045120d3a110
test_utility_commands: use self.assertMultiLineEqual().
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
643
diff
changeset
|
103 self.assertMultiLineEqual(expected, actual) |
549
b97f5734e5a8
utility_commands: unbreak hg svn info with single-directory clones
Augie Fackler <durin42@gmail.com>
parents:
503
diff
changeset
|
104 |
754
caa527346a0f
svncommands: abort on missing metadata or Subversion URL (fixes #226)
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
746
diff
changeset
|
105 def test_missing_metadata(self): |
caa527346a0f
svncommands: abort on missing metadata or Subversion URL (fixes #226)
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
746
diff
changeset
|
106 self._load_fixture_and_fetch('two_heads.svndump') |
989
68191be64af8
updatemeta: fix missing errno import
Patrick Mezard <patrick@mezard.eu>
parents:
921
diff
changeset
|
107 os.remove(self.repo.join('svn/branch_info')) |
68191be64af8
updatemeta: fix missing errno import
Patrick Mezard <patrick@mezard.eu>
parents:
921
diff
changeset
|
108 svncommands.updatemeta(self.ui(), self.repo, []) |
68191be64af8
updatemeta: fix missing errno import
Patrick Mezard <patrick@mezard.eu>
parents:
921
diff
changeset
|
109 |
754
caa527346a0f
svncommands: abort on missing metadata or Subversion URL (fixes #226)
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
746
diff
changeset
|
110 test_util.rmtree(self.repo.join('svn')) |
caa527346a0f
svncommands: abort on missing metadata or Subversion URL (fixes #226)
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
746
diff
changeset
|
111 self.assertRaises(hgutil.Abort, |
caa527346a0f
svncommands: abort on missing metadata or Subversion URL (fixes #226)
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
746
diff
changeset
|
112 self.repo.svnmeta) |
caa527346a0f
svncommands: abort on missing metadata or Subversion URL (fixes #226)
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
746
diff
changeset
|
113 self.assertRaises(hgutil.Abort, |
caa527346a0f
svncommands: abort on missing metadata or Subversion URL (fixes #226)
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
746
diff
changeset
|
114 svncommands.info, |
caa527346a0f
svncommands: abort on missing metadata or Subversion URL (fixes #226)
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
746
diff
changeset
|
115 self.ui(), repo=self.repo, args=[]) |
caa527346a0f
svncommands: abort on missing metadata or Subversion URL (fixes #226)
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
746
diff
changeset
|
116 self.assertRaises(hgutil.Abort, |
caa527346a0f
svncommands: abort on missing metadata or Subversion URL (fixes #226)
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
746
diff
changeset
|
117 svncommands.genignore, |
caa527346a0f
svncommands: abort on missing metadata or Subversion URL (fixes #226)
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
746
diff
changeset
|
118 self.ui(), repo=self.repo, args=[]) |
caa527346a0f
svncommands: abort on missing metadata or Subversion URL (fixes #226)
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
746
diff
changeset
|
119 |
caa527346a0f
svncommands: abort on missing metadata or Subversion URL (fixes #226)
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
746
diff
changeset
|
120 os.remove(self.repo.join('hgrc')) |
caa527346a0f
svncommands: abort on missing metadata or Subversion URL (fixes #226)
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
746
diff
changeset
|
121 self.assertRaises(hgutil.Abort, |
caa527346a0f
svncommands: abort on missing metadata or Subversion URL (fixes #226)
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
746
diff
changeset
|
122 self.repo.svnmeta) |
746
174f03c288d4
svnmeta: abort when no UUID given and none is stored on disk.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
743
diff
changeset
|
123 self.assertRaises(hgutil.Abort, |
754
caa527346a0f
svncommands: abort on missing metadata or Subversion URL (fixes #226)
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
746
diff
changeset
|
124 svncommands.info, |
caa527346a0f
svncommands: abort on missing metadata or Subversion URL (fixes #226)
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
746
diff
changeset
|
125 self.ui(), repo=self.repo, args=[]) |
caa527346a0f
svncommands: abort on missing metadata or Subversion URL (fixes #226)
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
746
diff
changeset
|
126 self.assertRaises(hgutil.Abort, |
caa527346a0f
svncommands: abort on missing metadata or Subversion URL (fixes #226)
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
746
diff
changeset
|
127 svncommands.genignore, |
caa527346a0f
svncommands: abort on missing metadata or Subversion URL (fixes #226)
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
746
diff
changeset
|
128 self.ui(), repo=self.repo, args=[]) |
caa527346a0f
svncommands: abort on missing metadata or Subversion URL (fixes #226)
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
746
diff
changeset
|
129 |
746
174f03c288d4
svnmeta: abort when no UUID given and none is stored on disk.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
743
diff
changeset
|
130 self.assertRaises(hgutil.Abort, |
754
caa527346a0f
svncommands: abort on missing metadata or Subversion URL (fixes #226)
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
746
diff
changeset
|
131 svncommands.rebuildmeta, |
caa527346a0f
svncommands: abort on missing metadata or Subversion URL (fixes #226)
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
746
diff
changeset
|
132 self.ui(), repo=self.repo, args=[]) |
746
174f03c288d4
svnmeta: abort when no UUID given and none is stored on disk.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
743
diff
changeset
|
133 |
157
91541523ea5c
utility_commands: Test outgoing and fix it to work again.
Augie Fackler <durin42@gmail.com>
parents:
153
diff
changeset
|
134 def test_parent_output(self): |
91541523ea5c
utility_commands: Test outgoing and fix it to work again.
Augie Fackler <durin42@gmail.com>
parents:
153
diff
changeset
|
135 self._load_fixture_and_fetch('two_heads.svndump') |
576
d96aa92d9ad9
tests: silence test suite by using quiet UIs everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
573
diff
changeset
|
136 u = self.ui() |
331
75f082b5897e
Switch to using url scheme wrappers instead of duplicating each command we wrap.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
264
diff
changeset
|
137 u.pushbuffer() |
832
e9af7eba88db
globally: clean up whitespace around operators and commas to conform with PEP8
Yonggang Luo <luoyonggang@gmail.com>
parents:
754
diff
changeset
|
138 parents = (self.repo['the_branch'].node(), revlog.nullid,) |
157
91541523ea5c
utility_commands: Test outgoing and fix it to work again.
Augie Fackler <durin42@gmail.com>
parents:
153
diff
changeset
|
139 def filectxfn(repo, memctx, path): |
91541523ea5c
utility_commands: Test outgoing and fix it to work again.
Augie Fackler <durin42@gmail.com>
parents:
153
diff
changeset
|
140 return context.memfilectx(path=path, |
91541523ea5c
utility_commands: Test outgoing and fix it to work again.
Augie Fackler <durin42@gmail.com>
parents:
153
diff
changeset
|
141 data='added', |
91541523ea5c
utility_commands: Test outgoing and fix it to work again.
Augie Fackler <durin42@gmail.com>
parents:
153
diff
changeset
|
142 islink=False, |
91541523ea5c
utility_commands: Test outgoing and fix it to work again.
Augie Fackler <durin42@gmail.com>
parents:
153
diff
changeset
|
143 isexec=False, |
91541523ea5c
utility_commands: Test outgoing and fix it to work again.
Augie Fackler <durin42@gmail.com>
parents:
153
diff
changeset
|
144 copied=False) |
91541523ea5c
utility_commands: Test outgoing and fix it to work again.
Augie Fackler <durin42@gmail.com>
parents:
153
diff
changeset
|
145 ctx = context.memctx(self.repo, |
91541523ea5c
utility_commands: Test outgoing and fix it to work again.
Augie Fackler <durin42@gmail.com>
parents:
153
diff
changeset
|
146 parents, |
91541523ea5c
utility_commands: Test outgoing and fix it to work again.
Augie Fackler <durin42@gmail.com>
parents:
153
diff
changeset
|
147 'automated test', |
91541523ea5c
utility_commands: Test outgoing and fix it to work again.
Augie Fackler <durin42@gmail.com>
parents:
153
diff
changeset
|
148 ['added_bogus_file', 'other_added_file', ], |
91541523ea5c
utility_commands: Test outgoing and fix it to work again.
Augie Fackler <durin42@gmail.com>
parents:
153
diff
changeset
|
149 filectxfn, |
91541523ea5c
utility_commands: Test outgoing and fix it to work again.
Augie Fackler <durin42@gmail.com>
parents:
153
diff
changeset
|
150 'testy', |
91541523ea5c
utility_commands: Test outgoing and fix it to work again.
Augie Fackler <durin42@gmail.com>
parents:
153
diff
changeset
|
151 '2008-12-21 16:32:00 -0500', |
91541523ea5c
utility_commands: Test outgoing and fix it to work again.
Augie Fackler <durin42@gmail.com>
parents:
153
diff
changeset
|
152 {'branch': 'localbranch', }) |
91541523ea5c
utility_commands: Test outgoing and fix it to work again.
Augie Fackler <durin42@gmail.com>
parents:
153
diff
changeset
|
153 new = self.repo.commitctx(ctx) |
91541523ea5c
utility_commands: Test outgoing and fix it to work again.
Augie Fackler <durin42@gmail.com>
parents:
153
diff
changeset
|
154 hg.update(self.repo, new) |
403
37c96b78b8c0
uisetup: use a single loop/abstraction for wrapping all the commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
347
diff
changeset
|
155 wrappers.parents(lambda x, y: None, u, self.repo, svn=True) |
331
75f082b5897e
Switch to using url scheme wrappers instead of duplicating each command we wrap.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
264
diff
changeset
|
156 actual = u.popbuffer() |
576
d96aa92d9ad9
tests: silence test suite by using quiet UIs everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
573
diff
changeset
|
157 self.assertEqual(actual, '3:4e256962fc5d\n') |
256
7932d098cb5f
Refactor commands to wrap their hg equivalent adding a --svn flag where sane.
Augie Fackler <durin42@gmail.com>
parents:
253
diff
changeset
|
158 |
157
91541523ea5c
utility_commands: Test outgoing and fix it to work again.
Augie Fackler <durin42@gmail.com>
parents:
153
diff
changeset
|
159 hg.update(self.repo, 'default') |
576
d96aa92d9ad9
tests: silence test suite by using quiet UIs everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
573
diff
changeset
|
160 |
256
7932d098cb5f
Refactor commands to wrap their hg equivalent adding a --svn flag where sane.
Augie Fackler <durin42@gmail.com>
parents:
253
diff
changeset
|
161 # Make sure styles work |
331
75f082b5897e
Switch to using url scheme wrappers instead of duplicating each command we wrap.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
264
diff
changeset
|
162 u.pushbuffer() |
403
37c96b78b8c0
uisetup: use a single loop/abstraction for wrapping all the commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
347
diff
changeset
|
163 wrappers.parents(lambda x, y: None, u, self.repo, svn=True, style='compact') |
331
75f082b5897e
Switch to using url scheme wrappers instead of duplicating each command we wrap.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
264
diff
changeset
|
164 actual = u.popbuffer() |
576
d96aa92d9ad9
tests: silence test suite by using quiet UIs everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
573
diff
changeset
|
165 self.assertEqual(actual, '4:1083037b18d8\n') |
d96aa92d9ad9
tests: silence test suite by using quiet UIs everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
573
diff
changeset
|
166 |
256
7932d098cb5f
Refactor commands to wrap their hg equivalent adding a --svn flag where sane.
Augie Fackler <durin42@gmail.com>
parents:
253
diff
changeset
|
167 # custom templates too |
331
75f082b5897e
Switch to using url scheme wrappers instead of duplicating each command we wrap.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
264
diff
changeset
|
168 u.pushbuffer() |
403
37c96b78b8c0
uisetup: use a single loop/abstraction for wrapping all the commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
347
diff
changeset
|
169 wrappers.parents(lambda x, y: None, u, self.repo, svn=True, template='{node}\n') |
331
75f082b5897e
Switch to using url scheme wrappers instead of duplicating each command we wrap.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
264
diff
changeset
|
170 actual = u.popbuffer() |
75f082b5897e
Switch to using url scheme wrappers instead of duplicating each command we wrap.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
264
diff
changeset
|
171 self.assertEqual(actual, '1083037b18d85cd84fa211c5adbaeff0fea2cd9f\n') |
256
7932d098cb5f
Refactor commands to wrap their hg equivalent adding a --svn flag where sane.
Augie Fackler <durin42@gmail.com>
parents:
253
diff
changeset
|
172 |
331
75f082b5897e
Switch to using url scheme wrappers instead of duplicating each command we wrap.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
264
diff
changeset
|
173 u.pushbuffer() |
403
37c96b78b8c0
uisetup: use a single loop/abstraction for wrapping all the commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
347
diff
changeset
|
174 wrappers.parents(lambda x, y: None, u, self.repo, svn=True) |
331
75f082b5897e
Switch to using url scheme wrappers instead of duplicating each command we wrap.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
264
diff
changeset
|
175 actual = u.popbuffer() |
576
d96aa92d9ad9
tests: silence test suite by using quiet UIs everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
573
diff
changeset
|
176 self.assertEqual(actual, '4:1083037b18d8\n') |
157
91541523ea5c
utility_commands: Test outgoing and fix it to work again.
Augie Fackler <durin42@gmail.com>
parents:
153
diff
changeset
|
177 |
91541523ea5c
utility_commands: Test outgoing and fix it to work again.
Augie Fackler <durin42@gmail.com>
parents:
153
diff
changeset
|
178 def test_outgoing_output(self): |
867
50c13e01c7e3
test_util: add a load_and_fetch() returning the repo_path
Patrick Mezard <patrick@mezard.eu>
parents:
866
diff
changeset
|
179 repo, repo_path = self.load_and_fetch('two_heads.svndump') |
576
d96aa92d9ad9
tests: silence test suite by using quiet UIs everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
573
diff
changeset
|
180 u = self.ui() |
832
e9af7eba88db
globally: clean up whitespace around operators and commas to conform with PEP8
Yonggang Luo <luoyonggang@gmail.com>
parents:
754
diff
changeset
|
181 parents = (self.repo['the_branch'].node(), revlog.nullid,) |
157
91541523ea5c
utility_commands: Test outgoing and fix it to work again.
Augie Fackler <durin42@gmail.com>
parents:
153
diff
changeset
|
182 def filectxfn(repo, memctx, path): |
91541523ea5c
utility_commands: Test outgoing and fix it to work again.
Augie Fackler <durin42@gmail.com>
parents:
153
diff
changeset
|
183 return context.memfilectx(path=path, |
91541523ea5c
utility_commands: Test outgoing and fix it to work again.
Augie Fackler <durin42@gmail.com>
parents:
153
diff
changeset
|
184 data='added', |
91541523ea5c
utility_commands: Test outgoing and fix it to work again.
Augie Fackler <durin42@gmail.com>
parents:
153
diff
changeset
|
185 islink=False, |
91541523ea5c
utility_commands: Test outgoing and fix it to work again.
Augie Fackler <durin42@gmail.com>
parents:
153
diff
changeset
|
186 isexec=False, |
91541523ea5c
utility_commands: Test outgoing and fix it to work again.
Augie Fackler <durin42@gmail.com>
parents:
153
diff
changeset
|
187 copied=False) |
91541523ea5c
utility_commands: Test outgoing and fix it to work again.
Augie Fackler <durin42@gmail.com>
parents:
153
diff
changeset
|
188 ctx = context.memctx(self.repo, |
91541523ea5c
utility_commands: Test outgoing and fix it to work again.
Augie Fackler <durin42@gmail.com>
parents:
153
diff
changeset
|
189 parents, |
91541523ea5c
utility_commands: Test outgoing and fix it to work again.
Augie Fackler <durin42@gmail.com>
parents:
153
diff
changeset
|
190 'automated test', |
91541523ea5c
utility_commands: Test outgoing and fix it to work again.
Augie Fackler <durin42@gmail.com>
parents:
153
diff
changeset
|
191 ['added_bogus_file', 'other_added_file', ], |
91541523ea5c
utility_commands: Test outgoing and fix it to work again.
Augie Fackler <durin42@gmail.com>
parents:
153
diff
changeset
|
192 filectxfn, |
91541523ea5c
utility_commands: Test outgoing and fix it to work again.
Augie Fackler <durin42@gmail.com>
parents:
153
diff
changeset
|
193 'testy', |
91541523ea5c
utility_commands: Test outgoing and fix it to work again.
Augie Fackler <durin42@gmail.com>
parents:
153
diff
changeset
|
194 '2008-12-21 16:32:00 -0500', |
91541523ea5c
utility_commands: Test outgoing and fix it to work again.
Augie Fackler <durin42@gmail.com>
parents:
153
diff
changeset
|
195 {'branch': 'localbranch', }) |
91541523ea5c
utility_commands: Test outgoing and fix it to work again.
Augie Fackler <durin42@gmail.com>
parents:
153
diff
changeset
|
196 new = self.repo.commitctx(ctx) |
91541523ea5c
utility_commands: Test outgoing and fix it to work again.
Augie Fackler <durin42@gmail.com>
parents:
153
diff
changeset
|
197 hg.update(self.repo, new) |
347
537de0300510
Remove the 'outgoing' wrapper, and use the Mercurial infrastructure instead.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
337
diff
changeset
|
198 u.pushbuffer() |
867
50c13e01c7e3
test_util: add a load_and_fetch() returning the repo_path
Patrick Mezard <patrick@mezard.eu>
parents:
866
diff
changeset
|
199 commands.outgoing(u, self.repo, repourl(repo_path)) |
331
75f082b5897e
Switch to using url scheme wrappers instead of duplicating each command we wrap.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
264
diff
changeset
|
200 actual = u.popbuffer() |
347
537de0300510
Remove the 'outgoing' wrapper, and use the Mercurial infrastructure instead.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
337
diff
changeset
|
201 self.assertTrue(node.hex(self.repo['localbranch'].node())[:8] in actual) |
576
d96aa92d9ad9
tests: silence test suite by using quiet UIs everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
573
diff
changeset
|
202 self.assertEqual(actual.strip(), '5:6de15430fa20') |
157
91541523ea5c
utility_commands: Test outgoing and fix it to work again.
Augie Fackler <durin42@gmail.com>
parents:
153
diff
changeset
|
203 hg.update(self.repo, 'default') |
331
75f082b5897e
Switch to using url scheme wrappers instead of duplicating each command we wrap.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
264
diff
changeset
|
204 u.pushbuffer() |
867
50c13e01c7e3
test_util: add a load_and_fetch() returning the repo_path
Patrick Mezard <patrick@mezard.eu>
parents:
866
diff
changeset
|
205 commands.outgoing(u, self.repo, repourl(repo_path)) |
331
75f082b5897e
Switch to using url scheme wrappers instead of duplicating each command we wrap.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
264
diff
changeset
|
206 actual = u.popbuffer() |
576
d96aa92d9ad9
tests: silence test suite by using quiet UIs everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
573
diff
changeset
|
207 self.assertEqual(actual, '') |
140
9ffde8662967
util: Add a command to normalize svn urls and use it in a couple of places. Test that it works and prevents failed assertions.
Augie Fackler <durin42@gmail.com>
parents:
139
diff
changeset
|
208 |
149
04800fda7af5
rebase: preserve local branch names.
Augie Fackler <durin42@gmail.com>
parents:
140
diff
changeset
|
209 def test_rebase(self): |
04800fda7af5
rebase: preserve local branch names.
Augie Fackler <durin42@gmail.com>
parents:
140
diff
changeset
|
210 self._load_fixture_and_fetch('two_revs.svndump') |
832
e9af7eba88db
globally: clean up whitespace around operators and commas to conform with PEP8
Yonggang Luo <luoyonggang@gmail.com>
parents:
754
diff
changeset
|
211 parents = (self.repo[0].node(), revlog.nullid,) |
149
04800fda7af5
rebase: preserve local branch names.
Augie Fackler <durin42@gmail.com>
parents:
140
diff
changeset
|
212 def filectxfn(repo, memctx, path): |
04800fda7af5
rebase: preserve local branch names.
Augie Fackler <durin42@gmail.com>
parents:
140
diff
changeset
|
213 return context.memfilectx(path=path, |
04800fda7af5
rebase: preserve local branch names.
Augie Fackler <durin42@gmail.com>
parents:
140
diff
changeset
|
214 data='added', |
04800fda7af5
rebase: preserve local branch names.
Augie Fackler <durin42@gmail.com>
parents:
140
diff
changeset
|
215 islink=False, |
04800fda7af5
rebase: preserve local branch names.
Augie Fackler <durin42@gmail.com>
parents:
140
diff
changeset
|
216 isexec=False, |
04800fda7af5
rebase: preserve local branch names.
Augie Fackler <durin42@gmail.com>
parents:
140
diff
changeset
|
217 copied=False) |
04800fda7af5
rebase: preserve local branch names.
Augie Fackler <durin42@gmail.com>
parents:
140
diff
changeset
|
218 ctx = context.memctx(self.repo, |
04800fda7af5
rebase: preserve local branch names.
Augie Fackler <durin42@gmail.com>
parents:
140
diff
changeset
|
219 parents, |
04800fda7af5
rebase: preserve local branch names.
Augie Fackler <durin42@gmail.com>
parents:
140
diff
changeset
|
220 'automated test', |
04800fda7af5
rebase: preserve local branch names.
Augie Fackler <durin42@gmail.com>
parents:
140
diff
changeset
|
221 ['added_bogus_file', 'other_added_file', ], |
04800fda7af5
rebase: preserve local branch names.
Augie Fackler <durin42@gmail.com>
parents:
140
diff
changeset
|
222 filectxfn, |
04800fda7af5
rebase: preserve local branch names.
Augie Fackler <durin42@gmail.com>
parents:
140
diff
changeset
|
223 'testy', |
04800fda7af5
rebase: preserve local branch names.
Augie Fackler <durin42@gmail.com>
parents:
140
diff
changeset
|
224 '2008-12-21 16:32:00 -0500', |
04800fda7af5
rebase: preserve local branch names.
Augie Fackler <durin42@gmail.com>
parents:
140
diff
changeset
|
225 {'branch': 'localbranch', }) |
04800fda7af5
rebase: preserve local branch names.
Augie Fackler <durin42@gmail.com>
parents:
140
diff
changeset
|
226 self.repo.commitctx(ctx) |
04800fda7af5
rebase: preserve local branch names.
Augie Fackler <durin42@gmail.com>
parents:
140
diff
changeset
|
227 self.assertEqual(self.repo['tip'].branch(), 'localbranch') |
04800fda7af5
rebase: preserve local branch names.
Augie Fackler <durin42@gmail.com>
parents:
140
diff
changeset
|
228 beforerebasehash = self.repo['tip'].node() |
04800fda7af5
rebase: preserve local branch names.
Augie Fackler <durin42@gmail.com>
parents:
140
diff
changeset
|
229 hg.update(self.repo, 'tip') |
576
d96aa92d9ad9
tests: silence test suite by using quiet UIs everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
573
diff
changeset
|
230 wrappers.rebase(rebase.rebase, self.ui(), self.repo, svn=True) |
149
04800fda7af5
rebase: preserve local branch names.
Augie Fackler <durin42@gmail.com>
parents:
140
diff
changeset
|
231 self.assertEqual(self.repo['tip'].branch(), 'localbranch') |
04800fda7af5
rebase: preserve local branch names.
Augie Fackler <durin42@gmail.com>
parents:
140
diff
changeset
|
232 self.assertEqual(self.repo['tip'].parents()[0].parents()[0], self.repo[0]) |
04800fda7af5
rebase: preserve local branch names.
Augie Fackler <durin42@gmail.com>
parents:
140
diff
changeset
|
233 self.assertNotEqual(beforerebasehash, self.repo['tip'].node()) |
04800fda7af5
rebase: preserve local branch names.
Augie Fackler <durin42@gmail.com>
parents:
140
diff
changeset
|
234 |
199
91db8fc049b0
Add a genignore utility command that generates an hgignore file by scraping svn:ignore properties.
Augie Fackler <durin42@gmail.com>
parents:
195
diff
changeset
|
235 def test_genignore(self): |
331
75f082b5897e
Switch to using url scheme wrappers instead of duplicating each command we wrap.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
264
diff
changeset
|
236 """ Test generation of .hgignore file. """ |
865
04729f3a3d17
test_util: merge load_fixture_and_fetch() into TestBase method
Patrick Mezard <patrick@mezard.eu>
parents:
833
diff
changeset
|
237 repo = self._load_fixture_and_fetch('ignores.svndump', noupdate=False) |
576
d96aa92d9ad9
tests: silence test suite by using quiet UIs everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
573
diff
changeset
|
238 u = self.ui() |
331
75f082b5897e
Switch to using url scheme wrappers instead of duplicating each command we wrap.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
264
diff
changeset
|
239 u.pushbuffer() |
865
04729f3a3d17
test_util: merge load_fixture_and_fetch() into TestBase method
Patrick Mezard <patrick@mezard.eu>
parents:
833
diff
changeset
|
240 svncommands.genignore(u, repo, self.wc_path) |
743
045120d3a110
test_utility_commands: use self.assertMultiLineEqual().
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
643
diff
changeset
|
241 self.assertMultiLineEqual(open(os.path.join(self.wc_path, '.hgignore')).read(), |
199
91db8fc049b0
Add a genignore utility command that generates an hgignore file by scraping svn:ignore properties.
Augie Fackler <durin42@gmail.com>
parents:
195
diff
changeset
|
242 '.hgignore\nsyntax:glob\nblah\notherblah\nbaz/magic\n') |
91db8fc049b0
Add a genignore utility command that generates an hgignore file by scraping svn:ignore properties.
Augie Fackler <durin42@gmail.com>
parents:
195
diff
changeset
|
243 |
550
f0159775e0f1
utility_commands: fix hg svn genignore for single-directory mode
Augie Fackler <durin42@gmail.com>
parents:
549
diff
changeset
|
244 def test_genignore_single(self): |
f0159775e0f1
utility_commands: fix hg svn genignore for single-directory mode
Augie Fackler <durin42@gmail.com>
parents:
549
diff
changeset
|
245 self._load_fixture_and_fetch('ignores.svndump', subdir='trunk') |
f0159775e0f1
utility_commands: fix hg svn genignore for single-directory mode
Augie Fackler <durin42@gmail.com>
parents:
549
diff
changeset
|
246 hg.update(self.repo, 'tip') |
576
d96aa92d9ad9
tests: silence test suite by using quiet UIs everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
573
diff
changeset
|
247 u = self.ui() |
550
f0159775e0f1
utility_commands: fix hg svn genignore for single-directory mode
Augie Fackler <durin42@gmail.com>
parents:
549
diff
changeset
|
248 u.pushbuffer() |
578
de384e4e0423
merge commands from utility_commands into svncommands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
576
diff
changeset
|
249 svncommands.genignore(u, self.repo, self.wc_path) |
743
045120d3a110
test_utility_commands: use self.assertMultiLineEqual().
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
643
diff
changeset
|
250 self.assertMultiLineEqual(open(os.path.join(self.wc_path, '.hgignore')).read(), |
550
f0159775e0f1
utility_commands: fix hg svn genignore for single-directory mode
Augie Fackler <durin42@gmail.com>
parents:
549
diff
changeset
|
251 '.hgignore\nsyntax:glob\nblah\notherblah\nbaz/magic\n') |
f0159775e0f1
utility_commands: fix hg svn genignore for single-directory mode
Augie Fackler <durin42@gmail.com>
parents:
549
diff
changeset
|
252 |
236
c34abd2448b7
Issue #60: Add a svn sub-command to list all authors in a Subversion repository
Daniel Tang <dytang@cs.purdue.edu>
parents:
230
diff
changeset
|
253 def test_list_authors(self): |
866
20e73b5ab6f7
test_util: merge load_svndump_fixture() into TestBase
Patrick Mezard <patrick@mezard.eu>
parents:
865
diff
changeset
|
254 repo_path = self.load_svndump('replace_trunk_with_branch.svndump') |
576
d96aa92d9ad9
tests: silence test suite by using quiet UIs everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
573
diff
changeset
|
255 u = self.ui() |
331
75f082b5897e
Switch to using url scheme wrappers instead of duplicating each command we wrap.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
264
diff
changeset
|
256 u.pushbuffer() |
578
de384e4e0423
merge commands from utility_commands into svncommands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
576
diff
changeset
|
257 svncommands.listauthors(u, |
866
20e73b5ab6f7
test_util: merge load_svndump_fixture() into TestBase
Patrick Mezard <patrick@mezard.eu>
parents:
865
diff
changeset
|
258 args=[test_util.fileurl(repo_path)], |
253
c3d5c4ae9c7c
Work with simple command table instead of decorators.
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
241
diff
changeset
|
259 authors=None) |
331
75f082b5897e
Switch to using url scheme wrappers instead of duplicating each command we wrap.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
264
diff
changeset
|
260 actual = u.popbuffer() |
743
045120d3a110
test_utility_commands: use self.assertMultiLineEqual().
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
643
diff
changeset
|
261 self.assertMultiLineEqual(actual, 'Augie\nevil\n') |
236
c34abd2448b7
Issue #60: Add a svn sub-command to list all authors in a Subversion repository
Daniel Tang <dytang@cs.purdue.edu>
parents:
230
diff
changeset
|
262 |
c34abd2448b7
Issue #60: Add a svn sub-command to list all authors in a Subversion repository
Daniel Tang <dytang@cs.purdue.edu>
parents:
230
diff
changeset
|
263 def test_list_authors_map(self): |
866
20e73b5ab6f7
test_util: merge load_svndump_fixture() into TestBase
Patrick Mezard <patrick@mezard.eu>
parents:
865
diff
changeset
|
264 repo_path = self.load_svndump('replace_trunk_with_branch.svndump') |
20e73b5ab6f7
test_util: merge load_svndump_fixture() into TestBase
Patrick Mezard <patrick@mezard.eu>
parents:
865
diff
changeset
|
265 author_path = os.path.join(repo_path, 'authors') |
578
de384e4e0423
merge commands from utility_commands into svncommands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
576
diff
changeset
|
266 svncommands.listauthors(self.ui(), |
866
20e73b5ab6f7
test_util: merge load_svndump_fixture() into TestBase
Patrick Mezard <patrick@mezard.eu>
parents:
865
diff
changeset
|
267 args=[test_util.fileurl(repo_path)], |
20e73b5ab6f7
test_util: merge load_svndump_fixture() into TestBase
Patrick Mezard <patrick@mezard.eu>
parents:
865
diff
changeset
|
268 authors=author_path) |
743
045120d3a110
test_utility_commands: use self.assertMultiLineEqual().
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
643
diff
changeset
|
269 self.assertMultiLineEqual(open(author_path).read(), 'Augie=\nevil=\n') |
256
7932d098cb5f
Refactor commands to wrap their hg equivalent adding a --svn flag where sane.
Augie Fackler <durin42@gmail.com>
parents:
253
diff
changeset
|
270 |
1077
8f3a241b790d
test_utility_commands: use stupid mode metaclass
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
1044
diff
changeset
|
271 def test_svnverify(self): |
880
d4312a6f7a87
test_utility_commands: test verify command
Patrick Mezard <patrick@mezard.eu>
parents:
867
diff
changeset
|
272 repo, repo_path = self.load_and_fetch('binaryfiles.svndump', |
1077
8f3a241b790d
test_utility_commands: use stupid mode metaclass
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
1044
diff
changeset
|
273 noupdate=False) |
8f3a241b790d
test_utility_commands: use stupid mode metaclass
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
1044
diff
changeset
|
274 ret = verify.verify(self.ui(), repo, [], rev=1) |
880
d4312a6f7a87
test_utility_commands: test verify command
Patrick Mezard <patrick@mezard.eu>
parents:
867
diff
changeset
|
275 self.assertEqual(0, ret) |
d4312a6f7a87
test_utility_commands: test verify command
Patrick Mezard <patrick@mezard.eu>
parents:
867
diff
changeset
|
276 repo_path = self.load_svndump('binaryfiles-broken.svndump') |
d4312a6f7a87
test_utility_commands: test verify command
Patrick Mezard <patrick@mezard.eu>
parents:
867
diff
changeset
|
277 u = self.ui() |
d4312a6f7a87
test_utility_commands: test verify command
Patrick Mezard <patrick@mezard.eu>
parents:
867
diff
changeset
|
278 u.pushbuffer() |
899
7f90bb48c9de
svn verify: use a custom editor and get_revision()
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
897
diff
changeset
|
279 ret = verify.verify(u, repo, [test_util.fileurl(repo_path)], |
1077
8f3a241b790d
test_utility_commands: use stupid mode metaclass
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
1044
diff
changeset
|
280 rev=1) |
880
d4312a6f7a87
test_utility_commands: test verify command
Patrick Mezard <patrick@mezard.eu>
parents:
867
diff
changeset
|
281 output = u.popbuffer() |
d4312a6f7a87
test_utility_commands: test verify command
Patrick Mezard <patrick@mezard.eu>
parents:
867
diff
changeset
|
282 self.assertEqual(1, ret) |
d4312a6f7a87
test_utility_commands: test verify command
Patrick Mezard <patrick@mezard.eu>
parents:
867
diff
changeset
|
283 output = re.sub(r'file://\S+', 'file://', output) |
887
f95c429124f3
make assertion failures slightly prettier and more readable
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
881
diff
changeset
|
284 self.assertMultiLineEqual("""\ |
880
d4312a6f7a87
test_utility_commands: test verify command
Patrick Mezard <patrick@mezard.eu>
parents:
867
diff
changeset
|
285 verifying d51f46a715a1 against file:// |
892
3bfb7e985c47
svn verify: add a test for corrupt repositories.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
887
diff
changeset
|
286 difference in: binary2 |
3bfb7e985c47
svn verify: add a test for corrupt repositories.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
887
diff
changeset
|
287 unexpected file: binary1 |
3bfb7e985c47
svn verify: add a test for corrupt repositories.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
887
diff
changeset
|
288 missing file: binary3 |
880
d4312a6f7a87
test_utility_commands: test verify command
Patrick Mezard <patrick@mezard.eu>
parents:
867
diff
changeset
|
289 """, output) |
153
46f6b872c988
tests: Fix some missing suite definitions so that running the full testsuite
Augie Fackler <durin42@gmail.com>
parents:
149
diff
changeset
|
290 |
1077
8f3a241b790d
test_utility_commands: use stupid mode metaclass
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
1044
diff
changeset
|
291 def test_corruption(self): |
892
3bfb7e985c47
svn verify: add a test for corrupt repositories.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
887
diff
changeset
|
292 SUCCESS = 0 |
3bfb7e985c47
svn verify: add a test for corrupt repositories.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
887
diff
changeset
|
293 FAILURE = 1 |
3bfb7e985c47
svn verify: add a test for corrupt repositories.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
887
diff
changeset
|
294 |
3bfb7e985c47
svn verify: add a test for corrupt repositories.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
887
diff
changeset
|
295 repo, repo_path = self.load_and_fetch('correct.svndump', layout='single', |
1077
8f3a241b790d
test_utility_commands: use stupid mode metaclass
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
1044
diff
changeset
|
296 subdir='') |
892
3bfb7e985c47
svn verify: add a test for corrupt repositories.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
887
diff
changeset
|
297 |
3bfb7e985c47
svn verify: add a test for corrupt repositories.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
887
diff
changeset
|
298 ui = self.ui() |
3bfb7e985c47
svn verify: add a test for corrupt repositories.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
887
diff
changeset
|
299 |
1077
8f3a241b790d
test_utility_commands: use stupid mode metaclass
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
1044
diff
changeset
|
300 self.assertEqual(SUCCESS, verify.verify(ui, self.repo, rev='tip')) |
892
3bfb7e985c47
svn verify: add a test for corrupt repositories.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
887
diff
changeset
|
301 |
3bfb7e985c47
svn verify: add a test for corrupt repositories.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
887
diff
changeset
|
302 corrupt_source = test_util.fileurl(self.load_svndump('corrupt.svndump')) |
3bfb7e985c47
svn verify: add a test for corrupt repositories.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
887
diff
changeset
|
303 |
3bfb7e985c47
svn verify: add a test for corrupt repositories.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
887
diff
changeset
|
304 repo.ui.setconfig('paths', 'default', corrupt_source) |
3bfb7e985c47
svn verify: add a test for corrupt repositories.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
887
diff
changeset
|
305 |
3bfb7e985c47
svn verify: add a test for corrupt repositories.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
887
diff
changeset
|
306 ui.pushbuffer() |
897
6bc8046e3d0a
move verify to a file of its own
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
892
diff
changeset
|
307 code = verify.verify(ui, repo, rev='tip') |
892
3bfb7e985c47
svn verify: add a test for corrupt repositories.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
887
diff
changeset
|
308 actual = ui.popbuffer() |
3bfb7e985c47
svn verify: add a test for corrupt repositories.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
887
diff
changeset
|
309 |
3bfb7e985c47
svn verify: add a test for corrupt repositories.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
887
diff
changeset
|
310 actual = actual.replace(corrupt_source, '$REPO') |
3bfb7e985c47
svn verify: add a test for corrupt repositories.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
887
diff
changeset
|
311 actual = set(actual.splitlines()) |
3bfb7e985c47
svn verify: add a test for corrupt repositories.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
887
diff
changeset
|
312 |
3bfb7e985c47
svn verify: add a test for corrupt repositories.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
887
diff
changeset
|
313 expected = set([ |
3bfb7e985c47
svn verify: add a test for corrupt repositories.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
887
diff
changeset
|
314 'verifying 78e965230a13 against $REPO@1', |
3bfb7e985c47
svn verify: add a test for corrupt repositories.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
887
diff
changeset
|
315 'missing file: missing-file', |
3bfb7e985c47
svn verify: add a test for corrupt repositories.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
887
diff
changeset
|
316 'wrong flags for: executable-file', |
3bfb7e985c47
svn verify: add a test for corrupt repositories.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
887
diff
changeset
|
317 'wrong flags for: symlink', |
3bfb7e985c47
svn verify: add a test for corrupt repositories.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
887
diff
changeset
|
318 'wrong flags for: regular-file', |
3bfb7e985c47
svn verify: add a test for corrupt repositories.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
887
diff
changeset
|
319 'difference in: another-regular-file', |
3bfb7e985c47
svn verify: add a test for corrupt repositories.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
887
diff
changeset
|
320 'difference in: regular-file', |
3bfb7e985c47
svn verify: add a test for corrupt repositories.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
887
diff
changeset
|
321 'unexpected file: empty-file', |
3bfb7e985c47
svn verify: add a test for corrupt repositories.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
887
diff
changeset
|
322 ]) |
3bfb7e985c47
svn verify: add a test for corrupt repositories.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
887
diff
changeset
|
323 |
3bfb7e985c47
svn verify: add a test for corrupt repositories.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
887
diff
changeset
|
324 self.assertEqual((FAILURE, expected), (code, actual)) |
3bfb7e985c47
svn verify: add a test for corrupt repositories.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
887
diff
changeset
|
325 |
918
761a87134501
rebuildmeta: accept unrelated svn repo with --unsafe-skip-uuid-check
Patrick Mezard <patrick@mezard.eu>
parents:
899
diff
changeset
|
326 def test_svnrebuildmeta(self): |
761a87134501
rebuildmeta: accept unrelated svn repo with --unsafe-skip-uuid-check
Patrick Mezard <patrick@mezard.eu>
parents:
899
diff
changeset
|
327 otherpath = self.load_svndump('binaryfiles-broken.svndump') |
761a87134501
rebuildmeta: accept unrelated svn repo with --unsafe-skip-uuid-check
Patrick Mezard <patrick@mezard.eu>
parents:
899
diff
changeset
|
328 otherurl = test_util.fileurl(otherpath) |
761a87134501
rebuildmeta: accept unrelated svn repo with --unsafe-skip-uuid-check
Patrick Mezard <patrick@mezard.eu>
parents:
899
diff
changeset
|
329 self.load_and_fetch('replace_trunk_with_branch.svndump') |
761a87134501
rebuildmeta: accept unrelated svn repo with --unsafe-skip-uuid-check
Patrick Mezard <patrick@mezard.eu>
parents:
899
diff
changeset
|
330 # rebuildmeta with original repo |
761a87134501
rebuildmeta: accept unrelated svn repo with --unsafe-skip-uuid-check
Patrick Mezard <patrick@mezard.eu>
parents:
899
diff
changeset
|
331 svncommands.rebuildmeta(self.ui(), repo=self.repo, args=[]) |
761a87134501
rebuildmeta: accept unrelated svn repo with --unsafe-skip-uuid-check
Patrick Mezard <patrick@mezard.eu>
parents:
899
diff
changeset
|
332 # rebuildmeta with unrelated repo |
761a87134501
rebuildmeta: accept unrelated svn repo with --unsafe-skip-uuid-check
Patrick Mezard <patrick@mezard.eu>
parents:
899
diff
changeset
|
333 self.assertRaises(hgutil.Abort, |
761a87134501
rebuildmeta: accept unrelated svn repo with --unsafe-skip-uuid-check
Patrick Mezard <patrick@mezard.eu>
parents:
899
diff
changeset
|
334 svncommands.rebuildmeta, |
761a87134501
rebuildmeta: accept unrelated svn repo with --unsafe-skip-uuid-check
Patrick Mezard <patrick@mezard.eu>
parents:
899
diff
changeset
|
335 self.ui(), repo=self.repo, args=[otherurl]) |
761a87134501
rebuildmeta: accept unrelated svn repo with --unsafe-skip-uuid-check
Patrick Mezard <patrick@mezard.eu>
parents:
899
diff
changeset
|
336 # rebuildmeta --unsafe-skip-uuid-check with unrelated repo |
761a87134501
rebuildmeta: accept unrelated svn repo with --unsafe-skip-uuid-check
Patrick Mezard <patrick@mezard.eu>
parents:
899
diff
changeset
|
337 svncommands.rebuildmeta(self.ui(), repo=self.repo, args=[otherurl], |
761a87134501
rebuildmeta: accept unrelated svn repo with --unsafe-skip-uuid-check
Patrick Mezard <patrick@mezard.eu>
parents:
899
diff
changeset
|
338 unsafe_skip_uuid_check=True) |