-
Notifications
You must be signed in to change notification settings - Fork 27
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
Improving testing speed #219
Comments
Also, the chain database and wallet db tests can likely be "optimized" by disabling fsync. |
These results are based on my fork, which has some PR's applied that aren't yet in develop, so my addrmanager/connmanager test is likely faster here and will get a bump once I rebase #212 |
@cjdelisle Would you be against adding a That should take 20s off right away. |
I've fully implemented this - see #229 (comment) - it works very well without much loss of coverage. The link has all the details. Also, I've found it's not that difficult to provide fake time data during tests so I'll soon be fixing the Neutrino BanMan test. Instead of taking 16s (or even 5s) it should be able to complete in 0.1-0.2s and won't ever throw any false positives in a CI/CD pipeline again. |
While the tests complete in here in less than a minute, @cjdelisle advised they are taking close to 90s for him - on Travis, they can sometimes take 10 minutes or more, depending on the load.
Here's the runtime breakdown:
The Neutrino test is 16s because it reliant on wall-clock time to do it's ban/unban testing, and is the low-hanging fruit. This test could be rewritten based on a range, or moved completely out into
ALL_TESTS=1
(Neutrino has some slow, extra tests there already, including the tests that would require getting the full test harness working again.)Anyway, for my 50s test runtime, the top 10 here are 45s of it.
The text was updated successfully, but these errors were encountered: