Skip to content

🧪 [Testing Improvement] Add Out-Of-Memory test for HashMap resize logic#70

Open
void0x14 wants to merge 1 commit intomainfrom
test-hashmap-resize-oom-124247147783657865
Open

🧪 [Testing Improvement] Add Out-Of-Memory test for HashMap resize logic#70
void0x14 wants to merge 1 commit intomainfrom
test-hashmap-resize-oom-124247147783657865

Conversation

@void0x14
Copy link
Copy Markdown
Owner

🎯 What: The testing gap addressed is the missing coverage for the Out-Of-Memory (OOM) handling branch within HashMap.resize().
📊 Coverage: This patch introduces a robust test case covering the exact scenario where the try self.allocator.alloc fails when the HashMap naturally reaches its threshold and attempts to double its capacity. It uses std.testing.FailingAllocator with .fail_index = 1 to successfully initialize the struct but simulate allocation failure strictly during the resize function called inside put. It checks that error.OutOfMemory is accurately returned and asserts the integrity of all pre-existing elements.
Result: The test suite now guarantees data preservation during internal allocation failures on resizing. Code coverage in echo-core-zig/src/data/hashmap.zig is improved and ensures no items are corrupted when reaching memory limits.


PR created automatically by Jules for task 124247147783657865 started by @ulac000000

Co-authored-by: ulac000000 <132948319+ulac000000@users.noreply.github.com>
@google-labs-jules
Copy link
Copy Markdown
Contributor

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant