-
Notifications
You must be signed in to change notification settings - Fork 8
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
contest: subcases: handle retry cases #43
Conversation
Thanks a lot for taking care of this, and sorry for deficiencies when it comes to testing this stuff :) My best idea so far is what I have done in In terms of the implementation -- would it be possible to combine the retry and the results together? Instead of adding a key at the I updated the "schema" on the wiki: https://github.com/linux-netdev/nipa/wiki/Netdev-CI-system#results but I can't link to the exact row.. |
6abcce0
to
3f74056
Compare
Ah yes, I should have done that when adding the parsing of the subtests. But here, that was the DB that needed new tests I think. We could also have tests inserting dummy results in a DB and checking the expected results. But well, I think we would need time to do all this :)
Ah yes, thank you, I don't know why I had in mind that I should not touch the previous subcases results. I gave this a try, and simplify the code to handle the retry in the parsing of the subtests directly.
Great, thank you! That reflects what I did here. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
minor nits, otherwise LGTM!
In case of failure, some tests are restarted. That's great, but when parsing the subcases (nested tests), the previous results were overridden. Also, when displaying the results, the 'retry' field from the main test was re-used in each subcases: quite confusing for the reader. Now, in case of retry, the previous 'results' list will be modified to add a new 'retry' entry for each test that has been re-validated. If the previous test with the same name cannot be found, that could be because there was major issue before and some subcases have not been executed (or the names are not fixed). In this case, a new entry with a skipped first attempt will be added to the list. When querying the subcases results, the new 'retry' entry will be used, or none if it is not there. Signed-off-by: Matthieu Baerts (NGI0) <[email protected]>
3f74056
to
7c26084
Compare
Thank you! Deploying now, will be used by runners starting with |
Thanks! No retry so far, but I will keep monitoring! Something strange I just noticed is that if I look at previous results, I can still see some subcases with a
That should no longer be the case with: Lines 66 to 68 in c5eb5d6
Or maybe this has no effect on previous results, because there are some caches being used here? |
My bad, the tester services automatically restart themselves when they see the repo is updated. But the query service is flask and I forgot to restart it. Should be good now? |
No problem!
No problem! When I look at some previous results, I can still see the same
But I'm sure that's fine: new results should have the right thing set. |
In case of failure, some tests are restarted. That's great, but when parsing the subcases (nested tests), the previous results were overridden. Also, when displaying the results, the 'retry' field from the main test was re-used in each subcases: quite confusing for the reader.
Now, in case of retry, a new dictionary under the 'results-retry' key is stored in the 'json_full' entry in the DB. This dictionary uses the subcase titles as keys, and the results as values. Thanks to that, when querying the subcases results, this dictionary is used to properly set the 'retry' field for each subcase.
Important note: I'm sorry, I didn't set up a DB to do the tests locally. I checked the code twice, and I hope I didn't break anything :)