[Checkins] SVN: Sandbox/gotcha/five.taskqueue/src/five/taskqueue/tests/ avoid problem when ZPublisher tries to log conflict errors
Godefroid Chapelle
gotcha at bubblenet.be
Wed Apr 14 06:59:20 EDT 2010
Log message for revision 110852:
avoid problem when ZPublisher tries to log conflict errors
Changed:
U Sandbox/gotcha/five.taskqueue/src/five/taskqueue/tests/processor.txt
U Sandbox/gotcha/five.taskqueue/src/five/taskqueue/tests/test_doctests.py
-=-
Modified: Sandbox/gotcha/five.taskqueue/src/five/taskqueue/tests/processor.txt
===================================================================
--- Sandbox/gotcha/five.taskqueue/src/five/taskqueue/tests/processor.txt 2010-04-14 10:49:37 UTC (rev 110851)
+++ Sandbox/gotcha/five.taskqueue/src/five/taskqueue/tests/processor.txt 2010-04-14 10:59:19 UTC (rev 110852)
@@ -292,6 +292,8 @@
z3c.taskqueue INFO
stopping service remotetasks.tasks.tasks
+ >>> print conflict_logger
+
Note: Sometimes (about 20% of the time in this test) the log will contain a
conflict error. As long as the error is *not* produced by ``processNext()``,
they are harmless, even though they are logged on the error level. To avoid
Modified: Sandbox/gotcha/five.taskqueue/src/five/taskqueue/tests/test_doctests.py
===================================================================
--- Sandbox/gotcha/five.taskqueue/src/five/taskqueue/tests/test_doctests.py 2010-04-14 10:49:37 UTC (rev 110851)
+++ Sandbox/gotcha/five.taskqueue/src/five/taskqueue/tests/test_doctests.py 2010-04-14 10:59:19 UTC (rev 110852)
@@ -23,16 +23,32 @@
import doctest
import random
import unittest
+import logging
from five.taskqueue import service
ZopeTestCase.installProduct('Five')
+def _configure_conflict_error_log_level():
+ import App.config
+ config = App.config.getConfiguration()
+ config.conflict_error_log_level = logging.INFO
+ App.config.setConfiguration(config)
+
+
def setUp(test):
+ test.globs['root'] = ZopeTestCase.base.app()
+ # As task will be run in different threads, we cannot rely on print
+ # results. We need to log calls to prove correctness.
log_info = InstalledHandler('z3c.taskqueue')
- test.globs['root'] = ZopeTestCase.base.app()
test.globs['log_info'] = log_info
+ # We pass the ZPublisher conflict logger to prove that no conflict
+ # happened.
+ conflict_logger = InstalledHandler('ZPublisher.Conflict')
+ test.globs['conflict_logger'] = conflict_logger
+ # Make sure ZPublisher conflict error log level is setup.
+ _configure_conflict_error_log_level()
test.origArgs = service.TaskService.processorArguments
service.TaskService.processorArguments = {'waitTime': 0.0}
# Make tests predictable
More information about the checkins
mailing list