Merge pull request #846 from IntersectMBO/jdral/blockio-uring-0.2
Support `blockio-uring ^>= 0.2`, drop support for `blockio-uring ^>= 0.1`
Support `blockio-uring ^>= 0.2`, drop support for `blockio-uring ^>= 0.1`
The other properties of union migration already get tested through the existing tests. Since a union table's remaining debt can only reach zero once the union level is migrated, all tests that check that supplying union credits sufficiently reduces the debt also check that the union gets migrated.
Run separate debug/release mode golden tests for trace messages
Update to fs-sim 0.5.0.0
The other properties of union migration already get tested through the existing tests. Since a union table's remaining debt can only reach zero once the union level is migrated, all tests that check that supplying union credits sufficiently reduces the debt also check that the union gets migrated.
The trace messages that get emitted differ between debug and release builds. Therefore, running the same test (with the same golden file of expected trace messages) both for debug and release builds will cause problems. To avoid these, we now have two separate tests, each with its own golden file, and only run the appropriate one depending on the build type. The only reason this did not lead to problems so far is that the test only inserted four entries into the table, not triggering any interesting internal events. However, we *will* emit internal messages once we start migrating the union level when a union is paid off (or we decide to test more interesting operations). Since we now can, I made sure that these tests now at least trigger the creation of a merge.
Allow table levels to be empty
Release `blockio-0.1.1.2` and `lsm-tree-1.0.0.2`
Ironically, while writing a property test for the `RunIxKeyIx` pattern synonym that had a typo in a bit-mask (see #841), we included that same typo in the shrinker for that property test. Hopefully these typos are now fixed once and for all!