TestBot News : Failure tracking

Francois Gouget fgouget at codeweavers.com
Thu Jun 23 12:30:12 CDT 2022


The TestBot now has a list of known failures which it can identify and 
link to the corresponding Wine bug.

The main benefit is that the TestBot knows your patches cannot be the 
cause of known failures, even if they look new [1]. The list of known 
failures is not yet complete [2] but you can expect that over the next 
few weeks the cases where the TestBot incorrectly claims your patch 
introduces new failures should get much rarer.


Failure tracking also provides you with other benefits:

The task full logs now have an index of the known failures they contain 
to help you quickly go to the first corresponding failure line.
(and a pair of additional entries point you to the first and last 
failure)


Also the failure lines are annotated with the corresponding bug id(s). 
This id is a link that takes you to a page that:
* Shows how the TestBot identified the failure.
* Links to the Wine bug discussing the failure.
* And show all the tasks and logs where the failure occurred. You 
  can use this to quickly access these logs and look for common 
  patterns.


You can also get a list of the known failures by clicking on the 
Failures entry in the TestBot's sidebar.

  https://testbot.winehq.org/FailuresList.pl

For each failure you will see when it last happened and the status of 
the corresponding bug (new, closed, etc). This is a good way to identify 
failures that seem to be fixed.


Finally the job report emails also list the known failures that happened 
while testing your patch. Consider this a reminder that your help in 
fixing them would be greatly appreciated, particularly as you may 
already know the area since you patched it.


[1] The TestBot normally diffs the test run's failures against the past 
    WineTest reports and considers any line marked as new (literally '+' 
    in unified diff parlance), as a new failure.

    This means any failure that's rare enough to not be present in any 
    of the past WineTest runs of the same test configuration, will be 
    flagged as new.

    Failures where the message changes (beyond basic line number 
    changes, addresses in exceptions, etc.) will also look new. This 
    could be because a patch changed the failure message, but more often 
    it is because the message itself contains a pointer, handle, 
    uninitialized data, elapsed time, etc.

[2] The goal is not necessarily to track every test failure but to track 
    all those that can cause false positives. So a test that fails 
    systematically may not be tracked (although if it has a Wine bug it 
    probably should be). But tests that tend to be incorrectly tagged as 
    new due to the issues in [1] should all be.

    The way I plan to get there is to monitor the TestBot's WineTest 
    jobs for a while and add to the known failure list whenever new 
    unknown failures appear there.

-- 
Francois Gouget <fgouget at codeweavers.com>




More information about the wine-devel mailing list