-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
PR: Run all tests, not stopping on first failure (Testing) #18802
PR: Run all tests, not stopping on first failure (Testing) #18802
Conversation
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.
Thanks @juliangilbey for looking into this! LGTM as it is but probably @ccordoba12 could have more ideas about this improvements.
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.
Thanks @juliangilbey for helping us with this! Besides the small comment I left for you below, these are my answers to your proposed changes:
this change is to attempt all the tests in the test suite on the first run
Ok, sounds reasonable.
The other small change this patch makes because of the above change is to append the log files together rather than starting afresh each run
Sounds good too. Actually, I didn't know about tee -a
, that was the problem, so thanks a lot for that,
The one thing I have not done in this patch, but I think would be reasonable, is to reduce the number of pytest runs (run_tests.sh) in the .github/workflows/test-*.yml files from 8 down to, say, 4
I agree with this. Please do it as part of this PR.
I've also added one more patch to |
OK, my attempted fix to the regex included in this PR still doesn't work correctly on Linux. I hadn't used
which appears on screen as:
with "PASSED" in green and "[ 25%]" in brown. My current attempt at fixing the regex, included in this PR, correctly identifies this line as a passing test, but calls the test Two options to fix this:
I wonder, though, whether I should take the change to |
I think since all of these are improvements to the test suite keeping them all here is okay. I would said that the only thing to keep in mind is to make the changes related with the color in a single commit. Regarding the option to fix, I guess the second option is the way to go 👍 |
Hi @dalthviz! OK, I'll go with the second option in this PR then. I've already made one color-related commit to try to fix |
The force-push approach sounds good to me 👍 Thanks for helping with this @juliangilbey ! |
f5560f8
to
432cf69
Compare
I hope this one does the job! It's somewhat hard for me to test it, but let me give it a go before you merge. |
Just in case, the errors on the CI are unrelated to the changes here:
|
OK, I've just tested my |
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.
Thanks @juliangilbey ! This LGTM 👍
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.
Thanks @juliangilbey!
Description of Changes
You might be interested in this patch (or not); it more closely resembles what I have done on Debian. Building on your improvements to
conftest.py
, this change is to attempt all the tests in the test suite on the first run (by removing the pytest-x
option). The reason for this is that most failures I have observed are transient, so typically all pass on the second pytest run.The other small change this patch makes because of the above change is to append the log files together rather than starting afresh each run; in this way, if a pytest run crashes in the middle (which I have often seen on non-amd64 architectures), passes from previous runs are not lost.
The one thing I have not done in this patch, but I think would be reasonable, is to reduce the number of pytest runs (
run_tests.sh
) in the.github/workflows/test-*.yml
files from 8 down to, say, 4: if the tests have not all passed after 4 runs under this new scheme, then it is unlikely that they would in 4 further runs.Affirmation
By submitting this Pull Request or typing my (user)name below,
I affirm the Developer Certificate of Origin
with respect to all commits and content included in this PR,
and understand I am releasing the same under Spyder's MIT (Expat) license.
I certify the above statement is true and correct:
@juliangilbey