test: add NDJSON edge case coverage#159
Conversation
Add tests for edge cases that are qjson's responsibility when parsing individual NDJSON records: - UTF-8 BOM handling: verify EAGER mode rejects BOM-prefixed input per RFC 8259 section 8.1 - Large single record (1-2MB): verify no stack overflow or performance regression on large payloads - Batch small records (10K+): verify no memory leaks in parse/free cycles, exercising typical NDJSON processing patterns Note: qjson is a single-document parser. NDJSON support requires callers to split lines and parse each record individually.
|
Warning Review limit reached
More reviews will be available in 36 minutes and 41 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary
Closes #154.
Add systematic edge case coverage for scenarios that are qjson's responsibility when parsing individual NDJSON records.
Changes
tests/ndjson_edge_cases.rswith 7 test cases:What's NOT covered (caller responsibility)
Testing
All 7 new tests pass in both EAGER and LAZY modes.