You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This readies tests for concurrent execution. It makes a few changes:
* The FDBDatabaseExtension is now scoped to the test instance instead of static. This allows us to create a new `FDBDatabaseFactory` and `FDBDatabase` for each test execution, which in turn means that we can execute tests that modify the factory's state concurrently, and we can have each database check for open contexts. This did mean that this needed to add a new method to create an `FDBDatabaseFactory` for testing (only) that accepted an already initialized FDB.
* One test introduced a write conflict range on the range `\x00` to `\xff`, so it would cause random other tests to fail if they were executed at the same time. I've narrowed the range of the conflict range so that it is now on a unique keyspace for that test.
* I introduced a few new test extensions that can be applied to every test. In particular, the `TestMdcExtension` updates the logger MDC with the test class, method name, and displey name so that test logs contain more information that can be used to correlate information. Meanwhile, the `ExceptionLoggingDetailsExtension` adds an exception handler for loggable exceptions that will log the logging details if a test fails with, say, a `RecordCoreException`, we have a way of understanding the underlying details.
0 commit comments