Add comprehensive memory leak detection tests #1451
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Implements comprehensive memory leak detection tests for Asherah's critical components, addressing the final testing recommendation from the remediation guide.
Memory Leak Detection Coverage
Key Areas Tested:
Test Features
✅ Automatic GC Management: Forces garbage collection for accurate measurements
✅ Configurable Tolerance: 5MB memory growth tolerance with overflow protection
✅ Goroutine Detection: Tracks goroutine leaks with background tolerance
✅ Edge Case Testing: Double close, increment after close, concurrent access
✅ Race Condition Safe: All tests pass with
go test -race
✅ Fast Execution: Most tests complete in <1 second
✅ Validation Tests: Intentional leak tests to verify detection works (skipped by default)
Sample Test Results
Usage
Implementation Details
runtime.ReadMemStats()
with double GC for accuracyTesting
Test plan
go test -run "MemoryLeaks" -v
to verify all memory leak testsgo test -race -run "MemoryLeaks" -v
for race condition testinggo test ./...
to ensure no regressionsCompletes the final testing recommendation from REMEDIATION.md ✅
Generated with Claude Code