mirror of
https://github.com/scylladb/scylladb.git
synced 2026-06-05 14:33:08 +00:00
Before this patch, if Scylla crashes during some test in test/alternator, all tests after it will fail because they can't connect to Scylla - and we can get a report on hundreds of failures without a clear sign of where the real problem was. This patch introduces an autouse fixture (i.e., a fixture automatically used by every test) which tries to run a do-nothing health-check request after each test. If this health-check request fails, we conclude that Scylla crashed and report the test in which this happened - and exit pytest instead of failing a hundred more tests. The failure report looks something like this: ``` ! _pytest.outcomes.Exit: Scylla appears to have crashed in test test_batch.py::test_batch_get_item ! ``` And the entire test run fails. These extra health checks are not free, but they come fairly close to being free: In my tests I measured less than 0.1 seconds slowdown of the entire test suite (which has 618 tests) caused by the extra health checks. Fixes #9489 Signed-off-by: Nadav Har'El <nyh@scylladb.com> Message-Id: <20211017123222.217559-1-nyh@scylladb.com>