Skip to content

test: Add tests for NativeAllocator.ApplyProtection()#62

Merged
myarichuk merged 1 commit intomainfrom
test/add-nativeallocator-protection-tests-604321551949943287
Mar 21, 2026
Merged

test: Add tests for NativeAllocator.ApplyProtection()#62
myarichuk merged 1 commit intomainfrom
test/add-nativeallocator-protection-tests-604321551949943287

Conversation

@myarichuk
Copy link
Copy Markdown
Owner

🎯 What: The testing gap addressed
This PR addresses the lack of test coverage for NativeAllocator.ApplyProtection().

📊 Coverage: What scenarios are now tested

  • Edge cases: passing null or size 0.
  • Valid use cases: Applying MemoryProtectionMode.None and MemoryProtectionMode.ReadOnly dynamically.
  • Sub-span protection: Modifying memory protection on a specific page of an allocation without affecting adjacent pages.
  • Access Violation constraints: Verifying that writing to MemoryProtectionMode.ReadOnly memory throws an unmanaged crash (which is handled safely by isolating the crash in a child process, making the test portable and stable across CI pipelines).

Result: The improvement in test coverage
The test coverage for NativeAllocator is now much more robust, ensuring the memory protection functionality behaves predictably and OS-specific functions (mprotect/VirtualProtect) correctly restrict read and write access across all supported backends.


PR created automatically by Jules for task 604321551949943287 started by @myarichuk

Added test cases covering happy paths (None, ReadOnly, sub-span) and error conditions (Null, zero size). Also added a negative test that forks a child process to reliably trigger and verify native unmanaged memory crashes (AccessViolationException/segfault) when writing to ReadOnly protected memory.

Co-authored-by: myarichuk <1473701+myarichuk@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.

@myarichuk myarichuk merged commit ce30c88 into main Mar 21, 2026
2 checks passed
@myarichuk myarichuk deleted the test/add-nativeallocator-protection-tests-604321551949943287 branch March 21, 2026 17:31
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