On Sun, Apr 1, 2012 at 9:39 AM, Christopher Jones <
christopher.jo...@oracle.com> wrote:

>
>
> On 3/31/12 2:38 PM, Alexey Shein wrote:
>
>> 1 апреля 2012 г. 0:27 пользователь Johannes Schlüter
>> <johan...@schlueters.de>  написал:
>>
>>> On Sat, 2012-03-31 at 13:21 +0500, Alexey Shein wrote:
>>>
>>>> By constantly publishing
>>>> newsletter with failed / xfail bugs you're telling them "That's our
>>>> current problems. Maybe you could help us with them". This way we
>>>> could convert that discussing energy into some good patches.
>>>>
>>>
>>> While many people will simply filter them out. At least that's my
>>> experience with such automated mails in different projects ;-)
>>>
>>> johannes
>>>
>>
>> Okay, let's find it out. I've created a poll here:
>> https://wiki.php.net/xfail_**poll <https://wiki.php.net/xfail_poll>.
>> Please, leave your voice. I'll close the poll in a week. Thank you.
>>
>>
> Is there anything in the Jenkins work that makes this discussion irrelevant
> (or more relevant)? What other ways should we be running & reviewing test
> failures?
>
>
currently XFAILs are handled as passing tests.
I'm working on a solution for having email notifications about new test
failures.
There are 3 option, which I'm evaluating:
1, one can set thresholds if using the xunit plugin (
https://wiki.jenkins-ci.org/display/JENKINS/xUnit+Plugin) instead of the
built-in junit plugin, which allows to fail the build if a new test failure
is introduced.
2, the email-ext plugin allows you to set trigger for sending an email if a
"regression"(new test failure), and also allows sending email for
"improvement" (which is triggered when a previously failing test starts
passing.
3, creating a custom post-build action, where we compare the current
build's test result with the previous reports, and send out emails/mark the
build failed if a new test failure is introduced.

The problem with 1 is that it doesn't likes our junit.xml. First I debuged
out that it doesn't support nested test suites, but that should be fixed
with https://issues.jenkins-ci.org/browse/JENKINS-8460 I upgraded the
plugin, but still no joy, I have to debug further.
The problem with 2 is that the trigger only happens based on comparing the
previous and current build's test result numbers. So if you introduce a new
test failure and also fix a previously failing test, it won't fire the
"regression" trigger.
3. seems to be the best solution, but requires the most work on our part.

When we implement this (using one method, or another) we could change so
that the XFAILs are handled from the jenkins POV as test failures, as they
will be listed as such, but you still can see what are the ones failing
since ages and what are the new ones.
Jenkins provides the following informations regarding test failures:

 you can see the test failures introduced with a particular build through
the build Status page (
http://ci.qa.php.net/job/php-src-5.3-matrix-build/architecture=x86,os=linux-debian-6.0/452/
for
example)
here you have a link to the Test Result page, plus the number of the
failing tests, plus the sum of the test changes with that build (+-)
under that line, Jenkins list the test failures introduced with that build
under that you have "Show all failed tests >>>" which will expand the test
list to include all failing tests, not just the new ones.

jenkins also provides us with a Test Result Trend on the project page (
http://ci.qa.php.net/job/php-src-5.3-matrix-build/ for example), where you
can toggle between showing all tests or just the failing ones.
you can also see the history for a build for a config through the History
link (
http://ci.qa.php.net/job/php-src-5.4-matrix-build/architecture=x86,os=linux-debian-6.0/651/testReport/history/?
for
example)
you can also see the total test results for a specific build per config (
http://ci.qa.php.net/job/php-src-5.4-matrix-build/architecture=x86,os=linux-debian-6.0/651/testReport/junit/?)
or aggregated (
http://ci.qa.php.net/job/php-src-5.4-matrix-build/651/testReport/?)
you can also see a single test result history via selecting a test and
clicking on the History link (
http://ci.qa.php.net/job/php-src-5.4-matrix-build/651/architecture=x86,os=linux-debian-6.0/testReport/php-src.ext.libxml/tests/004_phpt___libxml_set_streams_context__/history/?
for
example) here you can also see the status for that test in each build, so
you can see when was that introduced or fixed.
for example you can see that the libxml_set_streams_context() started
failing after build number 641, where you can see the Changes mentions a
libxml bugfix:
http://ci.qa.php.net/job/php-src-5.4-matrix-build/architecture=x86,os=linux-debian-6.0/641/changes


having the email notification in place could make those kind of changes
more visible.

-- 
Ferenc Kovács
@Tyr43l - http://tyrael.hu

Reply via email to