Merge lp:~gmb/launchpad/ebt-logging-bug-974586 into lp:launchpad

Proposed by Graham Binns on 2012-04-12
Status: Merged
Merged at revision: 15085
Proposed branch: lp:~gmb/launchpad/ebt-logging-bug-974586
Merge into: lp:launchpad
Diff against target: 636 lines (+103/-79)
14 files modified
lib/lp/bugs/doc/externalbugtracker-bug-imports.txt (+4/-2)
lib/lp/bugs/doc/externalbugtracker-bugzilla-oddities.txt (+4/-3)
lib/lp/bugs/doc/externalbugtracker-bugzilla.txt (+19/-18)
lib/lp/bugs/doc/externalbugtracker-comment-imports.txt (+17/-17)
lib/lp/bugs/doc/externalbugtracker-comment-pushing.txt (+8/-7)
lib/lp/bugs/doc/externalbugtracker-debbugs.txt (+3/-2)
lib/lp/bugs/doc/externalbugtracker-linking-back.txt (+6/-4)
lib/lp/bugs/doc/externalbugtracker-mantis-csv.txt (+6/-4)
lib/lp/bugs/doc/externalbugtracker-mantis.txt (+7/-5)
lib/lp/bugs/doc/externalbugtracker-roundup.txt (+5/-3)
lib/lp/bugs/doc/externalbugtracker-rt.txt (+5/-3)
lib/lp/bugs/doc/externalbugtracker-sourceforge.txt (+6/-4)
lib/lp/bugs/doc/externalbugtracker-trac.txt (+6/-4)
lib/lp/bugs/doc/externalbugtracker.txt (+7/-3)
To merge this branch: bzr merge lp:~gmb/launchpad/ebt-logging-bug-974586
Reviewer Review Type Date Requested Status
Benji York (community) code 2012-04-12 Approve on 2012-04-12
Review via email: mp+101720@code.launchpad.net

Description of the Change

This branch fixes bug 974586 by making sure that the ExternalBugTracker doctests don't depend on the default logger.

Since I couldn't easily diagnose the problem with the default logger (it's intermittent, may be an isolation problem, and might have something to do with our muting of the logger for certain modules in lp_sitecustomize.py, but those are only hypotheses) I decided that the EBT tests should never have depended on it anyway. We have a FakeLogger class specifically for situations where we need output from a logger but don't need to do end-to-end testing of the logging stack, so I simply made sure that all instances of CheckwatchesMaster created by the tests had a FakeLogger (or in one case a DevNullLogger) as their logger and updated the expected output appropriately.

As a result of this, much of the diff is mechanical in nature.

To post a comment you must log in.
Benji York (benji) wrote :

Looks good.

review: Approve (code)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'lib/lp/bugs/doc/externalbugtracker-bug-imports.txt'
2--- lib/lp/bugs/doc/externalbugtracker-bug-imports.txt 2012-01-24 12:36:15 +0000
3+++ lib/lp/bugs/doc/externalbugtracker-bug-imports.txt 2012-04-12 11:50:25 +0000
4@@ -47,6 +47,7 @@
5 distributions are supported as the bug target.
6
7 # Make sane data to play this test.
8+ >>> from lp.services.log.logger import FakeLogger
9 >>> from lp.testing.dbuser import lp_dbuser
10 >>> from lp.testing.layers import LaunchpadZopelessLayer
11
12@@ -63,7 +64,8 @@
13 ... 'package': 'evolution',
14 ... 'reporter': ("Joe Bloggs", "joe.bloggs@example.com")}
15 >>> transaction.commit()
16- >>> bug_watch_updater = CheckwatchesMaster(LaunchpadZopelessLayer.txn)
17+ >>> bug_watch_updater = CheckwatchesMaster(
18+ ... LaunchpadZopelessLayer.txn, logger=FakeLogger())
19 >>> bug = bug_watch_updater.importBug(
20 ... external_bugtracker, bugtracker, debian, '3')
21
22@@ -138,7 +140,7 @@
23 None
24 >>> bug = bug_watch_updater.importBug(
25 ... external_bugtracker, bugtracker, debian, '5')
26- WARNING:...:Unknown debian package (#5 at http://...): no-such-package
27+ WARNING Unknown debian package (#5 at http://...): no-such-package
28 (OOPS-...)
29
30 >>> [added_task] = bug.bugtasks
31
32=== modified file 'lib/lp/bugs/doc/externalbugtracker-bugzilla-oddities.txt'
33--- lib/lp/bugs/doc/externalbugtracker-bugzilla-oddities.txt 2011-12-28 17:03:06 +0000
34+++ lib/lp/bugs/doc/externalbugtracker-bugzilla-oddities.txt 2012-04-12 11:50:25 +0000
35@@ -17,6 +17,7 @@
36 >>> from lp.testing.layers import LaunchpadZopelessLayer
37 >>> from lp.bugs.scripts.checkwatches import CheckwatchesMaster
38 >>> from lp.bugs.tests.externalbugtracker import TestIssuezilla
39+ >>> from lp.services.log.logger import FakeLogger
40 >>> txn = LaunchpadZopelessLayer.txn
41 >>> mozilla_bugzilla = getUtility(IBugTrackerSet).getByName('mozilla.org')
42 >>> issuezilla = TestIssuezilla(mozilla_bugzilla.baseurl)
43@@ -30,11 +31,11 @@
44 42: FUBAR BAZBAZ
45 42: FUBAR BAZBAZ
46 >>> transaction.commit()
47- >>> bug_watch_updater = CheckwatchesMaster(txn)
48+ >>> bug_watch_updater = CheckwatchesMaster(txn, logger=FakeLogger())
49 >>> bug_watch_updater.updateBugWatches(
50 ... issuezilla, mozilla_bugzilla.watches)
51- INFO:...:Updating 4 watches for 3 bugs on https://bugzilla.mozilla.org
52- INFO:...:Didn't find bug u'42' on https://bugzilla.mozilla.org
53+ INFO Updating 4 watches for 3 bugs on https://bugzilla.mozilla.org
54+ INFO Didn't find bug u'42' on https://bugzilla.mozilla.org
55 (local bugs: 1, 2).
56
57 >>> for bug_watch in mozilla_bugzilla.watches:
58
59=== modified file 'lib/lp/bugs/doc/externalbugtracker-bugzilla.txt'
60--- lib/lp/bugs/doc/externalbugtracker-bugzilla.txt 2011-12-30 06:14:56 +0000
61+++ lib/lp/bugs/doc/externalbugtracker-bugzilla.txt 2012-04-12 11:50:25 +0000
62@@ -434,8 +434,9 @@
63 done through updateBugWatches(), which expects a list of bug watches to
64 update:
65
66+ >>> from lp.services.log.logger import FakeLogger
67 >>> from lp.bugs.scripts.checkwatches import CheckwatchesMaster
68- >>> bug_watch_updater = CheckwatchesMaster(txn)
69+ >>> bug_watch_updater = CheckwatchesMaster(txn, logger=FakeLogger())
70 >>> for bug_watch in gnome_bugzilla.watches:
71 ... print "%s: %s %s" % (bug_watch.remotebug,
72 ... bug_watch.remotestatus,
73@@ -444,8 +445,8 @@
74 3224: None
75 >>> bug_watch_updater.updateBugWatches(
76 ... external_bugzilla, gnome_bugzilla.watches)
77- INFO:...:Updating 2 watches for 2 bugs on http://bugzilla.gnome.org/bugs
78- INFO:...Didn't find bug u'304070' on
79+ INFO Updating 2 watches for 2 bugs on http://bugzilla.gnome.org/bugs
80+ INFO Didn't find bug u'304070' on
81 http://bugzilla.gnome.org/bugs (local bugs: 15).
82
83 >>> for bug_watch in gnome_bugzilla.watches:
84@@ -489,15 +490,15 @@
85 >>> external_bugzilla.trace_calls = True
86 >>> bug_watch_updater.updateBugWatches(
87 ... external_bugzilla, gnome_bugzilla.watches)
88- INFO:...:Updating 7 watches for 7 bugs on http://bugzilla.gnome.org/bugs
89- CALLED _postPage()
90- CALLED _postPage()
91- CALLED _postPage()
92- CALLED _postPage()
93- CALLED _postPage()
94- CALLED _postPage()
95- CALLED _postPage()
96- INFO:...:Didn't find bug u'304070' on
97+ INFO Updating 7 watches for 7 bugs on http://bugzilla.gnome.org/bugs
98+ CALLED _postPage()
99+ CALLED _postPage()
100+ CALLED _postPage()
101+ CALLED _postPage()
102+ CALLED _postPage()
103+ CALLED _postPage()
104+ CALLED _postPage()
105+ INFO Didn't find bug u'304070' on
106 http://bugzilla.gnome.org/bugs (local bugs: 15).
107
108 >>> remote_statuses = dict(
109@@ -543,9 +544,9 @@
110 >>> external_bugzilla.trace_calls = True
111 >>> bug_watch_updater.updateBugWatches(
112 ... external_bugzilla, gnome_bugzilla.watches)
113- INFO:...:Updating 207 watches for 207 bugs...
114+ INFO Updating 207 watches for 207 bugs...
115 CALLED _postPage()
116- INFO:...:Didn't find bug u'304070' on
117+ INFO Didn't find bug u'304070' on
118 http://bugzilla.gnome.org/bugs (local bugs: 15).
119
120 >>> remote_statuses = dict(
121@@ -580,7 +581,7 @@
122 >>> bug_watch.lastchanged = now - timedelta(weeks=2)
123 >>> old_last_changed = bug_watch.lastchanged
124 >>> bug_watch_updater.updateBugWatches(external_bugzilla, [bug_watch])
125- INFO:...:Updating 1 watches for 1 bugs on http://bugzilla.gnome.org/bugs
126+ INFO Updating 1 watches for 1 bugs on http://bugzilla.gnome.org/bugs
127 >>> bug_watch.lastchanged == old_last_changed
128 True
129
130@@ -617,7 +618,7 @@
131
132 >>> bug_watch_updater.updateBugWatches(
133 ... external_bugzilla, [thunderbird_task.bugwatch])
134- INFO:...:Updating 1 watches for 1 bugs on https://bugzilla.mozilla.org
135+ INFO Updating 1 watches for 1 bugs on https://bugzilla.mozilla.org
136
137 >>> bug_nine = getUtility(IBugSet).get(9)
138 >>> thunderbird_task = bug_nine.bugtasks[0]
139@@ -640,7 +641,7 @@
140 ... getUtility(IPersonSet).getByName('no-priv'))
141 >>> bug_watch_updater.updateBugWatches(
142 ... external_bugzilla, [thunderbird_task.bugwatch])
143- INFO:...:Updating 1 watches for 1 bugs on https://bugzilla.mozilla.org
144+ INFO Updating 1 watches for 1 bugs on https://bugzilla.mozilla.org
145
146 >>> bug_nine = getUtility(IBugSet).get(9)
147 >>> thunderbird_task = bug_nine.bugtasks[0]
148@@ -669,7 +670,7 @@
149 >>> bug_watch2_id = bug_watch2.id
150 >>> bug_watch_updater.updateBugWatches(
151 ... external_bugzilla, [bug_watch1, bug_watch2])
152- INFO:...:Updating 2 watches for 1 bugs on https://bugzilla.mozilla.org
153+ INFO Updating 2 watches for 1 bugs on https://bugzilla.mozilla.org
154
155 >>> bug_watch1 = getUtility(IBugWatchSet).get(bug_watch1_id)
156 >>> print bug_watch1.remotestatus
157
158=== modified file 'lib/lp/bugs/doc/externalbugtracker-comment-imports.txt'
159--- lib/lp/bugs/doc/externalbugtracker-comment-imports.txt 2012-01-04 03:23:19 +0000
160+++ lib/lp/bugs/doc/externalbugtracker-comment-imports.txt 2012-04-12 11:50:25 +0000
161@@ -84,16 +84,16 @@
162 comment-importing ExternalBugTracker instance will result in the three
163 comments in the comment_dict being imported into Launchpad.
164
165- >>> from lp.services.scripts.logger import log
166+ >>> from lp.services.log.logger import FakeLogger
167 >>> from lp.bugs.scripts.checkwatches.core import CheckwatchesMaster
168 >>> from lp.bugs.scripts.checkwatches.tests.test_bugwatchupdater import (
169 ... make_bug_watch_updater)
170
171 >>> bugwatch_updater = make_bug_watch_updater(
172- ... CheckwatchesMaster(transaction), bug_watch,
173- ... external_bugtracker)
174+ ... CheckwatchesMaster(transaction, logger=FakeLogger()),
175+ ... bug_watch, external_bugtracker)
176 >>> bugwatch_updater.importBugComments()
177- INFO:...:Imported 3 comments for remote bug 123456 on ...
178+ INFO Imported 3 comments for remote bug 123456 on ...
179
180 These three comments will be linked to the bug watch from which they
181 were imported. They also have the remote_comment_id attribute set.
182@@ -123,7 +123,7 @@
183 >>> transaction.commit()
184
185 >>> bugwatch_updater.importBugComments()
186- INFO:...:Imported 1 comments for remote bug 123456 on ...
187+ INFO Imported 1 comments for remote bug 123456 on ...
188
189 Once again, the newly-imported comment will be linked to the bug watch
190 form which it was imported.
191@@ -174,7 +174,7 @@
192 >>> transaction.commit()
193
194 >>> bugwatch_updater.importBugComments()
195- INFO:...:Imported 1 comments for remote bug 123456 on ...
196+ INFO Imported 1 comments for remote bug 123456 on ...
197
198 >>> bug.messages[-1].owner.name
199 u'no-priv'
200@@ -192,7 +192,7 @@
201 >>> transaction.commit()
202
203 >>> bugwatch_updater.importBugComments()
204- INFO:...:Imported 1 comments for remote bug 123456 on ...
205+ INFO Imported 1 comments for remote bug 123456 on ...
206
207 >>> bug.messages[-1].owner.name
208 u'noemail-bugzilla-checkwatches-1'
209@@ -217,9 +217,9 @@
210 >>> transaction.commit()
211
212 >>> bugwatch_updater.importBugComments()
213- WARNING:...:Unable to import remote comment author. No email address
214+ WARNING Unable to import remote comment author. No email address
215 or display name found. (OOPS-...)
216- INFO:...:Imported 0 comments for remote bug 123456 on ...
217+ INFO Imported 0 comments for remote bug 123456 on ...
218
219 >>> print bug.messages[-1].text_contents
220 Yet another comment.
221@@ -387,10 +387,10 @@
222 >>> external_bugtracker.remote_comments = {
223 ... '5':"A comment containing a CVE entry: CVE-1991-9911."}
224 >>> bugwatch_updater = make_bug_watch_updater(
225- ... CheckwatchesMaster(transaction), bug_watch,
226- ... external_bugtracker)
227+ ... CheckwatchesMaster(transaction, logger=FakeLogger()),
228+ ... bug_watch, external_bugtracker)
229 >>> bugwatch_updater.importBugComments()
230- INFO:...:Imported 1 comments for remote bug 123456...
231+ INFO Imported 1 comments for remote bug 123456...
232
233 >>> for cve in bug_watch.bug.cves:
234 ... print cve.displayname
235@@ -412,7 +412,7 @@
236 >>> transaction.commit()
237
238 >>> bugwatch_updater.importBugComments()
239- INFO:...:Imported 1 comments for remote bug 123456...
240+ INFO Imported 1 comments for remote bug 123456...
241
242 >>> for cve in sorted([cve.displayname for cve in bug_watch.bug.cves]):
243 ... print cve
244@@ -460,10 +460,10 @@
245 >>> transaction.commit()
246
247 >>> bugwatch_updater = make_bug_watch_updater(
248- ... CheckwatchesMaster(transaction), bug_watch,
249- ... external_bugtracker)
250+ ... CheckwatchesMaster(transaction, logger=FakeLogger()),
251+ ... bug_watch, external_bugtracker)
252 >>> bugwatch_updater.importBugComments()
253- INFO:...:Imported 2 comments for remote bug 42 ...
254+ INFO Imported 2 comments for remote bug 42 ...
255
256 >>> notifications = get_new_notifications(bug=bug_watch.bug)
257 >>> len(notifications)
258@@ -519,7 +519,7 @@
259 >>> transaction.commit()
260
261 >>> bugwatch_updater.importBugComments()
262- INFO:...:Imported 2 comments for remote bug 42 ...
263+ INFO Imported 2 comments for remote bug 42 ...
264
265 >>> notifications = get_new_notifications(bug_watch.bug)
266 >>> len(notifications)
267
268=== modified file 'lib/lp/bugs/doc/externalbugtracker-comment-pushing.txt'
269--- lib/lp/bugs/doc/externalbugtracker-comment-pushing.txt 2012-01-20 16:11:11 +0000
270+++ lib/lp/bugs/doc/externalbugtracker-comment-pushing.txt 2012-04-12 11:50:25 +0000
271@@ -92,17 +92,18 @@
272 each Launchpad comment that needs to be pushed to the remote bug
273 tracker.
274
275+ >>> from lp.services.log.logger import FakeLogger
276 >>> from lp.bugs.scripts.checkwatches.core import CheckwatchesMaster
277 >>> from lp.bugs.scripts.checkwatches.tests.test_bugwatchupdater import (
278 ... make_bug_watch_updater)
279
280 >>> bugwatch_updater = make_bug_watch_updater(
281- ... CheckwatchesMaster(transaction), bug_watch,
282- ... external_bugtracker)
283+ ... CheckwatchesMaster(transaction, logger=FakeLogger()),
284+ ... bug_watch, external_bugtracker)
285
286 >>> bugwatch_updater.pushBugComments()
287 Comment added as remote comment 1
288- INFO:...:Pushed 1 comments to remote bug 1234 on ...
289+ INFO Pushed 1 comments to remote bug 1234 on ...
290
291 The comment that we pushed to the remote bug will now have a
292 remote_comment_id.
293@@ -148,7 +149,7 @@
294 >>> bugwatch_updater.pushBugComments()
295 Comment added as remote comment 2
296 Comment added as remote comment 3
297- INFO:...:Pushed 2 comments to remote bug 1234 on ...
298+ INFO Pushed 2 comments to remote bug 1234 on ...
299
300 >>> print_bug_messages(bug, bug_watch)
301 1: Pushing, for the purpose of.
302@@ -218,7 +219,7 @@
303
304 >>> bugwatch_updater.external_bugtracker = external_bugtracker
305 >>> bugwatch_updater.importBugComments()
306- INFO:...:Imported 3 comments for remote bug 1234 on ...
307+ INFO Imported 3 comments for remote bug 1234 on ...
308
309 Each of the imported comments has its remote_comment_id field set.
310
311@@ -256,8 +257,8 @@
312 ... 'http://example.com')
313
314 >>> bugwatch_updater = make_bug_watch_updater(
315- ... CheckwatchesMaster(transaction), bug_watch,
316- ... external_bugtracker)
317+ ... CheckwatchesMaster(transaction, logger=FakeLogger()),
318+ ... bug_watch, external_bugtracker)
319 >>> bugwatch_updater.external_bugtracker = broken_external_bugtracker
320 >>> bugwatch_updater.pushBugComments()
321 Traceback (most recent call last):
322
323=== modified file 'lib/lp/bugs/doc/externalbugtracker-debbugs.txt'
324--- lib/lp/bugs/doc/externalbugtracker-debbugs.txt 2012-03-27 13:38:04 +0000
325+++ lib/lp/bugs/doc/externalbugtracker-debbugs.txt 2012-04-12 11:50:25 +0000
326@@ -120,12 +120,13 @@
327
328 >>> transaction.commit()
329
330+ >>> from lp.services.log.logger import FakeLogger
331 >>> from lp.bugs.scripts.checkwatches import CheckwatchesMaster
332- >>> bug_watch_updater = CheckwatchesMaster(txn)
333+ >>> bug_watch_updater = CheckwatchesMaster(txn, logger=FakeLogger())
334 >>> external_debbugs.sync_comments = False
335 >>> bug_watch_ids = sorted([bug_watch.id for bug_watch in bug_watches])
336 >>> bug_watch_updater.updateBugWatches(external_debbugs, bug_watches)
337- INFO:...:Updating 5 watches for 5 bugs on http://...
338+ INFO Updating 5 watches for 5 bugs on http://...
339
340 >>> from lp.bugs.interfaces.bugwatch import IBugWatchSet
341 >>> for bug_watch_id in bug_watch_ids:
342
343=== modified file 'lib/lp/bugs/doc/externalbugtracker-linking-back.txt'
344--- lib/lp/bugs/doc/externalbugtracker-linking-back.txt 2012-01-20 15:42:44 +0000
345+++ lib/lp/bugs/doc/externalbugtracker-linking-back.txt 2012-04-12 11:50:25 +0000
346@@ -46,8 +46,10 @@
347 >>> txn.commit()
348 >>> switch_dbuser('checkwatches')
349
350+ >>> from lp.services.log.logger import DevNullLogger
351 >>> from lp.bugs.scripts.checkwatches import CheckwatchesMaster
352- >>> checkwatches_master = CheckwatchesMaster(txn)
353+ >>> checkwatches_master = CheckwatchesMaster(
354+ ... txn, logger=DevNullLogger())
355 >>> txn.commit()
356
357 >>> external_bugtracker = BackLinkingExternalBugTracker(
358@@ -91,13 +93,13 @@
359
360 >>> transaction.commit()
361
362- >>> from lp.bugs.scripts.checkwatches.core import CheckwatchesMaster
363+ >>> from lp.services.log.logger import FakeLogger
364 >>> from lp.bugs.scripts.checkwatches.tests.test_bugwatchupdater import (
365 ... make_bug_watch_updater)
366
367 >>> bug_watch_updater = make_bug_watch_updater(
368- ... CheckwatchesMaster(transaction), bug_watch,
369- ... external_bugtracker)
370+ ... CheckwatchesMaster(transaction, logger=FakeLogger()),
371+ ... bug_watch, external_bugtracker)
372 >>> bug_watch_updater.linkLaunchpadBug()
373 Getting Launchpad id for bug 42
374
375
376=== modified file 'lib/lp/bugs/doc/externalbugtracker-mantis-csv.txt'
377--- lib/lp/bugs/doc/externalbugtracker-mantis-csv.txt 2011-12-30 06:14:56 +0000
378+++ lib/lp/bugs/doc/externalbugtracker-mantis-csv.txt 2012-04-12 11:50:25 +0000
379@@ -80,11 +80,13 @@
380
381 >>> transaction.commit()
382
383+ >>> from lp.services.log.logger import FakeLogger
384 >>> from lp.bugs.scripts.checkwatches import CheckwatchesMaster
385- >>> bug_watch_updater = CheckwatchesMaster(transaction)
386+ >>> bug_watch_updater = CheckwatchesMaster(
387+ ... transaction, logger=FakeLogger())
388 >>> bug_watch_updater.updateBugWatches(
389 ... example_ext_bug_tracker, example_bug_tracker.watches)
390- INFO:...:Updating 1 watches for 1 bugs on http://bugs.some.where
391+ INFO Updating 1 watches for 1 bugs on http://bugs.some.where
392
393 >>> for bug_watch in example_bug_tracker.watches:
394 ... print "%s: %s" % (bug_watch.remotebug, bug_watch.remotestatus)
395@@ -128,7 +130,7 @@
396 >>> example_ext_bug_tracker.trace_calls = True
397 >>> bug_watch_updater.updateBugWatches(
398 ... example_ext_bug_tracker, example_bug_tracker.watches)
399- INFO:...:Updating 6 watches for 6 bugs on http://bugs.some.where
400+ INFO Updating 6 watches for 6 bugs on http://bugs.some.where
401 CALLED _postPage('view_all_set.php?f=3', ...)
402 CALLED _getPage('csv_export.php')
403
404@@ -183,7 +185,7 @@
405 >>> old_last_changed = bug_watch.lastchanged
406 >>> bug_watch_updater.updateBugWatches(
407 ... example_ext_bug_tracker, [bug_watch])
408- INFO:...:Updating 1 watches for 1 bugs on http://bugs.some.where
409+ INFO Updating 1 watches for 1 bugs on http://bugs.some.where
410
411 >>> bug_watch.lastchanged == old_last_changed
412 True
413
414=== modified file 'lib/lp/bugs/doc/externalbugtracker-mantis.txt'
415--- lib/lp/bugs/doc/externalbugtracker-mantis.txt 2011-12-30 06:14:56 +0000
416+++ lib/lp/bugs/doc/externalbugtracker-mantis.txt 2012-04-12 11:50:25 +0000
417@@ -80,13 +80,15 @@
418
419 >>> transaction.commit()
420
421+ >>> from lp.services.log.logger import FakeLogger
422 >>> from lp.testing.layers import LaunchpadZopelessLayer
423 >>> from lp.bugs.scripts.checkwatches import CheckwatchesMaster
424 >>> txn = LaunchpadZopelessLayer.txn
425- >>> bug_watch_updater = CheckwatchesMaster(txn)
426+ >>> bug_watch_updater = CheckwatchesMaster(
427+ ... txn, logger=FakeLogger())
428 >>> bug_watch_updater.updateBugWatches(
429 ... example_ext_bug_tracker, example_bug_tracker.watches)
430- INFO:...:Updating 1 watches for 1 bugs on http://bugs.some.where
431+ INFO Updating 1 watches for 1 bugs on http://bugs.some.where
432
433 >>> for bug_watch in example_bug_tracker.watches:
434 ... print "%s: %s" % (bug_watch.remotebug, bug_watch.remotestatus)
435@@ -135,14 +137,14 @@
436 >>> bug_watch_updater.updateBugWatches(
437 ... example_ext_bug_tracker,
438 ... sorted(example_bug_tracker.watches, key=getid))
439- INFO:...:Updating 7 watches for 6 bugs on http://bugs.some.where
440+ INFO Updating 7 watches for 6 bugs on http://bugs.some.where
441 CALLED _getPage(u'view.php?id=1550')
442 CALLED _getPage(u'view.php?id=1679')
443 CALLED _getPage(u'view.php?id=1730')
444 CALLED _getPage(u'view.php?id=1738')
445 CALLED _getPage(u'view.php?id=1748')
446 CALLED _getPage(u'view.php?id=1798')
447- INFO:...:Didn't find bug u'1798' on http://bugs.some.where
448+ INFO Didn't find bug u'1798' on http://bugs.some.where
449 (local bugs: 10).
450
451 >>> remote_statuses = dict(
452@@ -197,7 +199,7 @@
453 >>> old_last_changed = bug_watch.lastchanged
454 >>> bug_watch_updater.updateBugWatches(
455 ... example_ext_bug_tracker, [bug_watch])
456- INFO:...:Updating 1 watches for 1 bugs on http://bugs.some.where
457+ INFO Updating 1 watches for 1 bugs on http://bugs.some.where
458
459 >>> bug_watch.lastchanged == old_last_changed
460 True
461
462=== modified file 'lib/lp/bugs/doc/externalbugtracker-roundup.txt'
463--- lib/lp/bugs/doc/externalbugtracker-roundup.txt 2011-12-28 17:03:06 +0000
464+++ lib/lp/bugs/doc/externalbugtracker-roundup.txt 2012-04-12 11:50:25 +0000
465@@ -138,14 +138,16 @@
466
467 >>> transaction.commit()
468
469+ >>> from lp.services.log.logger import FakeLogger
470 >>> from lp.testing.layers import LaunchpadZopelessLayer
471 >>> from lp.bugs.scripts.checkwatches import CheckwatchesMaster
472 >>> txn = LaunchpadZopelessLayer.txn
473- >>> bug_watch_updater = CheckwatchesMaster(txn)
474+ >>> bug_watch_updater = CheckwatchesMaster(
475+ ... txn, logger=FakeLogger())
476 >>> roundup = TestRoundup(example_bug_tracker.baseurl)
477 >>> bug_watch_updater.updateBugWatches(
478 ... roundup, example_bug_tracker.watches)
479- INFO:...:Updating 1 watches for 1 bugs on http://bugs.some.where
480+ INFO Updating 1 watches for 1 bugs on http://bugs.some.where
481 >>> print_bugwatches(example_bug_tracker.watches)
482 Remote bug 1: 1
483
484@@ -179,7 +181,7 @@
485 >>> roundup.trace_calls = True
486 >>> bug_watch_updater.updateBugWatches(
487 ... roundup, example_bug_tracker.watches)
488- INFO:...:Updating 11 watches for 11 bugs on http://bugs.some.where
489+ INFO Updating 11 watches for 11 bugs on http://bugs.some.where
490 CALLED urlopen(u'http://.../issue?...@startwith=0')
491
492 >>> print_bugwatches(example_bug_tracker.watches,
493
494=== modified file 'lib/lp/bugs/doc/externalbugtracker-rt.txt'
495--- lib/lp/bugs/doc/externalbugtracker-rt.txt 2011-12-28 17:03:06 +0000
496+++ lib/lp/bugs/doc/externalbugtracker-rt.txt 2012-04-12 11:50:25 +0000
497@@ -191,13 +191,15 @@
498
499 >>> transaction.commit()
500
501+ >>> from lp.services.log.logger import FakeLogger
502 >>> from lp.testing.layers import LaunchpadZopelessLayer
503 >>> from lp.bugs.scripts.checkwatches import CheckwatchesMaster
504 >>> txn = LaunchpadZopelessLayer.txn
505- >>> bug_watch_updater = CheckwatchesMaster(txn)
506+ >>> bug_watch_updater = CheckwatchesMaster(
507+ ... txn, logger=FakeLogger())
508 >>> rt = TestRequestTracker(example_bug_tracker.baseurl)
509 >>> bug_watch_updater.updateBugWatches(rt, example_bug_tracker.watches)
510- INFO:...:Updating 1 watches for 1 bugs on http://bugs.some.where
511+ INFO Updating 1 watches for 1 bugs on http://bugs.some.where
512
513 >>> print_bugwatches(example_bug_tracker.watches)
514 Remote bug 1585: new
515@@ -225,7 +227,7 @@
516
517 >>> rt.trace_calls = True
518 >>> bug_watch_updater.updateBugWatches(rt, example_bug_tracker.watches)
519- INFO:...:Updating 5 watches for 5 bugs on http://bugs.some.where
520+ INFO Updating 5 watches for 5 bugs on http://bugs.some.where
521 CALLED urlopen(u'REST/1.0/search/ticket/')
522
523 The bug statuses have now been imported from the Example.com bug
524
525=== modified file 'lib/lp/bugs/doc/externalbugtracker-sourceforge.txt'
526--- lib/lp/bugs/doc/externalbugtracker-sourceforge.txt 2011-12-28 17:03:06 +0000
527+++ lib/lp/bugs/doc/externalbugtracker-sourceforge.txt 2012-04-12 11:50:25 +0000
528@@ -161,14 +161,16 @@
529
530 >>> transaction.commit()
531
532+ >>> from lp.services.log.logger import FakeLogger
533 >>> from lp.testing.layers import LaunchpadZopelessLayer
534 >>> from lp.bugs.scripts.checkwatches import CheckwatchesMaster
535 >>> txn = LaunchpadZopelessLayer.txn
536- >>> bug_watch_updater = CheckwatchesMaster(txn)
537+ >>> bug_watch_updater = CheckwatchesMaster(
538+ ... txn, logger=FakeLogger())
539 >>> sourceforge = TestSourceForge(example_bug_tracker.baseurl)
540 >>> bug_watch_updater.updateBugWatches(
541 ... sourceforge, example_bug_tracker.watches)
542- INFO:...:Updating 1 watches for 1 bugs on http://bugs.some.where
543+ INFO Updating 1 watches for 1 bugs on http://bugs.some.where
544 >>> print_bugwatches(example_bug_tracker.watches)
545 Remote bug 1722250: Open:None
546
547@@ -210,7 +212,7 @@
548 >>> sourceforge.trace_calls = True
549 >>> bug_watch_updater.updateBugWatches(
550 ... sourceforge, sorted(example_bug_tracker.watches))
551- INFO:...:Updating 1 watches for 1 bugs on http://bugs.some.where
552+ INFO Updating 1 watches for 1 bugs on http://bugs.some.where
553 CALLED _getPage(u'support/tracker.php?aid=1722251')
554
555 For the sake of this test we can set the bug tracker's batch_size to
556@@ -219,7 +221,7 @@
557 >>> sourceforge.batch_size = None
558 >>> bug_watch_updater.updateBugWatches(
559 ... sourceforge, example_bug_tracker.watches)
560- INFO:...:Updating 10 watches for 10 bugs on http://bugs.some.where
561+ INFO Updating 10 watches for 10 bugs on http://bugs.some.where
562 CALLED _getPage(u'support/tracker.php?aid=1722250')
563 CALLED _getPage(u'support/tracker.php?aid=1722251')
564 CALLED _getPage(u'support/tracker.php?aid=1722252')
565
566=== modified file 'lib/lp/bugs/doc/externalbugtracker-trac.txt'
567--- lib/lp/bugs/doc/externalbugtracker-trac.txt 2011-12-28 17:03:06 +0000
568+++ lib/lp/bugs/doc/externalbugtracker-trac.txt 2012-04-12 11:50:25 +0000
569@@ -316,13 +316,15 @@
570
571 >>> transaction.commit()
572
573+ >>> from lp.services.log.logger import FakeLogger
574 >>> from lp.testing.layers import LaunchpadZopelessLayer
575 >>> from lp.bugs.scripts.checkwatches import CheckwatchesMaster
576 >>> txn = LaunchpadZopelessLayer.txn
577- >>> bug_watch_updater = CheckwatchesMaster(txn)
578+ >>> bug_watch_updater = CheckwatchesMaster(
579+ ... txn, FakeLogger())
580 >>> trac = TestTrac(example_bug_tracker.baseurl)
581 >>> bug_watch_updater.updateBugWatches(trac, example_bug_tracker.watches)
582- INFO:...:Updating 1 watches for 1 bugs on http://bugs.some.where
583+ INFO Updating 1 watches for 1 bugs on http://bugs.some.where
584
585 >>> for bug_watch in example_bug_tracker.watches:
586 ... print "%s: %s" % (bug_watch.remotebug, bug_watch.remotestatus)
587@@ -365,7 +367,7 @@
588
589 >>> trac.trace_calls = True
590 >>> bug_watch_updater.updateBugWatches(trac, example_bug_tracker.watches)
591- INFO:...:Updating 12 watches for 12 bugs on http://bugs.some.where
592+ INFO Updating 12 watches for 12 bugs on http://bugs.some.where
593 CALLED urlopen(u'http://.../query?id=...
594
595 >>> for remote_bug_id in sorted(bug_watches.keys()):
596@@ -416,7 +418,7 @@
597 >>> trac.batch_query_threshold = 0
598 >>> trac.trace_calls = False
599 >>> bug_watch_updater.updateBugWatches(trac, [bug_watch])
600- INFO:...:Updating 1 watches for 1 bugs on http://bugs.some.where
601+ INFO Updating 1 watches for 1 bugs on http://bugs.some.where
602
603 >>> bug_watch.lastchanged == old_last_changed
604 True
605
606=== modified file 'lib/lp/bugs/doc/externalbugtracker.txt'
607--- lib/lp/bugs/doc/externalbugtracker.txt 2011-12-29 05:29:36 +0000
608+++ lib/lp/bugs/doc/externalbugtracker.txt 2012-04-12 11:50:25 +0000
609@@ -29,10 +29,13 @@
610 ... print "initializeRemoteBugDB() called: %r" % (
611 ... remote_bug_ids, )
612
613+ >>> from lp.services.log.logger import FakeLogger
614 >>> from lp.bugs.scripts.checkwatches import CheckwatchesMaster
615- >>> bug_watch_updater = CheckwatchesMaster(transaction)
616+ >>> bug_watch_updater = CheckwatchesMaster(
617+ ... transaction, logger=FakeLogger())
618 >>> bug_watch_updater.updateBugWatches(
619 ... InitializingExternalBugTracker(), [])
620+ INFO Updating 0 watches for 0 bugs on http://example.com
621 initializeRemoteBugDB() called: []
622
623
624@@ -403,11 +406,12 @@
625 ... sync_comments = True
626
627 >>> checkwatches_master = CheckwatchesMaster(
628- ... transaction, syncable_gnome_products=[])
629+ ... transaction, syncable_gnome_products=[],
630+ ... logger=FakeLogger())
631 >>> remote_bug_updater = checkwatches_master.remote_bug_updater_factory(
632 ... checkwatches_master, CommentImportExternalBugTracker(), '1',
633 ... [], [], server_time=None)
634- WARNING:...:Comment importing supported, but server time can't be
635+ WARNING Comment importing supported, but server time can't be
636 trusted. No comments will be imported. (OOPS-...)
637
638