Merge lp:~mwhudson/launchpad/bzr-2.1c1-update into lp:launchpad
- bzr-2.1c1-update
- Merge into devel
Status: | Merged |
---|---|
Approved by: | Michael Hudson-Doyle |
Approved revision: | not available |
Merged at revision: | not available |
Proposed branch: | lp:~mwhudson/launchpad/bzr-2.1c1-update |
Merge into: | lp:launchpad |
Diff against target: |
1289 lines (+216/-170) 39 files modified
bzrplugins/lpserve.py (+2/-2) cronscripts/mpcreationjobs.py (+2/-2) cronscripts/rosetta-branches.py (+2/-2) cronscripts/sendbranchmail.py (+2/-2) lib/canonical/launchpad/webapp/tests/test_errorlog.py (+1/-0) lib/lp/code/mail/codehandler.py (+2/-2) lib/lp/code/mail/tests/test_codehandler.py (+2/-2) lib/lp/code/model/branchjob.py (+4/-5) lib/lp/code/model/branchmergeproposaljob.py (+4/-4) lib/lp/code/model/directbranchcommit.py (+2/-2) lib/lp/codehosting/bzrutils.py (+2/-2) lib/lp/codehosting/codeimport/tests/servers.py (+6/-6) lib/lp/codehosting/codeimport/tests/test_foreigntree.py (+4/-4) lib/lp/codehosting/codeimport/tests/test_worker.py (+8/-8) lib/lp/codehosting/codeimport/tests/test_workermonitor.py (+16/-10) lib/lp/codehosting/puller/tests/test_acceptance.py (+4/-4) lib/lp/codehosting/puller/tests/test_worker.py (+2/-4) lib/lp/codehosting/puller/tests/test_worker_formats.py (+0/-5) lib/lp/codehosting/puller/worker.py (+2/-2) lib/lp/codehosting/scanner/branch_scanner.py (+3/-2) lib/lp/codehosting/scanner/fixture.py (+17/-1) lib/lp/codehosting/scanner/tests/test_bzrsync.py (+6/-6) lib/lp/codehosting/sftp.py (+1/-1) lib/lp/codehosting/sshserver/tests/test_logging.py (+0/-18) lib/lp/codehosting/tests/servers.py (+2/-2) lib/lp/codehosting/tests/test_acceptance.py (+4/-4) lib/lp/codehosting/tests/test_branchdistro.py (+2/-2) lib/lp/codehosting/tests/test_bzrutils.py (+4/-4) lib/lp/codehosting/tests/test_sftp.py (+6/-0) lib/lp/codehosting/vfs/branchfs.py (+8/-8) lib/lp/codehosting/vfs/tests/test_branchfs.py (+45/-24) lib/lp/codehosting/vfs/tests/test_filesystem.py (+2/-2) lib/lp/codehosting/vfs/tests/test_transport.py (+2/-2) lib/lp/codehosting/vfs/transport.py (+13/-13) lib/lp/testing/__init__.py (+26/-5) lib/lp/translations/scripts/translations_to_branch.py (+2/-2) scripts/branch-distro.py (+2/-2) scripts/update-stacked-on.py (+2/-2) versions.cfg (+2/-2) |
To merge this branch: | bzr merge lp:~mwhudson/launchpad/bzr-2.1c1-update |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Henning Eggers (community) | code | Approve | |
Review via email: mp+18358@code.launchpad.net |
Commit message
Upgrade to bzr 2.1rc2, with fixes for bug 514090 and bug 513432
Description of the change
Michael Hudson-Doyle (mwhudson) wrote : | # |
Henning Eggers (henninge) wrote : | # |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
> Hi there,
>
> This branch updates Launchpad to bzr 2.1rc1. It's mostly very boring fallout from bzrlib's Server class setUp -> start_server renaming although there a few test infrastructure and logging related changes too.
>
Yes, this was actually kind of boring but I managed to stay awake ... ;-)
As a consequence, I only have one marginal suggestion. But if you don't
feel like doing something about it, feel free to land this branch ... ;)
Thank you for doing this boring work!
review approve code
Cheers,
Henning
> === modified file 'lib/lp/
> --- lib/lp/
> +++ lib/lp/
> @@ -23,7 +23,7 @@
> from lp.codehosting.
> BzrSync, schedule_
> from lp.codehosting.
> - Fixtures, make_zope_
> + Fixtures, make_zope_
> from canonical.
>
>
> @@ -100,7 +100,8 @@
> schedule_
> ]
> server = get_scanner_
> - fixture = Fixtures([server, make_zope_
> + fixture = Fixtures(
> + [ServerFixture(
Wouldn't it be cool to be able to just do "IFixture(server)" here? See
below.
> self.log.
> branches = getUtility(
> run_with_
>
> === modified file 'lib/lp/
> --- lib/lp/
> +++ lib/lp/
> @@ -1,4 +1,4 @@
> -# Copyright 2009 Canonical Ltd. This software is licensed under the
> +# Copyright 2009, 2010 Canonical Ltd. This software is licensed under the
> # GNU Affero General Public License version 3 (see the file LICENSE).
>
> # pylint: disable-msg=E0211
> @@ -16,6 +16,7 @@
> 'IFixture',
> 'make_zope_
> 'run_with_fixture',
> + 'ServerFixture',
> 'with_fixture',
> ]
>
> @@ -121,3 +122,18 @@
>
> def make_zope_
> return Fixtures(
> +
> +
> +class ServerFixture:
> + """Adapt a bzrlib `Server` into an `IFixture`."""
> +
> + implements(
adapts(...)
Maybe this could be registered as a real adapter? But I am not sure if
there is an interface available that could be adapted.
> +
> + def __init__(self, server):
> + self.server = server
> +
> + def setUp(self):
> + self.server.
> +
> + def tearDown(self):
> + self.server.
>
-----BEGIN PGP SIGNATURE----- iEYEARECAAYFAkt
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://
Preview Diff
1 | === modified file 'bzrplugins/lpserve.py' | |||
2 | --- bzrplugins/lpserve.py 2009-07-17 00:26:05 +0000 | |||
3 | +++ bzrplugins/lpserve.py 2010-02-04 00:33:17 +0000 | |||
4 | @@ -92,7 +92,7 @@ | |||
5 | 92 | lp_server = get_lp_server( | 92 | lp_server = get_lp_server( |
6 | 93 | int(user_id), branchfs_endpoint_url, | 93 | int(user_id), branchfs_endpoint_url, |
7 | 94 | upload_directory, mirror_directory) | 94 | upload_directory, mirror_directory) |
9 | 95 | lp_server.setUp() | 95 | lp_server.start_server() |
10 | 96 | 96 | ||
11 | 97 | old_lockdir_timeout = lockdir._DEFAULT_TIMEOUT_SECONDS | 97 | old_lockdir_timeout = lockdir._DEFAULT_TIMEOUT_SECONDS |
12 | 98 | try: | 98 | try: |
13 | @@ -102,7 +102,7 @@ | |||
14 | 102 | self.run_server(smart_server) | 102 | self.run_server(smart_server) |
15 | 103 | finally: | 103 | finally: |
16 | 104 | lockdir._DEFAULT_TIMEOUT_SECONDS = old_lockdir_timeout | 104 | lockdir._DEFAULT_TIMEOUT_SECONDS = old_lockdir_timeout |
18 | 105 | lp_server.tearDown() | 105 | lp_server.stop_server() |
19 | 106 | 106 | ||
20 | 107 | 107 | ||
21 | 108 | register_command(cmd_launchpad_server) | 108 | register_command(cmd_launchpad_server) |
22 | 109 | 109 | ||
23 | === modified file 'cronscripts/mpcreationjobs.py' | |||
24 | --- cronscripts/mpcreationjobs.py 2009-10-13 14:38:07 +0000 | |||
25 | +++ cronscripts/mpcreationjobs.py 2010-02-04 00:33:17 +0000 | |||
26 | @@ -33,11 +33,11 @@ | |||
27 | 33 | job_source = getUtility(IMergeProposalCreatedJobSource) | 33 | job_source = getUtility(IMergeProposalCreatedJobSource) |
28 | 34 | runner = JobRunner.fromReady(job_source, self.logger) | 34 | runner = JobRunner.fromReady(job_source, self.logger) |
29 | 35 | server = get_scanner_server() | 35 | server = get_scanner_server() |
31 | 36 | server.setUp() | 36 | server.start_server() |
32 | 37 | try: | 37 | try: |
33 | 38 | runner.runAll() | 38 | runner.runAll() |
34 | 39 | finally: | 39 | finally: |
36 | 40 | server.tearDown() | 40 | server.stop_server() |
37 | 41 | self.logger.info( | 41 | self.logger.info( |
38 | 42 | 'Ran %d MergeProposalCreatedJobs.', len(runner.completed_jobs)) | 42 | 'Ran %d MergeProposalCreatedJobs.', len(runner.completed_jobs)) |
39 | 43 | 43 | ||
40 | 44 | 44 | ||
41 | === modified file 'cronscripts/rosetta-branches.py' | |||
42 | --- cronscripts/rosetta-branches.py 2009-10-13 14:38:07 +0000 | |||
43 | +++ cronscripts/rosetta-branches.py 2010-02-04 00:33:17 +0000 | |||
44 | @@ -32,11 +32,11 @@ | |||
45 | 32 | runner = JobRunner.fromReady( | 32 | runner = JobRunner.fromReady( |
46 | 33 | getUtility(IRosettaUploadJobSource), self.logger) | 33 | getUtility(IRosettaUploadJobSource), self.logger) |
47 | 34 | server = get_scanner_server() | 34 | server = get_scanner_server() |
49 | 35 | server.setUp() | 35 | server.start_server() |
50 | 36 | try: | 36 | try: |
51 | 37 | runner.runAll() | 37 | runner.runAll() |
52 | 38 | finally: | 38 | finally: |
54 | 39 | server.tearDown() | 39 | server.stop_server() |
55 | 40 | self.logger.info('Ran %d RosettaBranchJobs.', | 40 | self.logger.info('Ran %d RosettaBranchJobs.', |
56 | 41 | len(runner.completed_jobs)) | 41 | len(runner.completed_jobs)) |
57 | 42 | 42 | ||
58 | 43 | 43 | ||
59 | === modified file 'cronscripts/sendbranchmail.py' | |||
60 | --- cronscripts/sendbranchmail.py 2009-10-13 14:38:07 +0000 | |||
61 | +++ cronscripts/sendbranchmail.py 2010-02-04 00:33:17 +0000 | |||
62 | @@ -33,11 +33,11 @@ | |||
63 | 33 | jobs.extend(getUtility(IRevisionsAddedJobSource).iterReady()) | 33 | jobs.extend(getUtility(IRevisionsAddedJobSource).iterReady()) |
64 | 34 | runner = JobRunner(jobs, self.logger) | 34 | runner = JobRunner(jobs, self.logger) |
65 | 35 | server = get_scanner_server() | 35 | server = get_scanner_server() |
67 | 36 | server.setUp() | 36 | server.start_server() |
68 | 37 | try: | 37 | try: |
69 | 38 | runner.runAll() | 38 | runner.runAll() |
70 | 39 | finally: | 39 | finally: |
72 | 40 | server.tearDown() | 40 | server.stop_server() |
73 | 41 | self.logger.info( | 41 | self.logger.info( |
74 | 42 | 'Ran %d RevisionMailJobs.' % len(runner.completed_jobs)) | 42 | 'Ran %d RevisionMailJobs.' % len(runner.completed_jobs)) |
75 | 43 | 43 | ||
76 | 44 | 44 | ||
77 | === modified file 'lib/canonical/launchpad/webapp/tests/test_errorlog.py' | |||
78 | --- lib/canonical/launchpad/webapp/tests/test_errorlog.py 2009-11-26 16:06:55 +0000 | |||
79 | +++ lib/canonical/launchpad/webapp/tests/test_errorlog.py 2010-02-04 00:33:17 +0000 | |||
80 | @@ -581,6 +581,7 @@ | |||
81 | 581 | class UnprintableException(Exception): | 581 | class UnprintableException(Exception): |
82 | 582 | def __str__(self): | 582 | def __str__(self): |
83 | 583 | raise RuntimeError('arrgh') | 583 | raise RuntimeError('arrgh') |
84 | 584 | __repr__ = __str__ | ||
85 | 584 | 585 | ||
86 | 585 | log = InstalledHandler('SiteError') | 586 | log = InstalledHandler('SiteError') |
87 | 586 | try: | 587 | try: |
88 | 587 | 588 | ||
89 | === modified file 'lib/lp/code/mail/codehandler.py' | |||
90 | --- lib/lp/code/mail/codehandler.py 2009-12-07 02:57:22 +0000 | |||
91 | +++ lib/lp/code/mail/codehandler.py 2010-02-04 00:33:17 +0000 | |||
92 | @@ -491,7 +491,7 @@ | |||
93 | 491 | 491 | ||
94 | 492 | # Create the LP server as if the submitter was pushing a branch to LP. | 492 | # Create the LP server as if the submitter was pushing a branch to LP. |
95 | 493 | lp_server = get_lp_server(submitter.id) | 493 | lp_server = get_lp_server(submitter.id) |
97 | 494 | lp_server.setUp() | 494 | lp_server.start_server() |
98 | 495 | try: | 495 | try: |
99 | 496 | source_url = urljoin(lp_server.get_url(), db_source.unique_name) | 496 | source_url = urljoin(lp_server.get_url(), db_source.unique_name) |
100 | 497 | target_url = urljoin(lp_server.get_url(), db_target.unique_name) | 497 | target_url = urljoin(lp_server.get_url(), db_target.unique_name) |
101 | @@ -512,7 +512,7 @@ | |||
102 | 512 | db_source.requestMirror() | 512 | db_source.requestMirror() |
103 | 513 | return db_source | 513 | return db_source |
104 | 514 | finally: | 514 | finally: |
106 | 515 | lp_server.tearDown() | 515 | lp_server.stop_server() |
107 | 516 | 516 | ||
108 | 517 | def _pullRevisionsFromMergeDirectiveIntoSourceBranch(self, md, | 517 | def _pullRevisionsFromMergeDirectiveIntoSourceBranch(self, md, |
109 | 518 | target_url, | 518 | target_url, |
110 | 519 | 519 | ||
111 | === modified file 'lib/lp/code/mail/tests/test_codehandler.py' | |||
112 | --- lib/lp/code/mail/tests/test_codehandler.py 2010-01-12 01:25:35 +0000 | |||
113 | +++ lib/lp/code/mail/tests/test_codehandler.py 2010-02-04 00:33:17 +0000 | |||
114 | @@ -850,8 +850,8 @@ | |||
115 | 850 | The client has write access to the branch. | 850 | The client has write access to the branch. |
116 | 851 | """ | 851 | """ |
117 | 852 | lp_server = get_lp_server(db_branch.owner.id) | 852 | lp_server = get_lp_server(db_branch.owner.id) |
120 | 853 | lp_server.setUp() | 853 | lp_server.start_server() |
121 | 854 | self.addCleanup(lp_server.tearDown) | 854 | self.addCleanup(lp_server.stop_server) |
122 | 855 | branch_url = urljoin(lp_server.get_url(), db_branch.unique_name) | 855 | branch_url = urljoin(lp_server.get_url(), db_branch.unique_name) |
123 | 856 | return Branch.open(branch_url) | 856 | return Branch.open(branch_url) |
124 | 857 | 857 | ||
125 | 858 | 858 | ||
126 | === modified file 'lib/lp/code/model/branchjob.py' | |||
127 | --- lib/lp/code/model/branchjob.py 2010-02-03 11:17:12 +0000 | |||
128 | +++ lib/lp/code/model/branchjob.py 2010-02-04 00:33:17 +0000 | |||
129 | @@ -50,8 +50,7 @@ | |||
130 | 50 | from lp.code.model.revision import RevisionSet | 50 | from lp.code.model.revision import RevisionSet |
131 | 51 | from lp.codehosting.scanner import buglinks, email, mergedetection | 51 | from lp.codehosting.scanner import buglinks, email, mergedetection |
132 | 52 | from lp.codehosting.scanner.fixture import ( | 52 | from lp.codehosting.scanner.fixture import ( |
135 | 53 | Fixtures, make_zope_event_fixture, run_with_fixture | 53 | Fixtures, ServerFixture, make_zope_event_fixture) |
134 | 54 | ) | ||
136 | 55 | from lp.codehosting.scanner.bzrsync import ( | 54 | from lp.codehosting.scanner.bzrsync import ( |
137 | 56 | BzrSync, schedule_diff_updates, schedule_translation_upload | 55 | BzrSync, schedule_diff_updates, schedule_translation_upload |
138 | 57 | ) | 56 | ) |
139 | @@ -299,7 +298,7 @@ | |||
140 | 299 | schedule_translation_upload, | 298 | schedule_translation_upload, |
141 | 300 | ] | 299 | ] |
142 | 301 | fixture = Fixtures( | 300 | fixture = Fixtures( |
144 | 302 | [cls.server, make_zope_event_fixture(*event_handlers)]) | 301 | [ServerFixture(cls.server), make_zope_event_fixture(*event_handlers)]) |
145 | 303 | fixture.setUp() | 302 | fixture.setUp() |
146 | 304 | yield | 303 | yield |
147 | 305 | fixture.tearDown() | 304 | fixture.tearDown() |
148 | @@ -329,9 +328,9 @@ | |||
149 | 329 | """See `IBranchUpgradeJobSource`.""" | 328 | """See `IBranchUpgradeJobSource`.""" |
150 | 330 | errorlog.globalErrorUtility.configure('upgrade_branches') | 329 | errorlog.globalErrorUtility.configure('upgrade_branches') |
151 | 331 | server = get_multi_server(write_hosted=True) | 330 | server = get_multi_server(write_hosted=True) |
153 | 332 | server.setUp() | 331 | server.start_server() |
154 | 333 | yield | 332 | yield |
156 | 334 | server.tearDown() | 333 | server.stop_server() |
157 | 335 | 334 | ||
158 | 336 | def run(self): | 335 | def run(self): |
159 | 337 | """See `IBranchUpgradeJob`.""" | 336 | """See `IBranchUpgradeJob`.""" |
160 | 338 | 337 | ||
161 | === modified file 'lib/lp/code/model/branchmergeproposaljob.py' | |||
162 | --- lib/lp/code/model/branchmergeproposaljob.py 2010-02-01 20:49:35 +0000 | |||
163 | +++ lib/lp/code/model/branchmergeproposaljob.py 2010-02-04 00:33:17 +0000 | |||
164 | @@ -272,9 +272,9 @@ | |||
165 | 272 | """See `IUpdatePreviewDiffJobSource`.""" | 272 | """See `IUpdatePreviewDiffJobSource`.""" |
166 | 273 | errorlog.globalErrorUtility.configure('update_preview_diffs') | 273 | errorlog.globalErrorUtility.configure('update_preview_diffs') |
167 | 274 | server = get_scanner_server() | 274 | server = get_scanner_server() |
169 | 275 | server.setUp() | 275 | server.start_server() |
170 | 276 | yield | 276 | yield |
172 | 277 | server.tearDown() | 277 | server.stop_server() |
173 | 278 | 278 | ||
174 | 279 | def run(self): | 279 | def run(self): |
175 | 280 | """See `IRunnableJob`""" | 280 | """See `IRunnableJob`""" |
176 | @@ -339,11 +339,11 @@ | |||
177 | 339 | setupInteraction(principal, email_addr) | 339 | setupInteraction(principal, email_addr) |
178 | 340 | 340 | ||
179 | 341 | server = get_multi_server(write_hosted=True) | 341 | server = get_multi_server(write_hosted=True) |
181 | 342 | server.setUp() | 342 | server.start_server() |
182 | 343 | try: | 343 | try: |
183 | 344 | return CodeHandler().processMergeProposal(message) | 344 | return CodeHandler().processMergeProposal(message) |
184 | 345 | finally: | 345 | finally: |
186 | 346 | server.tearDown() | 346 | server.stop_server() |
187 | 347 | 347 | ||
188 | 348 | def getOopsRecipients(self): | 348 | def getOopsRecipients(self): |
189 | 349 | message = self.getMessage() | 349 | message = self.getMessage() |
190 | 350 | 350 | ||
191 | === modified file 'lib/lp/code/model/directbranchcommit.py' | |||
192 | --- lib/lp/code/model/directbranchcommit.py 2009-11-18 13:26:03 +0000 | |||
193 | +++ lib/lp/code/model/directbranchcommit.py 2010-02-04 00:33:17 +0000 | |||
194 | @@ -56,12 +56,12 @@ | |||
195 | 56 | allows write access to lp-hosted:/// URLs: | 56 | allows write access to lp-hosted:/// URLs: |
196 | 57 | 57 | ||
197 | 58 | bzrserver = get_multi_server(write_hosted=True) | 58 | bzrserver = get_multi_server(write_hosted=True) |
199 | 59 | bzrserver.setUp() | 59 | bzrserver.start_server() |
200 | 60 | try: | 60 | try: |
201 | 61 | branchcommit = DirectBranchCommit(branch) | 61 | branchcommit = DirectBranchCommit(branch) |
202 | 62 | # ... | 62 | # ... |
203 | 63 | finally: | 63 | finally: |
205 | 64 | bzrserver.tearDown() | 64 | bzrserver.stop_server() |
206 | 65 | 65 | ||
207 | 66 | Or in tests, just call `useBzrBranches` before creating a | 66 | Or in tests, just call `useBzrBranches` before creating a |
208 | 67 | `DirectBranchCommit`. | 67 | `DirectBranchCommit`. |
209 | 68 | 68 | ||
210 | === modified file 'lib/lp/codehosting/bzrutils.py' | |||
211 | --- lib/lp/codehosting/bzrutils.py 2009-12-22 23:50:27 +0000 | |||
212 | +++ lib/lp/codehosting/bzrutils.py 2010-02-04 00:33:17 +0000 | |||
213 | @@ -217,13 +217,13 @@ | |||
214 | 217 | """ | 217 | """ |
215 | 218 | self.schemes = schemes | 218 | self.schemes = schemes |
216 | 219 | 219 | ||
218 | 220 | def setUp(self): | 220 | def start_server(self): |
219 | 221 | """Prevent transports being created for specified schemes.""" | 221 | """Prevent transports being created for specified schemes.""" |
220 | 222 | for scheme in self.schemes: | 222 | for scheme in self.schemes: |
221 | 223 | register_transport(scheme, self._deny) | 223 | register_transport(scheme, self._deny) |
222 | 224 | self._is_set_up = True | 224 | self._is_set_up = True |
223 | 225 | 225 | ||
225 | 226 | def tearDown(self): | 226 | def stop_server(self): |
226 | 227 | """Re-enable creation of transports for specified schemes.""" | 227 | """Re-enable creation of transports for specified schemes.""" |
227 | 228 | if not self._is_set_up: | 228 | if not self._is_set_up: |
228 | 229 | return | 229 | return |
229 | 230 | 230 | ||
230 | === modified file 'lib/lp/codehosting/codeimport/tests/servers.py' | |||
231 | --- lib/lp/codehosting/codeimport/tests/servers.py 2009-12-14 18:11:07 +0000 | |||
232 | +++ lib/lp/codehosting/codeimport/tests/servers.py 2010-02-04 00:33:17 +0000 | |||
233 | @@ -82,8 +82,8 @@ | |||
234 | 82 | else: | 82 | else: |
235 | 83 | return local_path_to_url(self.repository_path) | 83 | return local_path_to_url(self.repository_path) |
236 | 84 | 84 | ||
239 | 85 | def setUp(self): | 85 | def start_server(self): |
240 | 86 | super(SubversionServer, self).setUp() | 86 | super(SubversionServer, self).start_server() |
241 | 87 | self.createRepository(self.repository_path) | 87 | self.createRepository(self.repository_path) |
242 | 88 | if self._use_svn_serve: | 88 | if self._use_svn_serve: |
243 | 89 | conf_path = os.path.join( | 89 | conf_path = os.path.join( |
244 | @@ -109,8 +109,8 @@ | |||
245 | 109 | raise AssertionError( | 109 | raise AssertionError( |
246 | 110 | "svnserve didn't start accepting connections") | 110 | "svnserve didn't start accepting connections") |
247 | 111 | 111 | ||
250 | 112 | def tearDown(self): | 112 | def stop_server(self): |
251 | 113 | super(SubversionServer, self).tearDown() | 113 | super(SubversionServer, self).stop_server() |
252 | 114 | if self._use_svn_serve: | 114 | if self._use_svn_serve: |
253 | 115 | os.kill(self._svnserve.pid, signal.SIGINT) | 115 | os.kill(self._svnserve.pid, signal.SIGINT) |
254 | 116 | self._svnserve.communicate() | 116 | self._svnserve.communicate() |
255 | @@ -186,9 +186,9 @@ | |||
256 | 186 | module=module_name, log="import", vendor="vendor", | 186 | module=module_name, log="import", vendor="vendor", |
257 | 187 | release=['release'], dir='.') | 187 | release=['release'], dir='.') |
258 | 188 | 188 | ||
260 | 189 | def setUp(self): | 189 | def start_server(self): |
261 | 190 | # Initialize the repository. | 190 | # Initialize the repository. |
263 | 191 | super(CVSServer, self).setUp() | 191 | super(CVSServer, self).start_server() |
264 | 192 | self._repository = self.createRepository(self._repository_path) | 192 | self._repository = self.createRepository(self._repository_path) |
265 | 193 | 193 | ||
266 | 194 | 194 | ||
267 | 195 | 195 | ||
268 | === modified file 'lib/lp/codehosting/codeimport/tests/test_foreigntree.py' | |||
269 | --- lib/lp/codehosting/codeimport/tests/test_foreigntree.py 2009-06-25 04:06:00 +0000 | |||
270 | +++ lib/lp/codehosting/codeimport/tests/test_foreigntree.py 2010-02-04 00:33:17 +0000 | |||
271 | @@ -40,8 +40,8 @@ | |||
272 | 40 | def setUp(self): | 40 | def setUp(self): |
273 | 41 | TestCaseWithTransport.setUp(self) | 41 | TestCaseWithTransport.setUp(self) |
274 | 42 | svn_server = SubversionServer('repository_path') | 42 | svn_server = SubversionServer('repository_path') |
277 | 43 | svn_server.setUp() | 43 | svn_server.start_server() |
278 | 44 | self.addCleanup(svn_server.tearDown) | 44 | self.addCleanup(svn_server.stop_server) |
279 | 45 | self.svn_branch_url = svn_server.makeBranch( | 45 | self.svn_branch_url = svn_server.makeBranch( |
280 | 46 | 'trunk', [('README', 'original')]) | 46 | 'trunk', [('README', 'original')]) |
281 | 47 | 47 | ||
282 | @@ -122,11 +122,11 @@ | |||
283 | 122 | def setUp(self): | 122 | def setUp(self): |
284 | 123 | TestCaseWithTransport.setUp(self) | 123 | TestCaseWithTransport.setUp(self) |
285 | 124 | self.cvs_server = CVSServer('repository_path') | 124 | self.cvs_server = CVSServer('repository_path') |
287 | 125 | self.cvs_server.setUp() | 125 | self.cvs_server.start_server() |
288 | 126 | self.module_name = 'test_module' | 126 | self.module_name = 'test_module' |
289 | 127 | self.cvs_server.makeModule( | 127 | self.cvs_server.makeModule( |
290 | 128 | self.module_name, [('README', 'Random content\n')]) | 128 | self.module_name, [('README', 'Random content\n')]) |
292 | 129 | self.addCleanup(self.cvs_server.tearDown) | 129 | self.addCleanup(self.cvs_server.stop_server) |
293 | 130 | 130 | ||
294 | 131 | def test_path(self): | 131 | def test_path(self): |
295 | 132 | # The local path is passed to the constructor and available as | 132 | # The local path is passed to the constructor and available as |
296 | 133 | 133 | ||
297 | === modified file 'lib/lp/codehosting/codeimport/tests/test_worker.py' | |||
298 | --- lib/lp/codehosting/codeimport/tests/test_worker.py 2010-02-01 03:55:59 +0000 | |||
299 | +++ lib/lp/codehosting/codeimport/tests/test_worker.py 2010-02-04 00:33:17 +0000 | |||
300 | @@ -773,8 +773,8 @@ | |||
301 | 773 | """Make a CVS `CodeImportSourceDetails` pointing at a real CVS repo. | 773 | """Make a CVS `CodeImportSourceDetails` pointing at a real CVS repo. |
302 | 774 | """ | 774 | """ |
303 | 775 | cvs_server = CVSServer(self.makeTemporaryDirectory()) | 775 | cvs_server = CVSServer(self.makeTemporaryDirectory()) |
306 | 776 | cvs_server.setUp() | 776 | cvs_server.start_server() |
307 | 777 | self.addCleanup(cvs_server.tearDown) | 777 | self.addCleanup(cvs_server.stop_server) |
308 | 778 | 778 | ||
309 | 779 | cvs_server.makeModule('trunk', [('README', 'original\n')]) | 779 | cvs_server.makeModule('trunk', [('README', 'original\n')]) |
310 | 780 | 780 | ||
311 | @@ -804,8 +804,8 @@ | |||
312 | 804 | """Make a SVN `CodeImportSourceDetails` pointing at a real SVN repo. | 804 | """Make a SVN `CodeImportSourceDetails` pointing at a real SVN repo. |
313 | 805 | """ | 805 | """ |
314 | 806 | svn_server = SubversionServer(self.makeTemporaryDirectory()) | 806 | svn_server = SubversionServer(self.makeTemporaryDirectory()) |
317 | 807 | svn_server.setUp() | 807 | svn_server.start_server() |
318 | 808 | self.addCleanup(svn_server.tearDown) | 808 | self.addCleanup(svn_server.stop_server) |
319 | 809 | 809 | ||
320 | 810 | svn_branch_url = svn_server.makeBranch(branch_name, files) | 810 | svn_branch_url = svn_server.makeBranch(branch_name, files) |
321 | 811 | svn_branch_url = svn_branch_url.replace('://localhost/', ':///') | 811 | svn_branch_url = svn_branch_url.replace('://localhost/', ':///') |
322 | @@ -897,8 +897,8 @@ | |||
323 | 897 | """ | 897 | """ |
324 | 898 | repository_path = self.makeTemporaryDirectory() | 898 | repository_path = self.makeTemporaryDirectory() |
325 | 899 | git_server = GitServer(repository_path) | 899 | git_server = GitServer(repository_path) |
328 | 900 | git_server.setUp() | 900 | git_server.start_server() |
329 | 901 | self.addCleanup(git_server.tearDown) | 901 | self.addCleanup(git_server.stop_server) |
330 | 902 | 902 | ||
331 | 903 | git_server.makeRepo(files) | 903 | git_server.makeRepo(files) |
332 | 904 | self.foreign_commit_count = 1 | 904 | self.foreign_commit_count = 1 |
333 | @@ -948,8 +948,8 @@ | |||
334 | 948 | """ | 948 | """ |
335 | 949 | repository_path = self.makeTemporaryDirectory() | 949 | repository_path = self.makeTemporaryDirectory() |
336 | 950 | hg_server = MercurialServer(repository_path) | 950 | hg_server = MercurialServer(repository_path) |
339 | 951 | hg_server.setUp() | 951 | hg_server.start_server() |
340 | 952 | self.addCleanup(hg_server.tearDown) | 952 | self.addCleanup(hg_server.stop_server) |
341 | 953 | 953 | ||
342 | 954 | hg_server.makeRepo(files) | 954 | hg_server.makeRepo(files) |
343 | 955 | self.foreign_commit_count = 1 | 955 | self.foreign_commit_count = 1 |
344 | 956 | 956 | ||
345 | === modified file 'lib/lp/codehosting/codeimport/tests/test_workermonitor.py' | |||
346 | --- lib/lp/codehosting/codeimport/tests/test_workermonitor.py 2010-02-01 03:49:23 +0000 | |||
347 | +++ lib/lp/codehosting/codeimport/tests/test_workermonitor.py 2010-02-04 00:33:17 +0000 | |||
348 | @@ -358,6 +358,9 @@ | |||
349 | 358 | """Tests for `CodeImportWorkerMonitor.run` that don't launch a subprocess. | 358 | """Tests for `CodeImportWorkerMonitor.run` that don't launch a subprocess. |
350 | 359 | """ | 359 | """ |
351 | 360 | 360 | ||
352 | 361 | # This works around a clash between the TrialTestCase and the BzrTestCase. | ||
353 | 362 | skip = None | ||
354 | 363 | |||
355 | 361 | class WorkerMonitor(CodeImportWorkerMonitor): | 364 | class WorkerMonitor(CodeImportWorkerMonitor): |
356 | 362 | """See `CodeImportWorkerMonitor`. | 365 | """See `CodeImportWorkerMonitor`. |
357 | 363 | 366 | ||
358 | @@ -472,6 +475,9 @@ | |||
359 | 472 | 475 | ||
360 | 473 | layer = TwistedLaunchpadZopelessLayer | 476 | layer = TwistedLaunchpadZopelessLayer |
361 | 474 | 477 | ||
362 | 478 | # This works around a clash between the TrialTestCase and the BzrTestCase. | ||
363 | 479 | skip = None | ||
364 | 480 | |||
365 | 475 | def setUp(self): | 481 | def setUp(self): |
366 | 476 | BzrTestCase.setUp(self) | 482 | BzrTestCase.setUp(self) |
367 | 477 | login('no-priv@canonical.com') | 483 | login('no-priv@canonical.com') |
368 | @@ -489,8 +495,8 @@ | |||
369 | 489 | def makeCVSCodeImport(self): | 495 | def makeCVSCodeImport(self): |
370 | 490 | """Make a `CodeImport` that points to a real CVS repository.""" | 496 | """Make a `CodeImport` that points to a real CVS repository.""" |
371 | 491 | cvs_server = CVSServer(self.repo_path) | 497 | cvs_server = CVSServer(self.repo_path) |
374 | 492 | cvs_server.setUp() | 498 | cvs_server.start_server() |
375 | 493 | self.addCleanup(cvs_server.tearDown) | 499 | self.addCleanup(cvs_server.stop_server) |
376 | 494 | 500 | ||
377 | 495 | cvs_server.makeModule('trunk', [('README', 'original\n')]) | 501 | cvs_server.makeModule('trunk', [('README', 'original\n')]) |
378 | 496 | self.foreign_commit_count = 2 | 502 | self.foreign_commit_count = 2 |
379 | @@ -501,8 +507,8 @@ | |||
380 | 501 | def makeSVNCodeImport(self): | 507 | def makeSVNCodeImport(self): |
381 | 502 | """Make a `CodeImport` that points to a real Subversion repository.""" | 508 | """Make a `CodeImport` that points to a real Subversion repository.""" |
382 | 503 | self.subversion_server = SubversionServer(self.repo_path) | 509 | self.subversion_server = SubversionServer(self.repo_path) |
385 | 504 | self.subversion_server.setUp() | 510 | self.subversion_server.start_server() |
386 | 505 | self.addCleanup(self.subversion_server.tearDown) | 511 | self.addCleanup(self.subversion_server.stop_server) |
387 | 506 | url = self.subversion_server.makeBranch( | 512 | url = self.subversion_server.makeBranch( |
388 | 507 | 'trunk', [('README', 'contents')]) | 513 | 'trunk', [('README', 'contents')]) |
389 | 508 | self.foreign_commit_count = 2 | 514 | self.foreign_commit_count = 2 |
390 | @@ -513,8 +519,8 @@ | |||
391 | 513 | """Make a `CodeImport` that points to a real Subversion repository.""" | 519 | """Make a `CodeImport` that points to a real Subversion repository.""" |
392 | 514 | self.subversion_server = SubversionServer( | 520 | self.subversion_server = SubversionServer( |
393 | 515 | self.repo_path, use_svn_serve=True) | 521 | self.repo_path, use_svn_serve=True) |
396 | 516 | self.subversion_server.setUp() | 522 | self.subversion_server.start_server() |
397 | 517 | self.addCleanup(self.subversion_server.tearDown) | 523 | self.addCleanup(self.subversion_server.stop_server) |
398 | 518 | url = self.subversion_server.makeBranch( | 524 | url = self.subversion_server.makeBranch( |
399 | 519 | 'trunk', [('README', 'contents')]) | 525 | 'trunk', [('README', 'contents')]) |
400 | 520 | self.foreign_commit_count = 2 | 526 | self.foreign_commit_count = 2 |
401 | @@ -526,8 +532,8 @@ | |||
402 | 526 | """Make a `CodeImport` that points to a real Git repository.""" | 532 | """Make a `CodeImport` that points to a real Git repository.""" |
403 | 527 | load_optional_plugin('git') | 533 | load_optional_plugin('git') |
404 | 528 | self.git_server = GitServer(self.repo_path) | 534 | self.git_server = GitServer(self.repo_path) |
407 | 529 | self.git_server.setUp() | 535 | self.git_server.start_server() |
408 | 530 | self.addCleanup(self.git_server.tearDown) | 536 | self.addCleanup(self.git_server.stop_server) |
409 | 531 | 537 | ||
410 | 532 | self.git_server.makeRepo([('README', 'contents')]) | 538 | self.git_server.makeRepo([('README', 'contents')]) |
411 | 533 | self.foreign_commit_count = 1 | 539 | self.foreign_commit_count = 1 |
412 | @@ -538,8 +544,8 @@ | |||
413 | 538 | """Make a `CodeImport` that points to a real Mercurial repository.""" | 544 | """Make a `CodeImport` that points to a real Mercurial repository.""" |
414 | 539 | load_optional_plugin('hg') | 545 | load_optional_plugin('hg') |
415 | 540 | self.hg_server = MercurialServer(self.repo_path) | 546 | self.hg_server = MercurialServer(self.repo_path) |
418 | 541 | self.hg_server.setUp() | 547 | self.hg_server.start_server() |
419 | 542 | self.addCleanup(self.hg_server.tearDown) | 548 | self.addCleanup(self.hg_server.stop_server) |
420 | 543 | 549 | ||
421 | 544 | self.hg_server.makeRepo([('README', 'contents')]) | 550 | self.hg_server.makeRepo([('README', 'contents')]) |
422 | 545 | self.foreign_commit_count = 1 | 551 | self.foreign_commit_count = 1 |
423 | 546 | 552 | ||
424 | === modified file 'lib/lp/codehosting/puller/tests/test_acceptance.py' | |||
425 | --- lib/lp/codehosting/puller/tests/test_acceptance.py 2009-09-17 05:07:50 +0000 | |||
426 | +++ lib/lp/codehosting/puller/tests/test_acceptance.py 2010-02-04 00:33:17 +0000 | |||
427 | @@ -140,7 +140,7 @@ | |||
428 | 140 | """Serve the current directory over HTTP, returning the server URL.""" | 140 | """Serve the current directory over HTTP, returning the server URL.""" |
429 | 141 | http_server = HttpServer() | 141 | http_server = HttpServer() |
430 | 142 | http_server.port = port | 142 | http_server.port = port |
432 | 143 | http_server.setUp() | 143 | http_server.start_server() |
433 | 144 | # Join cleanup added before the tearDown so the tearDown is executed | 144 | # Join cleanup added before the tearDown so the tearDown is executed |
434 | 145 | # first as this tells the thread to die. We then join explicitly as | 145 | # first as this tells the thread to die. We then join explicitly as |
435 | 146 | # the HttpServer.tearDown does not join. There is a check in the | 146 | # the HttpServer.tearDown does not join. There is a check in the |
436 | @@ -149,7 +149,7 @@ | |||
437 | 149 | # threads and let the garbage collector get them, however this causes | 149 | # threads and let the garbage collector get them, however this causes |
438 | 150 | # issues with the test runner. | 150 | # issues with the test runner. |
439 | 151 | self.addCleanup(http_server._http_thread.join) | 151 | self.addCleanup(http_server._http_thread.join) |
441 | 152 | self.addCleanup(http_server.tearDown) | 152 | self.addCleanup(http_server.stop_server) |
442 | 153 | return http_server.get_url().rstrip('/') | 153 | return http_server.get_url().rstrip('/') |
443 | 154 | 154 | ||
444 | 155 | def getLPServerForUser(self, user): | 155 | def getLPServerForUser(self, user): |
445 | @@ -167,8 +167,8 @@ | |||
446 | 167 | # in a subprocess which would have no way of knowing which directories | 167 | # in a subprocess which would have no way of knowing which directories |
447 | 168 | # to look in if we used freshly created temporary directories. | 168 | # to look in if we used freshly created temporary directories. |
448 | 169 | lp_server = get_lp_server(user.id) | 169 | lp_server = get_lp_server(user.id) |
451 | 170 | lp_server.setUp() | 170 | lp_server.start_server() |
452 | 171 | self.addCleanup(lp_server.tearDown) | 171 | self.addCleanup(lp_server.stop_server) |
453 | 172 | return lp_server | 172 | return lp_server |
454 | 173 | 173 | ||
455 | 174 | def openBranchAsUser(self, db_branch, user): | 174 | def openBranchAsUser(self, db_branch, user): |
456 | 175 | 175 | ||
457 | === modified file 'lib/lp/codehosting/puller/tests/test_worker.py' | |||
458 | --- lib/lp/codehosting/puller/tests/test_worker.py 2010-01-07 06:40:23 +0000 | |||
459 | +++ lib/lp/codehosting/puller/tests/test_worker.py 2010-02-04 00:33:17 +0000 | |||
460 | @@ -34,7 +34,6 @@ | |||
461 | 34 | from lp.testing import TestCase | 34 | from lp.testing import TestCase |
462 | 35 | from lp.testing.factory import LaunchpadObjectFactory | 35 | from lp.testing.factory import LaunchpadObjectFactory |
463 | 36 | from lazr.uri import URI | 36 | from lazr.uri import URI |
464 | 37 | from canonical.testing import reset_logging | ||
465 | 38 | 37 | ||
466 | 39 | 38 | ||
467 | 40 | def get_netstrings(line): | 39 | def get_netstrings(line): |
468 | @@ -737,13 +736,12 @@ | |||
469 | 737 | def tearDown(self): | 736 | def tearDown(self): |
470 | 738 | TestCaseWithTransport.tearDown(self) | 737 | TestCaseWithTransport.tearDown(self) |
471 | 739 | bzrlib.ui.ui_factory = self.saved_factory | 738 | bzrlib.ui.ui_factory = self.saved_factory |
472 | 740 | reset_logging() | ||
473 | 741 | 739 | ||
474 | 742 | def getHttpServerForCwd(self): | 740 | def getHttpServerForCwd(self): |
475 | 743 | """Get an `HttpServer` instance that serves from '.'.""" | 741 | """Get an `HttpServer` instance that serves from '.'.""" |
476 | 744 | server = HttpServer() | 742 | server = HttpServer() |
479 | 745 | server.setUp() | 743 | server.start_server() |
480 | 746 | self.addCleanup(server.tearDown) | 744 | self.addCleanup(server.stop_server) |
481 | 747 | # The gc.collect allows the threads behind any HTTP requests to exit. | 745 | # The gc.collect allows the threads behind any HTTP requests to exit. |
482 | 748 | self.addCleanup(gc.collect) | 746 | self.addCleanup(gc.collect) |
483 | 749 | return server | 747 | return server |
484 | 750 | 748 | ||
485 | === modified file 'lib/lp/codehosting/puller/tests/test_worker_formats.py' | |||
486 | --- lib/lp/codehosting/puller/tests/test_worker_formats.py 2009-12-22 23:52:00 +0000 | |||
487 | +++ lib/lp/codehosting/puller/tests/test_worker_formats.py 2010-02-04 00:33:17 +0000 | |||
488 | @@ -17,7 +17,6 @@ | |||
489 | 17 | from lp.codehosting.puller.tests import PullerWorkerMixin | 17 | from lp.codehosting.puller.tests import PullerWorkerMixin |
490 | 18 | from lp.codehosting.tests.helpers import LoomTestMixin | 18 | from lp.codehosting.tests.helpers import LoomTestMixin |
491 | 19 | from lazr.uri import URI | 19 | from lazr.uri import URI |
492 | 20 | from canonical.testing import reset_logging | ||
493 | 21 | 20 | ||
494 | 22 | 21 | ||
495 | 23 | class TestPullerWorkerFormats(TestCaseWithRepository, PullerWorkerMixin, | 22 | class TestPullerWorkerFormats(TestCaseWithRepository, PullerWorkerMixin, |
496 | @@ -31,10 +30,6 @@ | |||
497 | 31 | self.get_url(self._source_branch_path), | 30 | self.get_url(self._source_branch_path), |
498 | 32 | self.get_url('dest-path')) | 31 | self.get_url('dest-path')) |
499 | 33 | 32 | ||
500 | 34 | def tearDown(self): | ||
501 | 35 | TestCaseWithRepository.tearDown(self) | ||
502 | 36 | reset_logging() | ||
503 | 37 | |||
504 | 38 | def _createSourceBranch(self, repository_format, bzrdir_format, | 33 | def _createSourceBranch(self, repository_format, bzrdir_format, |
505 | 39 | branch_format=None): | 34 | branch_format=None): |
506 | 40 | """Make a source branch with the given formats.""" | 35 | """Make a source branch with the given formats.""" |
507 | 41 | 36 | ||
508 | === modified file 'lib/lp/codehosting/puller/worker.py' | |||
509 | --- lib/lp/codehosting/puller/worker.py 2010-01-07 05:04:49 +0000 | |||
510 | +++ lib/lp/codehosting/puller/worker.py 2010-02-04 00:33:17 +0000 | |||
511 | @@ -419,12 +419,12 @@ | |||
512 | 419 | from lp.codehosting.vfs import get_puller_server | 419 | from lp.codehosting.vfs import get_puller_server |
513 | 420 | 420 | ||
514 | 421 | server = get_puller_server() | 421 | server = get_puller_server() |
516 | 422 | server.setUp() | 422 | server.start_server() |
517 | 423 | try: | 423 | try: |
518 | 424 | source_branch = self.branch_mirrorer.open(self.source) | 424 | source_branch = self.branch_mirrorer.open(self.source) |
519 | 425 | return self.branch_mirrorer.mirror(source_branch, self.dest) | 425 | return self.branch_mirrorer.mirror(source_branch, self.dest) |
520 | 426 | finally: | 426 | finally: |
522 | 427 | server.tearDown() | 427 | server.stop_server() |
523 | 428 | 428 | ||
524 | 429 | def mirror(self): | 429 | def mirror(self): |
525 | 430 | """Open source and destination branches and pull source into | 430 | """Open source and destination branches and pull source into |
526 | 431 | 431 | ||
527 | === modified file 'lib/lp/codehosting/scanner/branch_scanner.py' | |||
528 | --- lib/lp/codehosting/scanner/branch_scanner.py 2009-12-17 02:00:16 +0000 | |||
529 | +++ lib/lp/codehosting/scanner/branch_scanner.py 2010-02-04 00:33:17 +0000 | |||
530 | @@ -23,7 +23,7 @@ | |||
531 | 23 | from lp.codehosting.scanner.bzrsync import ( | 23 | from lp.codehosting.scanner.bzrsync import ( |
532 | 24 | BzrSync, schedule_diff_updates, schedule_translation_upload) | 24 | BzrSync, schedule_diff_updates, schedule_translation_upload) |
533 | 25 | from lp.codehosting.scanner.fixture import ( | 25 | from lp.codehosting.scanner.fixture import ( |
535 | 26 | Fixtures, make_zope_event_fixture, run_with_fixture) | 26 | Fixtures, make_zope_event_fixture, run_with_fixture, ServerFixture) |
536 | 27 | from canonical.launchpad.webapp import canonical_url, errorlog | 27 | from canonical.launchpad.webapp import canonical_url, errorlog |
537 | 28 | 28 | ||
538 | 29 | 29 | ||
539 | @@ -100,7 +100,8 @@ | |||
540 | 100 | schedule_translation_upload, | 100 | schedule_translation_upload, |
541 | 101 | ] | 101 | ] |
542 | 102 | server = get_scanner_server() | 102 | server = get_scanner_server() |
544 | 103 | fixture = Fixtures([server, make_zope_event_fixture(*event_handlers)]) | 103 | fixture = Fixtures( |
545 | 104 | [ServerFixture(server), make_zope_event_fixture(*event_handlers)]) | ||
546 | 104 | self.log.info('Starting branch scanning') | 105 | self.log.info('Starting branch scanning') |
547 | 105 | branches = getUtility(IBranchScanner).getBranchesToScan() | 106 | branches = getUtility(IBranchScanner).getBranchesToScan() |
548 | 106 | run_with_fixture(fixture, self.scanBranches, branches) | 107 | run_with_fixture(fixture, self.scanBranches, branches) |
549 | 107 | 108 | ||
550 | === modified file 'lib/lp/codehosting/scanner/fixture.py' | |||
551 | --- lib/lp/codehosting/scanner/fixture.py 2009-06-30 16:56:07 +0000 | |||
552 | +++ lib/lp/codehosting/scanner/fixture.py 2010-02-04 00:33:17 +0000 | |||
553 | @@ -1,4 +1,4 @@ | |||
555 | 1 | # Copyright 2009 Canonical Ltd. This software is licensed under the | 1 | # Copyright 2009, 2010 Canonical Ltd. This software is licensed under the |
556 | 2 | # GNU Affero General Public License version 3 (see the file LICENSE). | 2 | # GNU Affero General Public License version 3 (see the file LICENSE). |
557 | 3 | 3 | ||
558 | 4 | # pylint: disable-msg=E0211 | 4 | # pylint: disable-msg=E0211 |
559 | @@ -16,6 +16,7 @@ | |||
560 | 16 | 'IFixture', | 16 | 'IFixture', |
561 | 17 | 'make_zope_event_fixture', | 17 | 'make_zope_event_fixture', |
562 | 18 | 'run_with_fixture', | 18 | 'run_with_fixture', |
563 | 19 | 'ServerFixture', | ||
564 | 19 | 'with_fixture', | 20 | 'with_fixture', |
565 | 20 | ] | 21 | ] |
566 | 21 | 22 | ||
567 | @@ -121,3 +122,18 @@ | |||
568 | 121 | 122 | ||
569 | 122 | def make_zope_event_fixture(*handlers): | 123 | def make_zope_event_fixture(*handlers): |
570 | 123 | return Fixtures(map(ZopeEventHandlerFixture, handlers)) | 124 | return Fixtures(map(ZopeEventHandlerFixture, handlers)) |
571 | 125 | |||
572 | 126 | |||
573 | 127 | class ServerFixture: | ||
574 | 128 | """Adapt a bzrlib `Server` into an `IFixture`.""" | ||
575 | 129 | |||
576 | 130 | implements(IFixture) | ||
577 | 131 | |||
578 | 132 | def __init__(self, server): | ||
579 | 133 | self.server = server | ||
580 | 134 | |||
581 | 135 | def setUp(self): | ||
582 | 136 | self.server.start_server() | ||
583 | 137 | |||
584 | 138 | def tearDown(self): | ||
585 | 139 | self.server.stop_server() | ||
586 | 124 | 140 | ||
587 | === modified file 'lib/lp/codehosting/scanner/tests/test_bzrsync.py' | |||
588 | --- lib/lp/codehosting/scanner/tests/test_bzrsync.py 2010-01-06 09:26:56 +0000 | |||
589 | +++ lib/lp/codehosting/scanner/tests/test_bzrsync.py 2010-02-04 00:33:17 +0000 | |||
590 | @@ -73,7 +73,7 @@ | |||
591 | 73 | self._url_prefix = url_prefix | 73 | self._url_prefix = url_prefix |
592 | 74 | self._chroot_server = None | 74 | self._chroot_server = None |
593 | 75 | 75 | ||
595 | 76 | def setUp(self): | 76 | def start_server(self): |
596 | 77 | """Activate the transport URL.""" | 77 | """Activate the transport URL.""" |
597 | 78 | # The scanner tests assume that branches live on a Launchpad virtual | 78 | # The scanner tests assume that branches live on a Launchpad virtual |
598 | 79 | # filesystem rooted at 'lp-mirrored:///'. Rather than provide the | 79 | # filesystem rooted at 'lp-mirrored:///'. Rather than provide the |
599 | @@ -81,11 +81,11 @@ | |||
600 | 81 | # transport do the work. | 81 | # transport do the work. |
601 | 82 | register_transport(self._url_prefix, self._transportFactory) | 82 | register_transport(self._url_prefix, self._transportFactory) |
602 | 83 | self._chroot_server = ChrootServer(self._transport) | 83 | self._chroot_server = ChrootServer(self._transport) |
604 | 84 | self._chroot_server.setUp() | 84 | self._chroot_server.start_server() |
605 | 85 | 85 | ||
607 | 86 | def tearDown(self): | 86 | def stop_server(self): |
608 | 87 | """Deactivate the transport URL.""" | 87 | """Deactivate the transport URL.""" |
610 | 88 | self._chroot_server.tearDown() | 88 | self._chroot_server.stop_server() |
611 | 89 | unregister_transport(self._url_prefix, self._transportFactory) | 89 | unregister_transport(self._url_prefix, self._transportFactory) |
612 | 90 | 90 | ||
613 | 91 | def _transportFactory(self, url): | 91 | def _transportFactory(self, url): |
614 | @@ -111,8 +111,8 @@ | |||
615 | 111 | # Here we set up a fake so that we can test without worrying about | 111 | # Here we set up a fake so that we can test without worrying about |
616 | 112 | # authservers and the like. | 112 | # authservers and the like. |
617 | 113 | server = FakeTransportServer(self.get_transport()) | 113 | server = FakeTransportServer(self.get_transport()) |
620 | 114 | server.setUp() | 114 | server.start_server() |
621 | 115 | self.addCleanup(server.tearDown) | 115 | self.addCleanup(server.stop_server) |
622 | 116 | 116 | ||
623 | 117 | def makeFixtures(self): | 117 | def makeFixtures(self): |
624 | 118 | """Makes test fixtures before we switch to the scanner db user.""" | 118 | """Makes test fixtures before we switch to the scanner db user.""" |
625 | 119 | 119 | ||
626 | === modified file 'lib/lp/codehosting/sftp.py' | |||
627 | --- lib/lp/codehosting/sftp.py 2009-11-27 21:59:26 +0000 | |||
628 | +++ lib/lp/codehosting/sftp.py 2010-02-04 00:33:17 +0000 | |||
629 | @@ -251,7 +251,7 @@ | |||
630 | 251 | config.codehosting.mirrored_branches_root) | 251 | config.codehosting.mirrored_branches_root) |
631 | 252 | server = LaunchpadServer( | 252 | server = LaunchpadServer( |
632 | 253 | avatar.branchfs_proxy, user_id, hosted_transport, mirror_transport) | 253 | avatar.branchfs_proxy, user_id, hosted_transport, mirror_transport) |
634 | 254 | server.setUp() | 254 | server.start_server() |
635 | 255 | transport = AsyncLaunchpadTransport(server, server.get_url()) | 255 | transport = AsyncLaunchpadTransport(server, server.get_url()) |
636 | 256 | notify(accesslog.SFTPStarted(avatar)) | 256 | notify(accesslog.SFTPStarted(avatar)) |
637 | 257 | return TransportSFTPServer(transport) | 257 | return TransportSFTPServer(transport) |
638 | 258 | 258 | ||
639 | === modified file 'lib/lp/codehosting/sshserver/tests/test_logging.py' | |||
640 | --- lib/lp/codehosting/sshserver/tests/test_logging.py 2009-06-25 04:06:00 +0000 | |||
641 | +++ lib/lp/codehosting/sshserver/tests/test_logging.py 2010-02-04 00:33:17 +0000 | |||
642 | @@ -24,7 +24,6 @@ | |||
643 | 24 | from canonical.config import config | 24 | from canonical.config import config |
644 | 25 | from canonical.launchpad.scripts import WatchedFileHandler | 25 | from canonical.launchpad.scripts import WatchedFileHandler |
645 | 26 | from lp.testing import TestCase | 26 | from lp.testing import TestCase |
646 | 27 | from canonical.testing import reset_logging | ||
647 | 28 | 27 | ||
648 | 29 | 28 | ||
649 | 30 | class TestLoggingBazaarInteraction(BzrTestCase): | 29 | class TestLoggingBazaarInteraction(BzrTestCase): |
650 | @@ -36,16 +35,6 @@ | |||
651 | 36 | self._real_stderr = sys.stderr | 35 | self._real_stderr = sys.stderr |
652 | 37 | sys.stderr = codecs.getwriter('utf8')(StringIO()) | 36 | sys.stderr = codecs.getwriter('utf8')(StringIO()) |
653 | 38 | 37 | ||
654 | 39 | # We want to use Bazaar's default logging -- not its test logging -- | ||
655 | 40 | # so here we disable the testing logging system (which restores | ||
656 | 41 | # default logging). | ||
657 | 42 | self._finishLogFile() | ||
658 | 43 | |||
659 | 44 | # We don't use BaseLayer because we want to keep the amount of | ||
660 | 45 | # pre-configured logging systems to an absolute minimum, in order to | ||
661 | 46 | # make it easier to test this particular logging system. | ||
662 | 47 | self.addCleanup(reset_logging) | ||
663 | 48 | |||
664 | 49 | def tearDown(self): | 38 | def tearDown(self): |
665 | 50 | sys.stderr = self._real_stderr | 39 | sys.stderr = self._real_stderr |
666 | 51 | BzrTestCase.tearDown(self) | 40 | BzrTestCase.tearDown(self) |
667 | @@ -77,13 +66,6 @@ | |||
668 | 77 | 66 | ||
669 | 78 | class TestLoggingManager(TestCase): | 67 | class TestLoggingManager(TestCase): |
670 | 79 | 68 | ||
671 | 80 | def setUp(self): | ||
672 | 81 | TestCase.setUp(self) | ||
673 | 82 | # We don't use BaseLayer because we want to keep the amount of | ||
674 | 83 | # pre-configured logging systems to an absolute minimum, in order to | ||
675 | 84 | # make it easier to test this particular logging system. | ||
676 | 85 | self.addCleanup(reset_logging) | ||
677 | 86 | |||
678 | 87 | def test_returns_codehosting_logger(self): | 69 | def test_returns_codehosting_logger(self): |
679 | 88 | # get_codehosting_logger returns the 'codehosting' logger. | 70 | # get_codehosting_logger returns the 'codehosting' logger. |
680 | 89 | self.assertIs( | 71 | self.assertIs( |
681 | 90 | 72 | ||
682 | === modified file 'lib/lp/codehosting/tests/servers.py' | |||
683 | --- lib/lp/codehosting/tests/servers.py 2009-06-25 04:06:00 +0000 | |||
684 | +++ lib/lp/codehosting/tests/servers.py 2010-02-04 00:33:17 +0000 | |||
685 | @@ -126,10 +126,10 @@ | |||
686 | 126 | transport = get_transport(self.get_url()).clone(path) | 126 | transport = get_transport(self.get_url()).clone(path) |
687 | 127 | return transport | 127 | return transport |
688 | 128 | 128 | ||
690 | 129 | def setUp(self): | 129 | def start_server(self): |
691 | 130 | self._real_home, self._fake_home = self.setUpFakeHome() | 130 | self._real_home, self._fake_home = self.setUpFakeHome() |
692 | 131 | 131 | ||
694 | 132 | def tearDown(self): | 132 | def stop_server(self): |
695 | 133 | os.environ['HOME'] = self._real_home | 133 | os.environ['HOME'] = self._real_home |
696 | 134 | shutil.rmtree(self._fake_home) | 134 | shutil.rmtree(self._fake_home) |
697 | 135 | 135 | ||
698 | 136 | 136 | ||
699 | === modified file 'lib/lp/codehosting/tests/test_acceptance.py' | |||
700 | --- lib/lp/codehosting/tests/test_acceptance.py 2009-12-22 23:45:50 +0000 | |||
701 | +++ lib/lp/codehosting/tests/test_acceptance.py 2010-02-04 00:33:17 +0000 | |||
702 | @@ -89,15 +89,15 @@ | |||
703 | 89 | self.disable_directory_isolation() | 89 | self.disable_directory_isolation() |
704 | 90 | tac_handler = SSHServerLayer.getTacHandler() | 90 | tac_handler = SSHServerLayer.getTacHandler() |
705 | 91 | self.server = SSHCodeHostingServer(self.scheme, tac_handler) | 91 | self.server = SSHCodeHostingServer(self.scheme, tac_handler) |
708 | 92 | self.server.setUp() | 92 | self.server.start_server() |
709 | 93 | self.addCleanup(self.server.tearDown) | 93 | self.addCleanup(self.server.stop_server) |
710 | 94 | 94 | ||
711 | 95 | # Prevent creation of in-process sftp:// and bzr+ssh:// transports -- | 95 | # Prevent creation of in-process sftp:// and bzr+ssh:// transports -- |
712 | 96 | # such connections tend to leak threads and occasionally create | 96 | # such connections tend to leak threads and occasionally create |
713 | 97 | # uncollectable garbage. | 97 | # uncollectable garbage. |
714 | 98 | ssh_denier = DenyingServer(['bzr+ssh://', 'sftp://']) | 98 | ssh_denier = DenyingServer(['bzr+ssh://', 'sftp://']) |
717 | 99 | ssh_denier.setUp() | 99 | ssh_denier.start_server() |
718 | 100 | self.addCleanup(ssh_denier.tearDown) | 100 | self.addCleanup(ssh_denier.stop_server) |
719 | 101 | 101 | ||
720 | 102 | # Create a local branch with one revision | 102 | # Create a local branch with one revision |
721 | 103 | tree = self.make_branch_and_tree('.') | 103 | tree = self.make_branch_and_tree('.') |
722 | 104 | 104 | ||
723 | === modified file 'lib/lp/codehosting/tests/test_branchdistro.py' | |||
724 | --- lib/lp/codehosting/tests/test_branchdistro.py 2009-10-26 22:37:15 +0000 | |||
725 | +++ lib/lp/codehosting/tests/test_branchdistro.py 2010-02-04 00:33:17 +0000 | |||
726 | @@ -59,8 +59,8 @@ | |||
727 | 59 | # location. | 59 | # location. |
728 | 60 | 60 | ||
729 | 61 | chroot_server = ChrootServer(self.get_transport()) | 61 | chroot_server = ChrootServer(self.get_transport()) |
732 | 62 | chroot_server.setUp() | 62 | chroot_server.start_server() |
733 | 63 | self.addCleanup(chroot_server.tearDown) | 63 | self.addCleanup(chroot_server.stop_server) |
734 | 64 | scheme = chroot_server.get_url().rstrip('/:') | 64 | scheme = chroot_server.get_url().rstrip('/:') |
735 | 65 | 65 | ||
736 | 66 | old_branch = FakeBranch(1) | 66 | old_branch = FakeBranch(1) |
737 | 67 | 67 | ||
738 | === modified file 'lib/lp/codehosting/tests/test_bzrutils.py' | |||
739 | --- lib/lp/codehosting/tests/test_bzrutils.py 2009-12-22 23:52:00 +0000 | |||
740 | +++ lib/lp/codehosting/tests/test_bzrutils.py 2010-02-04 00:33:17 +0000 | |||
741 | @@ -127,9 +127,9 @@ | |||
742 | 127 | branch.base.startswith('file://'), | 127 | branch.base.startswith('file://'), |
743 | 128 | "make_branch() didn't make branch with file:// URL") | 128 | "make_branch() didn't make branch with file:// URL") |
744 | 129 | file_denier = DenyingServer(['file://']) | 129 | file_denier = DenyingServer(['file://']) |
746 | 130 | file_denier.setUp() | 130 | file_denier.start_server() |
747 | 131 | self.assertRaises(AssertionError, Branch.open, branch.base) | 131 | self.assertRaises(AssertionError, Branch.open, branch.base) |
749 | 132 | file_denier.tearDown() | 132 | file_denier.stop_server() |
750 | 133 | # This is just "assertNotRaises": | 133 | # This is just "assertNotRaises": |
751 | 134 | Branch.open(branch.base) | 134 | Branch.open(branch.base) |
752 | 135 | 135 | ||
753 | @@ -188,8 +188,8 @@ | |||
754 | 188 | # RemoteBranch. | 188 | # RemoteBranch. |
755 | 189 | vfs_branch = self.make_branch('.') | 189 | vfs_branch = self.make_branch('.') |
756 | 190 | smart_server = server.SmartTCPServer_for_testing() | 190 | smart_server = server.SmartTCPServer_for_testing() |
759 | 191 | smart_server.setUp(self.get_vfs_only_server()) | 191 | smart_server.start_server(self.get_vfs_only_server()) |
760 | 192 | self.addCleanup(smart_server.tearDown) | 192 | self.addCleanup(smart_server.stop_server) |
761 | 193 | remote_branch = Branch.open(smart_server.get_url()) | 193 | remote_branch = Branch.open(smart_server.get_url()) |
762 | 194 | # Check that our set up worked: remote_branch is Remote and | 194 | # Check that our set up worked: remote_branch is Remote and |
763 | 195 | # source_branch is not. | 195 | # source_branch is not. |
764 | 196 | 196 | ||
765 | === modified file 'lib/lp/codehosting/tests/test_sftp.py' | |||
766 | --- lib/lp/codehosting/tests/test_sftp.py 2009-12-08 16:24:12 +0000 | |||
767 | +++ lib/lp/codehosting/tests/test_sftp.py 2010-02-04 00:33:17 +0000 | |||
768 | @@ -161,6 +161,9 @@ | |||
769 | 161 | 161 | ||
770 | 162 | layer = TwistedLayer | 162 | layer = TwistedLayer |
771 | 163 | 163 | ||
772 | 164 | # This works around a clash between the TrialTestCase and the BzrTestCase. | ||
773 | 165 | skip = None | ||
774 | 166 | |||
775 | 164 | def setUp(self): | 167 | def setUp(self): |
776 | 165 | TrialTestCase.setUp(self) | 168 | TrialTestCase.setUp(self) |
777 | 166 | TestCaseInTempDir.setUp(self) | 169 | TestCaseInTempDir.setUp(self) |
778 | @@ -413,6 +416,9 @@ | |||
779 | 413 | 416 | ||
780 | 414 | layer = TwistedLayer | 417 | layer = TwistedLayer |
781 | 415 | 418 | ||
782 | 419 | # This works around a clash between the TrialTestCase and the BzrTestCase. | ||
783 | 420 | skip = None | ||
784 | 421 | |||
785 | 416 | def setUp(self): | 422 | def setUp(self): |
786 | 417 | TrialTestCase.setUp(self) | 423 | TrialTestCase.setUp(self) |
787 | 418 | TestCaseInTempDir.setUp(self) | 424 | TestCaseInTempDir.setUp(self) |
788 | 419 | 425 | ||
789 | === modified file 'lib/lp/codehosting/vfs/branchfs.py' | |||
790 | --- lib/lp/codehosting/vfs/branchfs.py 2010-01-07 05:05:37 +0000 | |||
791 | +++ lib/lp/codehosting/vfs/branchfs.py 2010-02-04 00:33:17 +0000 | |||
792 | @@ -340,7 +340,7 @@ | |||
793 | 340 | configured to use the given default stacked-on location. | 340 | configured to use the given default stacked-on location. |
794 | 341 | """ | 341 | """ |
795 | 342 | memory_server = MemoryServer() | 342 | memory_server = MemoryServer() |
797 | 343 | memory_server.setUp() | 343 | memory_server.start_server() |
798 | 344 | transport = get_transport(memory_server.get_url()) | 344 | transport = get_transport(memory_server.get_url()) |
799 | 345 | if default_stack_on == '': | 345 | if default_stack_on == '': |
800 | 346 | return transport | 346 | return transport |
801 | @@ -378,7 +378,7 @@ | |||
802 | 378 | """ | 378 | """ |
803 | 379 | AsyncVirtualServer.__init__(self, scheme) | 379 | AsyncVirtualServer.__init__(self, scheme) |
804 | 380 | self._authserver = BranchFileSystemClient(authserver, user_id) | 380 | self._authserver = BranchFileSystemClient(authserver, user_id) |
806 | 381 | self._is_set_up = False | 381 | self._is_start_server = False |
807 | 382 | 382 | ||
808 | 383 | def translateVirtualPath(self, virtual_url_fragment): | 383 | def translateVirtualPath(self, virtual_url_fragment): |
809 | 384 | """See `AsyncVirtualServer.translateVirtualPath`. | 384 | """See `AsyncVirtualServer.translateVirtualPath`. |
810 | @@ -429,8 +429,8 @@ | |||
811 | 429 | scheme, authserver, LAUNCHPAD_SERVICES) | 429 | scheme, authserver, LAUNCHPAD_SERVICES) |
812 | 430 | self._transport_dispatch = BranchTransportDispatch(branch_transport) | 430 | self._transport_dispatch = BranchTransportDispatch(branch_transport) |
813 | 431 | 431 | ||
816 | 432 | def setUp(self): | 432 | def start_server(self): |
817 | 433 | super(LaunchpadInternalServer, self).setUp() | 433 | super(LaunchpadInternalServer, self).start_server() |
818 | 434 | try: | 434 | try: |
819 | 435 | self._transport_dispatch.base_transport.ensure_base() | 435 | self._transport_dispatch.base_transport.ensure_base() |
820 | 436 | except TransportNotPossible: | 436 | except TransportNotPossible: |
821 | @@ -439,7 +439,7 @@ | |||
822 | 439 | def destroy(self): | 439 | def destroy(self): |
823 | 440 | """Delete the on-disk branches and tear down.""" | 440 | """Delete the on-disk branches and tear down.""" |
824 | 441 | self._transport_dispatch.base_transport.delete_tree('.') | 441 | self._transport_dispatch.base_transport.delete_tree('.') |
826 | 442 | self.tearDown() | 442 | self.stop_server() |
827 | 443 | 443 | ||
828 | 444 | 444 | ||
829 | 445 | class DirectDatabaseLaunchpadServer(AsyncVirtualServer): | 445 | class DirectDatabaseLaunchpadServer(AsyncVirtualServer): |
830 | @@ -448,8 +448,8 @@ | |||
831 | 448 | AsyncVirtualServer.__init__(self, scheme) | 448 | AsyncVirtualServer.__init__(self, scheme) |
832 | 449 | self._transport_dispatch = BranchTransportDispatch(branch_transport) | 449 | self._transport_dispatch = BranchTransportDispatch(branch_transport) |
833 | 450 | 450 | ||
836 | 451 | def setUp(self): | 451 | def start_server(self): |
837 | 452 | super(DirectDatabaseLaunchpadServer, self).setUp() | 452 | super(DirectDatabaseLaunchpadServer, self).start_server() |
838 | 453 | try: | 453 | try: |
839 | 454 | self._transport_dispatch.base_transport.ensure_base() | 454 | self._transport_dispatch.base_transport.ensure_base() |
840 | 455 | except TransportNotPossible: | 455 | except TransportNotPossible: |
841 | @@ -458,7 +458,7 @@ | |||
842 | 458 | def destroy(self): | 458 | def destroy(self): |
843 | 459 | """Delete the on-disk branches and tear down.""" | 459 | """Delete the on-disk branches and tear down.""" |
844 | 460 | self._transport_dispatch.base_transport.delete_tree('.') | 460 | self._transport_dispatch.base_transport.delete_tree('.') |
846 | 461 | self.tearDown() | 461 | self.stop_server() |
847 | 462 | 462 | ||
848 | 463 | def translateVirtualPath(self, virtual_url_fragment): | 463 | def translateVirtualPath(self, virtual_url_fragment): |
849 | 464 | """See `AsyncVirtualServer.translateVirtualPath`. | 464 | """See `AsyncVirtualServer.translateVirtualPath`. |
850 | 465 | 465 | ||
851 | === modified file 'lib/lp/codehosting/vfs/tests/test_branchfs.py' | |||
852 | --- lib/lp/codehosting/vfs/tests/test_branchfs.py 2009-12-22 23:50:27 +0000 | |||
853 | +++ lib/lp/codehosting/vfs/tests/test_branchfs.py 2010-02-04 00:33:17 +0000 | |||
854 | @@ -49,7 +49,7 @@ | |||
855 | 49 | def setUp(self): | 49 | def setUp(self): |
856 | 50 | super(TestBranchTransportDispatch, self).setUp() | 50 | super(TestBranchTransportDispatch, self).setUp() |
857 | 51 | memory_server = MemoryServer() | 51 | memory_server = MemoryServer() |
859 | 52 | memory_server.setUp() | 52 | memory_server.start_server() |
860 | 53 | self.base_transport = get_transport(memory_server.get_url()) | 53 | self.base_transport = get_transport(memory_server.get_url()) |
861 | 54 | self.factory = BranchTransportDispatch(self.base_transport) | 54 | self.factory = BranchTransportDispatch(self.base_transport) |
862 | 55 | 55 | ||
863 | @@ -90,7 +90,7 @@ | |||
864 | 90 | def setUp(self): | 90 | def setUp(self): |
865 | 91 | super(TestTransportDispatch, self).setUp() | 91 | super(TestTransportDispatch, self).setUp() |
866 | 92 | memory_server = MemoryServer() | 92 | memory_server = MemoryServer() |
868 | 93 | memory_server.setUp() | 93 | memory_server.start_server() |
869 | 94 | base_transport = get_transport(memory_server.get_url()) | 94 | base_transport = get_transport(memory_server.get_url()) |
870 | 95 | base_transport.mkdir('hosted') | 95 | base_transport.mkdir('hosted') |
871 | 96 | base_transport.mkdir('mirrored') | 96 | base_transport.mkdir('mirrored') |
872 | @@ -199,16 +199,16 @@ | |||
873 | 199 | def test_setUp(self): | 199 | def test_setUp(self): |
874 | 200 | # Setting up the server registers its schema with the protocol | 200 | # Setting up the server registers its schema with the protocol |
875 | 201 | # handlers. | 201 | # handlers. |
878 | 202 | self.server.setUp() | 202 | self.server.start_server() |
879 | 203 | self.addCleanup(self.server.tearDown) | 203 | self.addCleanup(self.server.stop_server) |
880 | 204 | self.assertTrue( | 204 | self.assertTrue( |
881 | 205 | self.server.get_url() in _get_protocol_handlers().keys()) | 205 | self.server.get_url() in _get_protocol_handlers().keys()) |
882 | 206 | 206 | ||
883 | 207 | def test_tearDown(self): | 207 | def test_tearDown(self): |
884 | 208 | # Setting up then tearing down the server removes its schema from the | 208 | # Setting up then tearing down the server removes its schema from the |
885 | 209 | # protocol handlers. | 209 | # protocol handlers. |
888 | 210 | self.server.setUp() | 210 | self.server.start_server() |
889 | 211 | self.server.tearDown() | 211 | self.server.stop_server() |
890 | 212 | self.assertFalse( | 212 | self.assertFalse( |
891 | 213 | self.server.get_url() in _get_protocol_handlers().keys()) | 213 | self.server.get_url() in _get_protocol_handlers().keys()) |
892 | 214 | 214 | ||
893 | @@ -216,6 +216,9 @@ | |||
894 | 216 | class TestLaunchpadServer(MixinBaseLaunchpadServerTests, TrialTestCase, | 216 | class TestLaunchpadServer(MixinBaseLaunchpadServerTests, TrialTestCase, |
895 | 217 | BzrTestCase): | 217 | BzrTestCase): |
896 | 218 | 218 | ||
897 | 219 | # This works around a clash between the TrialTestCase and the BzrTestCase. | ||
898 | 220 | skip = None | ||
899 | 221 | |||
900 | 219 | def setUp(self): | 222 | def setUp(self): |
901 | 220 | BzrTestCase.setUp(self) | 223 | BzrTestCase.setUp(self) |
902 | 221 | MixinBaseLaunchpadServerTests.setUp(self) | 224 | MixinBaseLaunchpadServerTests.setUp(self) |
903 | @@ -287,8 +290,8 @@ | |||
904 | 287 | # The URL of the server is 'lp-<number>:///', where <number> is the | 290 | # The URL of the server is 'lp-<number>:///', where <number> is the |
905 | 288 | # id() of the server object. Including the id allows for multiple | 291 | # id() of the server object. Including the id allows for multiple |
906 | 289 | # Launchpad servers to be running within a single process. | 292 | # Launchpad servers to be running within a single process. |
909 | 290 | self.server.setUp() | 293 | self.server.start_server() |
910 | 291 | self.addCleanup(self.server.tearDown) | 294 | self.addCleanup(self.server.stop_server) |
911 | 292 | self.assertEqual('lp-%d:///' % id(self.server), self.server.get_url()) | 295 | self.assertEqual('lp-%d:///' % id(self.server), self.server.get_url()) |
912 | 293 | 296 | ||
913 | 294 | 297 | ||
914 | @@ -315,8 +318,8 @@ | |||
915 | 315 | return deferred.addCallback(check_branch_transport) | 318 | return deferred.addCallback(check_branch_transport) |
916 | 316 | 319 | ||
917 | 317 | def test_translate_control_dir_path(self): | 320 | def test_translate_control_dir_path(self): |
920 | 318 | self.server.setUp() | 321 | self.server.start_server() |
921 | 319 | self.addCleanup(self.server.tearDown) | 322 | self.addCleanup(self.server.stop_server) |
922 | 320 | branch = self.factory.makeProductBranch() | 323 | branch = self.factory.makeProductBranch() |
923 | 321 | branch.product.development_focus.branch = branch | 324 | branch.product.development_focus.branch = branch |
924 | 322 | transport = get_transport(self.server.get_url()) | 325 | transport = get_transport(self.server.get_url()) |
925 | @@ -327,8 +330,8 @@ | |||
926 | 327 | def test_open_containing_raises_branch_not_found(self): | 330 | def test_open_containing_raises_branch_not_found(self): |
927 | 328 | # open_containing_from_transport raises NotBranchError if there's no | 331 | # open_containing_from_transport raises NotBranchError if there's no |
928 | 329 | # branch at that URL. | 332 | # branch at that URL. |
931 | 330 | self.server.setUp() | 333 | self.server.start_server() |
932 | 331 | self.addCleanup(self.server.tearDown) | 334 | self.addCleanup(self.server.stop_server) |
933 | 332 | branch = self.factory.makeAnyBranch(owner=self.requester) | 335 | branch = self.factory.makeAnyBranch(owner=self.requester) |
934 | 333 | transport = get_transport(self.server.get_url()) | 336 | transport = get_transport(self.server.get_url()) |
935 | 334 | transport = transport.clone(branch.unique_name) | 337 | transport = transport.clone(branch.unique_name) |
936 | @@ -342,6 +345,9 @@ | |||
937 | 342 | LaunchpadInternalServerTests): | 345 | LaunchpadInternalServerTests): |
938 | 343 | """Tests for `LaunchpadInternalServer`, used by the puller and scanner.""" | 346 | """Tests for `LaunchpadInternalServer`, used by the puller and scanner.""" |
939 | 344 | 347 | ||
940 | 348 | # This works around a clash between the TrialTestCase and the BzrTestCase. | ||
941 | 349 | skip = None | ||
942 | 350 | |||
943 | 345 | def setUp(self): | 351 | def setUp(self): |
944 | 346 | BzrTestCase.setUp(self) | 352 | BzrTestCase.setUp(self) |
945 | 347 | self.disable_directory_isolation() | 353 | self.disable_directory_isolation() |
946 | @@ -358,6 +364,9 @@ | |||
947 | 358 | 364 | ||
948 | 359 | layer = ZopelessDatabaseLayer | 365 | layer = ZopelessDatabaseLayer |
949 | 360 | 366 | ||
950 | 367 | # This works around a clash between the TrialTestCase and the BzrTestCase. | ||
951 | 368 | skip = None | ||
952 | 369 | |||
953 | 361 | def setUp(self): | 370 | def setUp(self): |
954 | 362 | super(TestDirectDatabaseLaunchpadServer, self).setUp() | 371 | super(TestDirectDatabaseLaunchpadServer, self).setUp() |
955 | 363 | self.requester = self.factory.makePerson() | 372 | self.requester = self.factory.makePerson() |
956 | @@ -371,6 +380,9 @@ | |||
957 | 371 | 380 | ||
958 | 372 | layer = TwistedLayer | 381 | layer = TwistedLayer |
959 | 373 | 382 | ||
960 | 383 | # This works around a clash between the TrialTestCase and the BzrTestCase. | ||
961 | 384 | skip = None | ||
962 | 385 | |||
963 | 374 | class VirtualServer(Server): | 386 | class VirtualServer(Server): |
964 | 375 | """Very simple server that provides a AsyncVirtualTransport.""" | 387 | """Very simple server that provides a AsyncVirtualTransport.""" |
965 | 376 | 388 | ||
966 | @@ -383,11 +395,11 @@ | |||
967 | 383 | def get_url(self): | 395 | def get_url(self): |
968 | 384 | return self.scheme | 396 | return self.scheme |
969 | 385 | 397 | ||
971 | 386 | def setUp(self): | 398 | def start_server(self): |
972 | 387 | self.scheme = 'virtual:///' | 399 | self.scheme = 'virtual:///' |
973 | 388 | register_transport(self.scheme, self._transportFactory) | 400 | register_transport(self.scheme, self._transportFactory) |
974 | 389 | 401 | ||
976 | 390 | def tearDown(self): | 402 | def stop_server(self): |
977 | 391 | unregister_transport(self.scheme, self._transportFactory) | 403 | unregister_transport(self.scheme, self._transportFactory) |
978 | 392 | 404 | ||
979 | 393 | def translateVirtualPath(self, virtual_path): | 405 | def translateVirtualPath(self, virtual_path): |
980 | @@ -399,8 +411,8 @@ | |||
981 | 399 | TestCaseInTempDir.setUp(self) | 411 | TestCaseInTempDir.setUp(self) |
982 | 400 | self.server = self.VirtualServer( | 412 | self.server = self.VirtualServer( |
983 | 401 | FatLocalTransport(local_path_to_url('.'))) | 413 | FatLocalTransport(local_path_to_url('.'))) |
986 | 402 | self.server.setUp() | 414 | self.server.start_server() |
987 | 403 | self.addCleanup(self.server.tearDown) | 415 | self.addCleanup(self.server.stop_server) |
988 | 404 | self.transport = get_transport(self.server.get_url()) | 416 | self.transport = get_transport(self.server.get_url()) |
989 | 405 | 417 | ||
990 | 406 | def test_writeChunk(self): | 418 | def test_writeChunk(self): |
991 | @@ -477,8 +489,8 @@ | |||
992 | 477 | self.server = self.getServer( | 489 | self.server = self.getServer( |
993 | 478 | authserver, self.requester.id, self.backing_transport, | 490 | authserver, self.requester.id, self.backing_transport, |
994 | 479 | MemoryTransport()) | 491 | MemoryTransport()) |
997 | 480 | self.server.setUp() | 492 | self.server.start_server() |
998 | 481 | self.addCleanup(self.server.tearDown) | 493 | self.addCleanup(self.server.stop_server) |
999 | 482 | 494 | ||
1000 | 483 | def assertFiresFailure(self, exception, function, *args, **kwargs): | 495 | def assertFiresFailure(self, exception, function, *args, **kwargs): |
1001 | 484 | """Assert that calling `function` will cause `exception` to be fired. | 496 | """Assert that calling `function` will cause `exception` to be fired. |
1002 | @@ -770,6 +782,9 @@ | |||
1003 | 770 | 782 | ||
1004 | 771 | class TestLaunchpadTransportSync(LaunchpadTransportTests, TrialTestCase): | 783 | class TestLaunchpadTransportSync(LaunchpadTransportTests, TrialTestCase): |
1005 | 772 | 784 | ||
1006 | 785 | # This works around a clash between the TrialTestCase and the BzrTestCase. | ||
1007 | 786 | skip = None | ||
1008 | 787 | |||
1009 | 773 | def _ensureDeferred(self, function, *args, **kwargs): | 788 | def _ensureDeferred(self, function, *args, **kwargs): |
1010 | 774 | def call_function_and_check_not_deferred(): | 789 | def call_function_and_check_not_deferred(): |
1011 | 775 | ret = function(*args, **kwargs) | 790 | ret = function(*args, **kwargs) |
1012 | @@ -793,6 +808,9 @@ | |||
1013 | 793 | 808 | ||
1014 | 794 | class TestLaunchpadTransportAsync(LaunchpadTransportTests, TrialTestCase): | 809 | class TestLaunchpadTransportAsync(LaunchpadTransportTests, TrialTestCase): |
1015 | 795 | 810 | ||
1016 | 811 | # This works around a clash between the TrialTestCase and the BzrTestCase. | ||
1017 | 812 | skip = None | ||
1018 | 813 | |||
1019 | 796 | def _ensureDeferred(self, function, *args, **kwargs): | 814 | def _ensureDeferred(self, function, *args, **kwargs): |
1020 | 797 | deferred = function(*args, **kwargs) | 815 | deferred = function(*args, **kwargs) |
1021 | 798 | self.assertIsInstance(deferred, defer.Deferred) | 816 | self.assertIsInstance(deferred, defer.Deferred) |
1022 | @@ -828,8 +846,8 @@ | |||
1023 | 828 | self._server = LaunchpadServer( | 846 | self._server = LaunchpadServer( |
1024 | 829 | XMLRPCWrapper(self.authserver), self.requester.id, | 847 | XMLRPCWrapper(self.authserver), self.requester.id, |
1025 | 830 | self.backing_transport, self.mirror_transport) | 848 | self.backing_transport, self.mirror_transport) |
1028 | 831 | self._server.setUp() | 849 | self._server.start_server() |
1029 | 832 | self.addCleanup(self._server.tearDown) | 850 | self.addCleanup(self._server.stop_server) |
1030 | 833 | return self._server | 851 | return self._server |
1031 | 834 | 852 | ||
1032 | 835 | def test_no_mirrors_requested_if_no_branches_changed(self): | 853 | def test_no_mirrors_requested_if_no_branches_changed(self): |
1033 | @@ -861,6 +879,9 @@ | |||
1034 | 861 | # See comment on TestLaunchpadServer. | 879 | # See comment on TestLaunchpadServer. |
1035 | 862 | layer = TwistedLayer | 880 | layer = TwistedLayer |
1036 | 863 | 881 | ||
1037 | 882 | # This works around a clash between the TrialTestCase and the BzrTestCase. | ||
1038 | 883 | skip = None | ||
1039 | 884 | |||
1040 | 864 | def setUp(self): | 885 | def setUp(self): |
1041 | 865 | BzrTestCase.setUp(self) | 886 | BzrTestCase.setUp(self) |
1042 | 866 | 887 | ||
1043 | @@ -890,8 +911,8 @@ | |||
1044 | 890 | 911 | ||
1045 | 891 | def _setUpMemoryServer(self): | 912 | def _setUpMemoryServer(self): |
1046 | 892 | memory_server = MemoryServer() | 913 | memory_server = MemoryServer() |
1049 | 893 | memory_server.setUp() | 914 | memory_server.start_server() |
1050 | 894 | self.addCleanup(memory_server.tearDown) | 915 | self.addCleanup(memory_server.stop_server) |
1051 | 895 | return memory_server | 916 | return memory_server |
1052 | 896 | 917 | ||
1053 | 897 | def _setUpLaunchpadServer(self, user_id, authserver, backing_transport, | 918 | def _setUpLaunchpadServer(self, user_id, authserver, backing_transport, |
1054 | @@ -899,8 +920,8 @@ | |||
1055 | 899 | server = LaunchpadServer( | 920 | server = LaunchpadServer( |
1056 | 900 | XMLRPCWrapper(authserver), user_id, backing_transport, | 921 | XMLRPCWrapper(authserver), user_id, backing_transport, |
1057 | 901 | mirror_transport) | 922 | mirror_transport) |
1060 | 902 | server.setUp() | 923 | server.start_server() |
1061 | 903 | self.addCleanup(server.tearDown) | 924 | self.addCleanup(server.stop_server) |
1062 | 904 | return server | 925 | return server |
1063 | 905 | 926 | ||
1064 | 906 | def test_mkdir_readonly(self): | 927 | def test_mkdir_readonly(self): |
1065 | 907 | 928 | ||
1066 | === modified file 'lib/lp/codehosting/vfs/tests/test_filesystem.py' | |||
1067 | --- lib/lp/codehosting/vfs/tests/test_filesystem.py 2009-11-21 00:34:12 +0000 | |||
1068 | +++ lib/lp/codehosting/vfs/tests/test_filesystem.py 2010-02-04 00:33:17 +0000 | |||
1069 | @@ -34,8 +34,8 @@ | |||
1070 | 34 | self.requester = self.factory.makePerson() | 34 | self.requester = self.factory.makePerson() |
1071 | 35 | self._server = LaunchpadServer( | 35 | self._server = LaunchpadServer( |
1072 | 36 | endpoint, self.requester.id, MemoryTransport(), MemoryTransport()) | 36 | endpoint, self.requester.id, MemoryTransport(), MemoryTransport()) |
1075 | 37 | self._server.setUp() | 37 | self._server.start_server() |
1076 | 38 | self.addCleanup(self._server.tearDown) | 38 | self.addCleanup(self._server.stop_server) |
1077 | 39 | 39 | ||
1078 | 40 | def getTransport(self, relpath=None): | 40 | def getTransport(self, relpath=None): |
1079 | 41 | return get_transport(self._server.get_url()).clone(relpath) | 41 | return get_transport(self._server.get_url()).clone(relpath) |
1080 | 42 | 42 | ||
1081 | === modified file 'lib/lp/codehosting/vfs/tests/test_transport.py' | |||
1082 | --- lib/lp/codehosting/vfs/tests/test_transport.py 2009-12-22 23:52:00 +0000 | |||
1083 | +++ lib/lp/codehosting/vfs/tests/test_transport.py 2010-02-04 00:33:17 +0000 | |||
1084 | @@ -60,7 +60,7 @@ | |||
1085 | 60 | self._branch_path).clone('.bzr') | 60 | self._branch_path).clone('.bzr') |
1086 | 61 | bzrdir_transport.ensure_base() | 61 | bzrdir_transport.ensure_base() |
1087 | 62 | chroot_server = chroot.ChrootServer(bzrdir_transport) | 62 | chroot_server = chroot.ChrootServer(bzrdir_transport) |
1089 | 63 | chroot_server.setUp() | 63 | chroot_server.start_server() |
1090 | 64 | self._chroot_servers.append(chroot_server) | 64 | self._chroot_servers.append(chroot_server) |
1091 | 65 | return get_transport(chroot_server.get_url()).clone(relpath) | 65 | return get_transport(chroot_server.get_url()).clone(relpath) |
1092 | 66 | 66 | ||
1093 | @@ -71,7 +71,7 @@ | |||
1094 | 71 | ChrootServer instances we've set up. | 71 | ChrootServer instances we've set up. |
1095 | 72 | """ | 72 | """ |
1096 | 73 | for chroot_server in self._chroot_servers: | 73 | for chroot_server in self._chroot_servers: |
1098 | 74 | chroot_server.tearDown() | 74 | chroot_server.stop_server() |
1099 | 75 | LaunchpadInternalServer.tearDown(self) | 75 | LaunchpadInternalServer.tearDown(self) |
1100 | 76 | 76 | ||
1101 | 77 | 77 | ||
1102 | 78 | 78 | ||
1103 | === modified file 'lib/lp/codehosting/vfs/transport.py' | |||
1104 | --- lib/lp/codehosting/vfs/transport.py 2009-12-22 23:50:27 +0000 | |||
1105 | +++ lib/lp/codehosting/vfs/transport.py 2010-02-04 00:33:17 +0000 | |||
1106 | @@ -57,7 +57,7 @@ | |||
1107 | 57 | if mkdir: | 57 | if mkdir: |
1108 | 58 | transport.create_prefix() | 58 | transport.create_prefix() |
1109 | 59 | chroot_server = chroot.ChrootServer(transport) | 59 | chroot_server = chroot.ChrootServer(transport) |
1111 | 60 | chroot_server.setUp() | 60 | chroot_server.start_server() |
1112 | 61 | return get_transport(chroot_server.get_url()) | 61 | return get_transport(chroot_server.get_url()) |
1113 | 62 | 62 | ||
1114 | 63 | 63 | ||
1115 | @@ -74,17 +74,17 @@ | |||
1116 | 74 | def __init__(self, *servers): | 74 | def __init__(self, *servers): |
1117 | 75 | self._servers = servers | 75 | self._servers = servers |
1118 | 76 | 76 | ||
1120 | 77 | def setUp(self): | 77 | def start_server(self): |
1121 | 78 | for server in self._servers: | 78 | for server in self._servers: |
1123 | 79 | server.setUp() | 79 | server.start_server() |
1124 | 80 | 80 | ||
1125 | 81 | def destroy(self): | 81 | def destroy(self): |
1126 | 82 | for server in reversed(self._servers): | 82 | for server in reversed(self._servers): |
1127 | 83 | server.destroy() | 83 | server.destroy() |
1128 | 84 | 84 | ||
1130 | 85 | def tearDown(self): | 85 | def stop_server(self): |
1131 | 86 | for server in reversed(self._servers): | 86 | for server in reversed(self._servers): |
1133 | 87 | server.tearDown() | 87 | server.stop_server() |
1134 | 88 | 88 | ||
1135 | 89 | 89 | ||
1136 | 90 | class AsyncVirtualTransport(Transport): | 90 | class AsyncVirtualTransport(Transport): |
1137 | @@ -383,7 +383,7 @@ | |||
1138 | 383 | # safely upcall it. | 383 | # safely upcall it. |
1139 | 384 | # pylint: disable-msg=W0231 | 384 | # pylint: disable-msg=W0231 |
1140 | 385 | self._scheme = scheme | 385 | self._scheme = scheme |
1142 | 386 | self._is_set_up = False | 386 | self._is_started = False |
1143 | 387 | 387 | ||
1144 | 388 | def _transportFactory(self, url): | 388 | def _transportFactory(self, url): |
1145 | 389 | """Create a transport for this server pointing at `url`. | 389 | """Create a transport for this server pointing at `url`. |
1146 | @@ -412,14 +412,14 @@ | |||
1147 | 412 | """Return the URL of this server.""" | 412 | """Return the URL of this server.""" |
1148 | 413 | return self._scheme | 413 | return self._scheme |
1149 | 414 | 414 | ||
1152 | 415 | def setUp(self): | 415 | def start_server(self): |
1153 | 416 | """See Server.setUp.""" | 416 | """See Server.start_server.""" |
1154 | 417 | register_transport(self.get_url(), self._transportFactory) | 417 | register_transport(self.get_url(), self._transportFactory) |
1156 | 418 | self._is_set_up = True | 418 | self._is_started = True |
1157 | 419 | 419 | ||
1161 | 420 | def tearDown(self): | 420 | def stop_server(self): |
1162 | 421 | """See Server.tearDown.""" | 421 | """See Server.stop_server.""" |
1163 | 422 | if not self._is_set_up: | 422 | if not self._is_started: |
1164 | 423 | return | 423 | return |
1166 | 424 | self._is_set_up = False | 424 | self._is_started = False |
1167 | 425 | unregister_transport(self.get_url(), self._transportFactory) | 425 | unregister_transport(self.get_url(), self._transportFactory) |
1168 | 426 | 426 | ||
1169 | === modified file 'lib/lp/testing/__init__.py' | |||
1170 | --- lib/lp/testing/__init__.py 2010-02-02 11:26:31 +0000 | |||
1171 | +++ lib/lp/testing/__init__.py 2010-02-04 00:33:17 +0000 | |||
1172 | @@ -524,18 +524,39 @@ | |||
1173 | 524 | server = get_multi_server( | 524 | server = get_multi_server( |
1174 | 525 | write_hosted=True, write_mirrored=True, | 525 | write_hosted=True, write_mirrored=True, |
1175 | 526 | direct_database=direct_database) | 526 | direct_database=direct_database) |
1177 | 527 | server.setUp() | 527 | server.start_server() |
1178 | 528 | self.addCleanup(server.destroy) | 528 | self.addCleanup(server.destroy) |
1179 | 529 | else: | 529 | else: |
1180 | 530 | os.mkdir('lp-mirrored') | 530 | os.mkdir('lp-mirrored') |
1181 | 531 | mirror_server = FakeTransportServer(get_transport('lp-mirrored')) | 531 | mirror_server = FakeTransportServer(get_transport('lp-mirrored')) |
1184 | 532 | mirror_server.setUp() | 532 | mirror_server.start_server() |
1185 | 533 | self.addCleanup(mirror_server.tearDown) | 533 | self.addCleanup(mirror_server.stop_server) |
1186 | 534 | os.mkdir('lp-hosted') | 534 | os.mkdir('lp-hosted') |
1187 | 535 | hosted_server = FakeTransportServer( | 535 | hosted_server = FakeTransportServer( |
1188 | 536 | get_transport('lp-hosted'), url_prefix='lp-hosted:///') | 536 | get_transport('lp-hosted'), url_prefix='lp-hosted:///') |
1191 | 537 | hosted_server.setUp() | 537 | hosted_server.start_server() |
1192 | 538 | self.addCleanup(hosted_server.tearDown) | 538 | self.addCleanup(hosted_server.stop_server) |
1193 | 539 | |||
1194 | 540 | |||
1195 | 541 | class WindmillTestCase(TestCaseWithFactory): | ||
1196 | 542 | """A TestCase class for Windmill tests. | ||
1197 | 543 | |||
1198 | 544 | It provides a WindmillTestClient (self.client) with Launchpad's front | ||
1199 | 545 | page loaded. | ||
1200 | 546 | """ | ||
1201 | 547 | |||
1202 | 548 | suite_name = '' | ||
1203 | 549 | |||
1204 | 550 | def setUp(self): | ||
1205 | 551 | TestCaseWithFactory.setUp(self) | ||
1206 | 552 | self.client = WindmillTestClient(self.suite_name) | ||
1207 | 553 | # Load the front page to make sure we don't get fooled by stale pages | ||
1208 | 554 | # left by the previous test. (For some reason, when you create a new | ||
1209 | 555 | # WindmillTestClient you get a new session and everything, but if you | ||
1210 | 556 | # do anything before you open() something you'd be operating on the | ||
1211 | 557 | # page that was last accessed by the previous test, which is the cause | ||
1212 | 558 | # of things like https://launchpad.net/bugs/515494) | ||
1213 | 559 | self.client.open(url=u'http://launchpad.dev:8085') | ||
1214 | 539 | 560 | ||
1215 | 540 | 561 | ||
1216 | 541 | class WindmillTestCase(TestCaseWithFactory): | 562 | class WindmillTestCase(TestCaseWithFactory): |
1217 | 542 | 563 | ||
1218 | === modified file 'lib/lp/translations/scripts/translations_to_branch.py' | |||
1219 | --- lib/lp/translations/scripts/translations_to_branch.py 2010-01-10 04:29:39 +0000 | |||
1220 | +++ lib/lp/translations/scripts/translations_to_branch.py 2010-02-04 00:33:17 +0000 | |||
1221 | @@ -274,8 +274,8 @@ | |||
1222 | 274 | productseries = productseries.order_by(ProductSeries.id) | 274 | productseries = productseries.order_by(ProductSeries.id) |
1223 | 275 | 275 | ||
1224 | 276 | bzrserver = get_multi_server(write_hosted=True) | 276 | bzrserver = get_multi_server(write_hosted=True) |
1226 | 277 | bzrserver.setUp() | 277 | bzrserver.start_server() |
1227 | 278 | try: | 278 | try: |
1228 | 279 | self._exportToBranches(productseries) | 279 | self._exportToBranches(productseries) |
1229 | 280 | finally: | 280 | finally: |
1231 | 281 | bzrserver.tearDown() | 281 | bzrserver.stop_server() |
1232 | 282 | 282 | ||
1233 | === modified file 'scripts/branch-distro.py' | |||
1234 | --- scripts/branch-distro.py 2009-10-23 16:15:35 +0000 | |||
1235 | +++ scripts/branch-distro.py 2010-02-04 00:33:17 +0000 | |||
1236 | @@ -26,7 +26,7 @@ | |||
1237 | 26 | brancher = DistroBrancher.fromNames(self.logger, *self.args) | 26 | brancher = DistroBrancher.fromNames(self.logger, *self.args) |
1238 | 27 | server = get_multi_server( | 27 | server = get_multi_server( |
1239 | 28 | write_mirrored=True, write_hosted=True, direct_database=True) | 28 | write_mirrored=True, write_hosted=True, direct_database=True) |
1241 | 29 | server.setUp() | 29 | server.start_server() |
1242 | 30 | try: | 30 | try: |
1243 | 31 | if self.options.check: | 31 | if self.options.check: |
1244 | 32 | if not brancher.checkNewBranches(): | 32 | if not brancher.checkNewBranches(): |
1245 | @@ -34,7 +34,7 @@ | |||
1246 | 34 | else: | 34 | else: |
1247 | 35 | brancher.makeNewBranches() | 35 | brancher.makeNewBranches() |
1248 | 36 | finally: | 36 | finally: |
1250 | 37 | server.tearDown() | 37 | server.stop_server() |
1251 | 38 | 38 | ||
1252 | 39 | if __name__ == '__main__': | 39 | if __name__ == '__main__': |
1253 | 40 | BranchDistroScript("branch-distro", dbuser='branch-distro').run() | 40 | BranchDistroScript("branch-distro", dbuser='branch-distro').run() |
1254 | 41 | 41 | ||
1255 | === modified file 'scripts/update-stacked-on.py' | |||
1256 | --- scripts/update-stacked-on.py 2009-10-13 14:38:07 +0000 | |||
1257 | +++ scripts/update-stacked-on.py 2010-02-04 00:33:17 +0000 | |||
1258 | @@ -94,14 +94,14 @@ | |||
1259 | 94 | 94 | ||
1260 | 95 | def main(self): | 95 | def main(self): |
1261 | 96 | server = get_server(self.options.dry_run) | 96 | server = get_server(self.options.dry_run) |
1263 | 97 | server.setUp() | 97 | server.start_server() |
1264 | 98 | if self.options.dry_run: | 98 | if self.options.dry_run: |
1265 | 99 | self.logger.debug('Running read-only') | 99 | self.logger.debug('Running read-only') |
1266 | 100 | self.logger.debug('Beginning processing') | 100 | self.logger.debug('Beginning processing') |
1267 | 101 | try: | 101 | try: |
1268 | 102 | self.updateBranches(self.parseFromStream(sys.stdin)) | 102 | self.updateBranches(self.parseFromStream(sys.stdin)) |
1269 | 103 | finally: | 103 | finally: |
1271 | 104 | server.tearDown() | 104 | server.stop_server() |
1272 | 105 | self.logger.info('Done') | 105 | self.logger.info('Done') |
1273 | 106 | 106 | ||
1274 | 107 | def updateStackedOn(self, branch_id, bzr_branch_url, stacked_on_location): | 107 | def updateStackedOn(self, branch_id, bzr_branch_url, stacked_on_location): |
1275 | 108 | 108 | ||
1276 | === modified file 'versions.cfg' | |||
1277 | --- versions.cfg 2010-02-03 22:43:51 +0000 | |||
1278 | +++ versions.cfg 2010-02-04 00:33:17 +0000 | |||
1279 | @@ -5,8 +5,8 @@ | |||
1280 | 5 | # Alphabetical, case-insensitive, please! :-) | 5 | # Alphabetical, case-insensitive, please! :-) |
1281 | 6 | 6 | ||
1282 | 7 | ampoule = 0.2.0 | 7 | ampoule = 0.2.0 |
1285 | 8 | # Non-released bzr version from bzr+ssh://bazaar.launchpad.net/~mwhudson/bzr/2.1.0b4-lp2 | 8 | # From lp:~mwhudson/bzr/bzr-2.1.0rc2-lp-1 ('make dist' from r4807) |
1286 | 9 | bzr = 2.1b4-lp2 | 9 | bzr = 2.1.0rc2-lp-1 |
1287 | 10 | chameleon.core = 1.0b35 | 10 | chameleon.core = 1.0b35 |
1288 | 11 | chameleon.zpt = 1.0b17 | 11 | chameleon.zpt = 1.0b17 |
1289 | 12 | ClientForm = 0.2.10 | 12 | ClientForm = 0.2.10 |
Hi there,
This branch updates Launchpad to bzr 2.1rc1. It's mostly very boring fallout from bzrlib's Server class setUp -> start_server renaming although there a few test infrastructure and logging related changes too.