<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p>tl;dr We now have a <tt>--verbose-if-fails</tt> option that
outputs a log if a xpcshell-test fails when being run in parallel.</p>
<p>If you ever have seen output from xpcshell-tests like this:</p>
<pre> 0:05.68 TEST_START: toolkit/components/search/tests/xpcshell/test_remove_profile_engine.js
0:08.57 TEST_END: FAIL
0:08.61 INFO toolkit/components/search/tests/xpcshell/test_remove_profile_engine.js failed or timed out, will retry.
...
0:19.50 INFO Retrying tests that failed when run in parallel.
0:19.50 TEST_START: toolkit/components/search/tests/xpcshell/test_remove_profile_engine.js
0:21.27 TEST_END: PASS
</pre>
<p>and wondered if that's an intermittent you're trying to fix or
just why is that failing... now you have a new tool.</p>
<p><tt>--verbose</tt> is typically too noisy as it outputs all the
logs of the parallel tests at the same time.</p>
<p>I've just added the new option <tt>--verbose-if-fails</tt> which
will output logs for any failing test(s) during the parallel run.<br>
</p>
<pre> 0:07.72 TEST_END: FAIL
0:07.75 INFO >>>>>>>
0:06.49 INFO (xpcshell/head.js) | test MAIN run_test pending (1)
0:06.49 INFO (xpcshell/head.js) | test run_next_test 0 pending (2)
...More logs...
0:07.79 INFO <<<<<<<
0:07.79 INFO toolkit/components/search/tests/xpcshell/test_require_engines_in_cache.js failed or timed out, will retry.
...
</pre>
I've used this style of output in the past to figure out why some of
our search tests were taking a long time to timeout, then would pass
on the second run. This is just formalising it into a usable option.
<p>Mark.<br>
</p>
</body>
</html>