This patch first implements an iterator so that we can properly iterate over the elements of the object returned by the _getMethodNames function. Next, the recordTestCoverage function now checks to see if the file actually has methods before recording them. And finally, some formatting was done.
MozReview-Commit-ID: EPOeYlMBc0w
ensuring moz.build files have BUG_COMPONENTS for all files
in the testing/ subdirectory is a win. There are a lot of
older files and some files used in many harnesses. If the
files are primarily used for mochitest, they are associated
with the testing::mochitest component, otherwise I chose
the testing::general component.
There is an exception web-platform-tests, these have many
test files that need to be matched to proper components.
MozReview-Commit-ID: IIv9W2kEqeN
This is intended as a structured replacement for the assertion checks
that previously used unstructured logs. It adds a log action
assertion_count, which takes the actual number of assertions observed
during a test, the minimum expeced number and the maximum expected
number. It also updates the reftest harness to use this logging.
MozReview-Commit-ID: JgjLlaYuvSG
This removes the unnecessary setting of c-basic-offset from all
python-mode files.
This was automatically generated using
perl -pi -e 's/; *c-basic-offset: *[0-9]+//'
... on the affected files.
The bulk of these files are moz.build files but there a few others as
well.
MozReview-Commit-ID: 2pPf3DEiZqx
The idea of mozlog ids being tuples unfortunately didn't work so well
with external systems that found the tuple|string datatype difficult to
work with. Convert reftests to use simple ids of the form "<test url>
<comparison> <refurl>" e.g. "about:blank == data:text/html," instead of
tuples.
MozReview-Commit-ID: 18jufbssn4A
This is a modification to recordTestCoverage. It now gathers methods and the lines each span, uncovered lines, and now also places a version control block at the beginning of every artifact.
MozReview-Commit-ID: LbpnDqheYpy
Structured logs bring many benefits. We can stop parsing the logs for magic strings, we
can modify the format without breaking things, and we can stream results into systems like
ActiveData. The structured logs originate primarily in reftest.js. StructuredLog.jsm is
used to generate the JSON-based log stream. Finally OutputHandler in the python harness
reads structured output from stdout, and formats it into human readable form.
MozReview-Commit-ID: G3ZLkMRl6p7
Mozlog currently has two implementations. The top level package is based on the logging module and is
deprecated. The newer structured logging implementation lives in mozlog.structured. This patch swaps the
two, so the top level mozlog module contains the recommended implementation, while mozlog.unstructured
contains the old one.
Currently code used by many mochitest-browser tests is scattered
throughout the tree in various head.js files. Many similar or identical
helper methods are repeated throughout these files.
This commit introduces a BrowserTestUtils.jsm module and includes it in
the mochitest scope; the idea being these frequently re-implemented
methods can live in a central place.
A TestUtils.jsm module has also been introduced to contain code useful to
all types of tests.