-
Notifications
You must be signed in to change notification settings - Fork 45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
cdash_analyze_and_report.py: Add history for tests without issue trackers failing over many days, not just one day #349
Comments
Proposed Solution 1One proposed solution would be to add an argument called something like:
Then, any tests that failed at least once in the last Tests without issues trackers recently failed (at least once last For example, for the Trilinos Secondary builds running with:
the email sent out would show a table like: Tests without issue trackers recently failed (at least once last 7 days, limited to 300): twoirf=2
This table would be listed right below the table: Tests without issue trackers Failed (limited to so it would appear near the top of the email in the summary paragraph and in the list of tables. NOTE: The "Consecutive" column in the other test tables replaced with the column "Days since last Failed" which gives a link to the most recent failure pf the test. NOTE: In this table "Failed" means tests that had CDash test status="Failed" and not status="Not Run". Therefore the number in the column "Non-pass Last 30 Days" would be for tests with status="Failed" and status="Not Run". (Hopefully that will not be to confusing. If it is, we could replace "Failed" with "Non-pass" to be consistent. But since this table 'twiorf' says "Failed", perhaps that is not confusing?) Also, it is possible that the table 'twoirf' could replace the table 'twoif' and show all tests that failed over the last Proposed implementationThe implementation would really not be that complicated. What you would do is to is to take the To get the list of tests using that
A few simple filters can do that easily. And it is that list that becomes the list for "twoirf" for which the tool would show in that table. NOTE: We need to limit the number of tests shown in the table "twoirf" to NOTE: I don't think we want to show "Not Run" tests in the table "twoirf" because that would pollute the table if one or more builds has massing build errors over the last NOTE: To build the URL for this list of tests robustly to also filter out know system failures (that is passed to the NOTE: To get the list of tests that failed in the last NOTE: This will be somewhat hard to write tests test for since it will require some dummy test data for this use case. But hopefully that will not be too hard to manufacture for current set of reference builds and tests used in the automated testing. (But writing system-level tests for this tool is always harder than writing the production code but we get very strong tests by doing so.) |
@e10harvey, please comment on the proposed solution above and to SEPW-281. I think that is not too hard to implement. |
@bartlettroscoe: Thanks for looking into this. I like proposed solution 1 above. Thinking about this more now -- in an effort to reduce the size of the emails and provide a general solution, would it be possible to adjust the 'Failed' link under the 'Status' column of the existing tables to link to the most recent failure within the given begin and end dates of the input URL for |
@e10harvey, I am not entirely sure what is being suggested above so we should chat through this. Can we set up a short meeting offline? |
Proposed Solution 2What @e10harvey is suggesting is updating the table 'twoif' to include the most recent failure within the date range of Tests without issue trackers failed: twoif=2
|
@bartlettroscoe: I updated your comment and deleted a duplicate of that comment. |
@e10harvey, it just occurred to me that the "Consecutive ??? Days" column this is ill-defined in this new 'twoirf' table since we are now mixing tests that could be passing, missing, or not-run (instead of failing) for the current/reference testing day. One idea to address your desire to provide a link to the most current failure and to address the ill-defined "Consecutive ??? Days" column is to replace that "Consecutive ??? Days" column with "Days since last Failure" with a number and a link to that most recent failure. For that, I updated "Proposed Solution 1" above with that replaced column with the correct link for this example. That would not be too hard to implement and hopefully be pretty clear and still provide a very compact table. Let's discuss. |
@e10harvey, let's discuss later today but some issues with your Proposed Solution 2 compared to Proposed Solution 1 are:
NOTE: Once one starts clicking on links (especially the history links) then all of this information will become clear in either proposal so it is a matter of keeping the data-structures correct and having the data be accurate and clear displayed in the generated emails. |
The experiences with trilinos/Trilinos#8759 where someone thought that the random tests were not occurring anymore (because they all happened to pass the last few Sundays but did not look at the "Nonpassing tests last 30 days" column) suggest that as part of this we should also consider adding an option:
Then, any test with issue tracker that failed at least once in the last Tests with issues trackers recently failed (at least once last < And actually this would be more useful to be displayed in GitHub Issue comments for the Grover tool. For issue trackers that have tests failing regularly (i.e. every day) then we might set But to make this must effective, those test failures need to be very specific and need to take into account some expected regexes of test output (and therefore we need to implement the 'expected_fail_regex' field, see TrilinosATDMStatus/TODO.txt). This makes things more complicated but I think is really needed if people don't carefully look at the existing test-history tables for randomly failing tests. |
@ZUUL42, @jwillenbring, @prwolfe, @william76: Please thumbs up one of the following comments to indicate your preference: |
I would be most curious to see if @ZUUL42 or @prwolfe have a preference. I do personally like @bartlettroscoe 's comment about displaying the more detailed info using Grover, but that is just because of my typical interaction with the failures. |
And actually for reporting by Grover to the GitHub Issue, you would need to be careful about missing test results from missing builds. If a build is not reporting tests for several days but just happened to report the day before, we don't want to give the impression that the tests have been passing for the last |
CC: @e10harvey
This Story is to scope out (and possibly implement) an extension to the
cdash_anayze_and_report.py
tool that lists out all of the tests without issue trackers with test history for a set of tests that have failed at least once over some previous time period but are passing for the reference testing day (provided with the--date
argument). For example, test [<site>
,<buildname>
,<testname>
] that does not yet have an issue tracker associated with it may be passing for the reference--date=YYYY-MM-DD
may have (randomly?) failed 3 times over the previous 7 days . The current implementation ofcdash_anayze_and_report.py
would not display any information about that test. If someone was not looking at the emails for every day in the previous 7 days, they should not notice this (random) test failure.Therefore, this story is to add a feature to
cdash_anayze_and_report.py
that lists out the test [<site>
,<buildname>
,<testname>
] with its test history that fails in the lastX
days but not the current day. This would need to include tests that pass or are missing (perhaps because their builds are missing) for the reference testing day.Motivating Customer: The Trilinos Framework team wants to move to a process where a set of "Secondary" builds are triaged less frequently. To do that, they want to get one email at the end of every week that also includes information on the tests that failed in the last week but not the reference testing day at the end of the work.
Caused by: https://sems-atlassian-son.sandia.gov/jira/browse/SEPW-281.
Related to:
The text was updated successfully, but these errors were encountered: