[Checkins] SVN: zc.async/trunk/src/zc/async/job. add a test for the remaining log callback job case; tweak log messages

Gary Poster gary at zope.com
Tue Apr 22 07:04:17 EDT 2008


Log message for revision 85587:
  add a test for the remaining log callback job case; tweak log messages

Changed:
  U   zc.async/trunk/src/zc/async/job.py
  U   zc.async/trunk/src/zc/async/job.txt

-=-
Modified: zc.async/trunk/src/zc/async/job.py
===================================================================
--- zc.async/trunk/src/zc/async/job.py	2008-04-22 10:18:28 UTC (rev 85586)
+++ zc.async/trunk/src/zc/async/job.py	2008-04-22 11:04:17 UTC (rev 85587)
@@ -346,33 +346,24 @@
         while 1:
             for j in callbacks:
                 if j._status == zc.async.interfaces.NEW:
-                    zc.async.utils.tracelog.info(
-                        'starting callback to %r: %r', self, j)
+                    zc.async.utils.tracelog.debug(
+                        'starting callback %r to %r', j, self)
                     j(self.result)
                     if isinstance(j.result, twisted.python.failure.Failure):
                         zc.async.utils.tracelog.error(
-                            'callback %r to job %r failed with traceback:\n%s',
+                            'callback %r to %r failed with traceback:\n%s',
                             j, self, j.result.getTraceback(
                                 elideFrameworkCode=True, detail='verbose'))
                     else:
                         zc.async.utils.tracelog.info(
-                            'callback %r to job %r succeeded with result:\n%s',
+                            'callback %r to %r succeeded with result:\n%s',
                             j, self, j.result)
                 elif j._status == zc.async.interfaces.ACTIVE:
-                    zc.async.utils.tracelog.info(
-                        'failing aborted callback to %r: %r', self, j)
+                    zc.async.utils.tracelog.debug(
+                        'failing aborted callback %r to %r', j, self)
                     j.fail()
-                    if isinstance(j.result, twisted.python.failure.Failure):
-                        zc.async.utils.tracelog.error(
-                            'aborted callback %r to job %r failed with '
-                            'traceback:\n%s',
-                            j, self, j.result.getTraceback(
-                                elideFrameworkCode=True, detail='verbose'))
-                    else:
-                        zc.async.utils.tracelog.info(
-                            'aborted callback %r to job %r succeeded with '
-                            'result:\n%s',
-                            j, self, j.result)
+                    zc.async.utils.tracelog.error(
+                        'failed aborted callback %r to %r', j, self)
                 elif j._status == zc.async.interfaces.CALLBACKS:
                     j.resumeCallbacks()
                 # TODO: this shouldn't raise anything we want to catch, right?

Modified: zc.async/trunk/src/zc/async/job.txt
===================================================================
--- zc.async/trunk/src/zc/async/job.txt	2008-04-22 10:18:28 UTC (rev 85586)
+++ zc.async/trunk/src/zc/async/job.txt	2008-04-22 11:04:17 UTC (rev 85587)
@@ -529,6 +529,8 @@
     >>> pending_j.status == zc.async.interfaces.COMPLETED
     True
 
+[#aborted_active_callback_log]_
+
 Introspecting and Mutating Arguments
 ------------------------------------
 
@@ -908,7 +910,7 @@
     callback <zc.async.job.Job (oid ..., db 'unnamed')
     ``zc.async.job.success_or_failure(zc.async.job.Job (oid ..., db 'unnamed'),
       zc.async.job.Job (oid ..., db 'unnamed'))``>
-    to job <zc.async.job.Job (oid ..., db 'unnamed')
+    to <zc.async.job.Job (oid ..., db 'unnamed')
     ``zc.async.doctest_test.multiply(5, 3)``> succeeded with result:
     None
 
@@ -926,7 +928,7 @@
     callback <zc.async.job.Job (oid ..., db 'unnamed')
     ``zc.async.job.success_or_failure(zc.async.job.Job (oid ..., db 'unnamed'),
       zc.async.job.Job (oid ..., db 'unnamed'))``>
-    to job <zc.async.job.Job (oid ..., db 'unnamed')
+    to <zc.async.job.Job (oid ..., db 'unnamed')
     ``zc.async.doctest_test.multiply(..., None)``> succeeded with result:
     None
 
@@ -960,6 +962,18 @@
     *--- End of Failure #... ---
     <BLANKLINE>
 
+.. [#aborted_active_callback_log] The fact that the pseudo-aborted "active"
+    job failed is logged.
+
+    >>> for r in reversed(trace_logs.records):
+    ...     if r.levelname == 'ERROR':
+    ...         break
+    ... else:
+    ...     assert False, 'could not find log'
+    ...
+    >>> print r.getMessage() # doctest: +ELLIPSIS +NORMALIZE_WHITESPACE
+    failed aborted callback <...Job...``zc.async.doctest_test.multiply(5)``> to <...Job...>
+
 .. [#call_self] Here's a job trying to call itself.
 
     >>> def call(obj, *ignore):



More information about the Checkins mailing list