When dumping buffered messages in mochitest, this adds a new log line for every second's
worth of messages. Alternatively we could print the timestamp in brackets at the end of
each buffered message, but I found that in practice there tends to be many log messages
generated each second. This looks better for that case, but will look much worse if logs
are generated more than a second apart. I would be ok with either method.
MozReview-Commit-ID: Jkd9hOlmiGZ
I believe the current behaviour of buffering messages outside of a test is wrong. For example:
1. INFO logged -> gets buffered
2. TEST-START logged -> doesn't get buffered
3. Test fails and buffer dumped -> INFO looks like it happened after the TEST-START
I think this is very confusing as developers trying to debug a test will think that INFO message
is happening somewhere inside their test when in reality it isn't.
MozReview-Commit-ID: Jkd9hOlmiGZ
For some reason we have a 'buffering' parameter in the MessageLogger constructor, but
then rather than using this, the mochitest harness modifies state after instantiation.
Using the constructor is easier to understand, and simplifies some of the logic in the
next couple of patches.
MozReview-Commit-ID: Jkd9hOlmiGZ
We were previously logging these at the info level as a really hacky way to make sure that the mozharness
output parser was able to detect them. Since bug 1261194 switched mochitests to use the StructuredOutputParser,
we now need to log them at the error level or they won't get picked up anymore.
MozReview-Commit-ID: 99n9YizlEDH
These builds can be run on taskcluster to obtain per-test (JSDebugger) code coverage with the linux64-jsdcov build and overall (GCOV) code coverage with the linux64-ccov build. The linux64-jsdcov build also needed to have leak checking disabled for debug mode.
MozReview-Commit-ID: ASgrU2X7RQV
These builds can be run on taskcluster to obtain per-test (JSDebugger) code coverage with the linux64-jsdcov build and overall (GCOV) code coverage with the linux64-ccov build. The linux64-jsdcov build also needed to have leak checking disabled for debug mode.
MozReview-Commit-ID: ASgrU2X7RQV
I had a mistake in my code that resulted in an exception being thrown when starting the
mochitest servers. However, the log just showed a timeout. It was very confusing.
After some digging, I found that there's a large try/finally block (with no except) in
runtests.py. The exception wasn't being displayed because of the finally block. This
try/finally block had an inner try/except/finally that wrapped part of the code. This
patch simply removes that inner block and dedents the 'except' clause to attach to the
original try/finally.
MozReview-Commit-ID: 4lsKGpizfH7
This accomplishes three things:
1) Easier to use CLI when running without the benefit of testing/mochitest/mach_commands.py
2) Guarantees these arguments are mutually exclusive
3) Simplifies a bunch of logic in the test harness
The primary motivation for this change is to slightly improve the UX when running mochitest
from a taskcluster interactive loaner. However, this is more of a bandaid solution that was
easy to implement before the proper fix in bug 1293259 can be landed.
MozReview-Commit-ID: IeHBGrJ0Sji
Because it is now possible for options.app to get set after 'parse_args' time, we need to make sure
the argument validation happens later. To accomplish this we pass in the parser instance to
'run_test_harness' and do parser.validate there. This unfortunately requires some minor uses of
global to accomplish easily due to how mach handles parsers.
MozReview-Commit-ID: s3Js1aZlSE
Because it is now possible for options.app to get set after 'parse_args' time, we need to make sure
the argument validation happens later. To accomplish this we pass in the parser instance to
'run_test_harness' and do parser.validate there. This unfortunately requires some minor uses of
global to accomplish easily due to how mach handles parsers.
MozReview-Commit-ID: s3Js1aZlSE
This is shorter than MOZ_LOG_MODULES and equally clear.
Add a deprecation warning to encourge folks to migrate,
and update references in the test runner.
MozReview-Commit-ID: HYY3Q9tSu13
We currently hard code the runtime name to be mochitest-plain. This
changes things to use the subsuite name if available.
MozReview-Commit-ID: JZKewOD81M8