enso/distribution
Radosław Waśko 354ee94a2f
Make HTTP tests more robust by adding retries to the tests (#9652)
- As asked for by @hubertp who was encountering flaky test failures on CI in the Http_Spec and related ones, I'm adding retry logic to make such cases much less likely.
- I've made the test server randomly fail 50% of tests and with the retry logic the tests are still passing, so I think that should be much more robust, in practice the failure rate is much much less (I imagine <1% as most of the time these tests were working and we do a ton of requests in a single CI run).
- I move the `with_retries` method to now be `Test.with_retries` which can be used anywhere in our tests for the retry logic.
- It sleeps for 0.1s between retries. Not all kinds of tests need it, this was mostly for propagation delays in the Cloud in our tests. I was thinking if the delay should be configurable, but I think the 0.1s delay is not problematic and if our tests are sometimes failing due to high machine load, the delay could also help.
- This _does not_ add retry logic to raw HTTP operations or `Data.fetch`. We may add that later, but that needs some further design. In such case we may remove some retries from tests if they become unnecessary.
2024-04-09 10:07:22 +00:00
..
bin Upgrade enso to GraalVM for jdk 21 (#7991) 2023-11-17 18:02:36 +00:00
engine/THIRD-PARTY Clearer warnings in license review (#9134) 2024-02-27 16:32:08 +00:00
launcher Drop inefficient SemVer implementation (#9089) 2024-02-22 09:59:09 +00:00
lib/Standard Make HTTP tests more robust by adding retries to the tests (#9652) 2024-04-09 10:07:22 +00:00
project-manager/THIRD-PARTY Drop inefficient SemVer implementation (#9089) 2024-02-22 09:59:09 +00:00
enso.bundle.template Better component handling in the project manager (#1399) 2021-01-15 15:26:51 +00:00
launcher-manifest.yaml Bump the development version number (#1389) 2021-01-06 08:57:02 +00:00
manifest.template.yaml Upgrade enso to GraalVM for jdk 21 (#7991) 2023-11-17 18:02:36 +00:00