Enabled no-coalescing file tests, fixed sprout->shrub transition bug

Oh hey, it's that piece of complexity I was worried about.

The problem was that the position calculation for new appended
right_data depended on left_overlap, which fell out of sync when
transitioning from sprout->shrub.

The fix here is to keep left_overlap/right_overlap up to date with the
model that the sprout->shrub transition is effectively doing a
shrub-wide rm first.

Hacky, but hopefully avoids bugs in the future by keeping all of these
variables in a reasonable state...

There may be a simpler way to think about how this code should function,
but I just can't see it. This may deserve a rewrite in the future.
This commit is contained in:
Christopher Haster
2023-10-09 20:38:28 -05:00
parent 92e1fafbc4
commit 66e6ce4bfb
2 changed files with 51 additions and 28 deletions
+3
View File
@@ -1,6 +1,9 @@
# Test basic file operations
after = ['test_dtree', 'test_btree']
# test both with and without coalescing
defines.COALESCE_SIZE = ['0', 'CACHE_SIZE']
# test creation/deletion
[cases.test_files_create]