Queue test backlog kickoff, CLI/doc polish, and realistic coverage gates — plus a small builder enhancement #1687
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.
This PR seeds a Chronicle Queue test programme with concrete, high-value cases; adds a light docs polish for CLI users; tunes JaCoCo gates to today’s achieved coverage; and introduces a fluent builder helper for
QueueOffsetSpec. Together, these changes tighten behaviour around named tailers, file growth/rolls, CLI usage, async buffering, and raw/size-prefixed frames.Why
What changed
Planning & Coverage
NEW_TESTS.md: in-flight research notes mapping real-world issues to test assertions (Logger knobs, async buffering, pretoucher, failover).TESTS_TODO.md: concrete Queue test batches (A–M) with scopes, targets, and acceptance criteria.pom.xml): line 0.7888, branch 0.6989 (also insonarprofile) anddefaultGoal=verifyunder the profile.Builder/API
SingleChronicleQueueBuilder#queueOffsetSpec(QueueOffsetSpec): fluent setter that applies the spec (spec.apply(this)) and returns the builder. Useful for tests, named-tailer fixtures, and config plumbing.Tests — highlights
Async buffering & two-thread runs
ChronicleQueueTwoThreadsTestBufferMode.AsynchronousvsNone, heap vs directBytesfor tailer/appender.assumeTrue).CLI realism
ChronicleReaderMainCliTest-n <index>start-from support (decimal/hex).-r+-gsnapshot to assert MessageHistory inclusion and WireType selection.ChronicleWriterMainCliTestMethod-writer payload stability
MethodReaderObjectReuseTestRaw access & size-prefixed frames
RawAccessJavaTestWrite path ergonomics
WriteBytesTestBuilder parity & reopen semantics
SingleChronicleQueueBuilderTestblockSize,bufferCapacity,rollCycle,sourceId,wireType.Offset spec coverage
QueueOffsetSpecTestEPOCHformat/parse round-trip;NONEis a no-op; bad types throw; invalid TZ failsvalidate().builder.queueOffsetSpec(spec).Reader/tailer with file growth & rolls
issue/ReaderResizesFileTestNamed tailers
namedtailer/NamedTailerVersioningTesttoStart()rewind works as expected.moveToIndex()resumes at stored index after restart.Pretoucher ergonomics
PretouchUtilTestaction()on a closed queue does not explode (either no-op or expectedInvalidEventHandlerException).Docs (Antora)
Appending / CLI / Tailing / Utilities
-naccepts decimal or hex,-gshows MessageHistory with-r.TIP:) to the canonical CLI reference to reduce drift.queue_reader.shswitches with Maven runner.