test: Retry all RPC commands to fix MacOS CI jobs
High Level Overview of Change
Retry all failed RPC connections / commands in unit tests.
Context of Change
Follow up to #5120 (23991c9), which added a retry for submit commands. It improved MacOS test reliability, but other tests are failing now.
Type of Change
- [X] Bug fix (non-breaking change which fixes an issue)
- [X] Tests (you added tests for code that already exists, or your new feature included in this PR)
Codecov Report
Attention: Patch coverage is 0% with 2 lines in your changes missing coverage. Please review.
Project coverage is 78.0%. Comparing base (
ed4870c) to head (a63f0c5). Report is 2 commits behind head on develop.
| Files with missing lines | Patch % | Lines |
|---|---|---|
| include/xrpl/server/detail/Door.h | 0.0% | 2 Missing :warning: |
Additional details and impacted files
@@ Coverage Diff @@
## develop #5171 +/- ##
=========================================
- Coverage 78.0% 78.0% -0.0%
=========================================
Files 789 789
Lines 67007 67008 +1
Branches 8110 8109 -1
=========================================
Hits 52274 52274
- Misses 14733 14734 +1
| Files with missing lines | Coverage Δ | |
|---|---|---|
| include/xrpl/server/detail/Door.h | 79.3% <0.0%> (ø) |
@thejohnfreeman @vlntb I want to bring your attention to draft PR #5180. It builds on top of this PR, but adds three commits:
- The MacOS CI jobs have 4 configurations: The combinations of release vs debug, and unity vs non-unity.
- The
Envtests cycle through a range of ports so that if the OS is slow to close a port when one test ends, the next test doesn't immediately try to open it. A generalretryoperation is added so that lower-level network issues can also be retried, not just failed RPC commands. - The MacOS CI jobs use parallel runners! (It only uses half the available CPU threads, because using all was still not reliable, but it's better than nothing!)
I would like to roll those changes into this PR so we can get the MacOS jobs fixed all in one shot. Do you think that's a good idea, or should that be a separate PR to be merged separately sometime after this one?
I don't see any approvals in here yet, so I say roll them into this PR.
Closed in favor of #5196