Name Description Size
__init__.py 595
base.py A base handler providing message handling facilities to derived classes. 4638
bufferhandler.py Handler that maintains a circular buffer of messages based on the size and actions specified by a user. :param inner: The underlying handler used to emit messages. :param message_limit: The maximum number of messages to retain for context. If None, the buffer will grow without limit. :param buffered_actions: The set of actions to include in the buffer rather than log directly. 2989
messagehandler.py A message handler providing message handling facilities to classes derived from BaseHandler and BaseFormatter. This is a composition class, to ensure handlers and formatters remain separate. :param inner: A handler-like callable that may receive messages from a log user. 1659
statushandler.py A handler used to determine an overall status for a test run according to a sequence of log messages. 3401
summaryhandler.py Handler class for storing suite summary information. Can handle multiple suites in a single run. Summary information is stored on the self.summary instance variable. Per suite summary information can be obtained by calling 'get' or iterating over this class. 7116
valgrindhandler.py A class for handling Valgrind output. Valgrind errors look like this: ==60741== 40 (24 direct, 16 indirect) bytes in 1 blocks are definitely lost in loss record 2,746 of 5,235 ==60741== at 0x4C26B43: calloc (vg_replace_malloc.c:593) ==60741== by 0x63AEF65: PR_Calloc (prmem.c:443) ==60741== by 0x69F236E: PORT_ZAlloc_Util (secport.c:117) ==60741== by 0x69F1336: SECITEM_AllocItem_Util (secitem.c:28) ==60741== by 0xA04280B: ffi_call_unix64 (in /builds/slave/m-in-l64-valgrind-000000000000/objdir/toolkit/library/libxul.so) # noqa ==60741== by 0xA042443: ffi_call (ffi64.c:485) For each such error, this class extracts most or all of the first (error kind) line, plus the function name in each of the first few stack entries. With this data it constructs and prints a TEST-UNEXPECTED-FAIL message that TBPL will highlight. It buffers these lines from which text is extracted so that the TEST-UNEXPECTED-FAIL message can be printed before the full error. Parsing the Valgrind output isn't ideal, and it may break in the future if Valgrind changes the format of the messages, or introduces new error kinds. To protect against this, we also count how many lines containing "<insert_a_suppression_name_here>" are seen. Thanks to the use of --gen-suppressions=yes, exactly one of these lines is present per error. If the count of these lines doesn't match the error count found during parsing, then the parsing has missed one or more errors and we can fail appropriately. 5945