Context
Gap analysis of ProcessorTest coverage (from #591 investigation) identified several areas where the annotation processor generates correct metadata (verified via assertEquivalence) but the generated path is not exercised end-to-end through parsing and execution.
Test Gaps to Close
Missing from assertEquivalence itself
selectorType is not compared between reflection and generated options
Features with equivalence tests but no end-to-end parsing on generated path
- @OptionList parsing (
--items a,b,c)
- @OptionGroup parsing (
-Dkey=value)
- Negatable option parsing (
--no-verbose)
- acceptNameWithoutDashes parsing (
format json without --)
- allowedValues rejection (invalid value → error)
- exclusiveWith rejection (both mutually exclusive options set → error)
- Option alias parsing (
--ea as synonym for --enableassertions)
- stopAtFirstPositional parsing
- Custom callback execution (validator/completer invoked during parse)
Features with zero test coverage
descriptionUrl / url on options (no test command uses non-default values)
helpUrl on @CommandDefinition (no test command uses non-default value)
- Command-level
completeFallback (only option-level tested)
- Private mixin assertEquivalence (only native-image config tested)
Context
These gaps were identified during the #591 implementation and scoped out to keep the change focused. The core processor functionality is well-tested via assertEquivalence, but end-to-end tests would catch integration issues between the generated metadata and the parser/executor.
Context
Gap analysis of ProcessorTest coverage (from #591 investigation) identified several areas where the annotation processor generates correct metadata (verified via assertEquivalence) but the generated path is not exercised end-to-end through parsing and execution.
Test Gaps to Close
Missing from assertEquivalence itself
selectorTypeis not compared between reflection and generated optionsFeatures with equivalence tests but no end-to-end parsing on generated path
--items a,b,c)-Dkey=value)--no-verbose)format jsonwithout--)--eaas synonym for--enableassertions)Features with zero test coverage
descriptionUrl/urlon options (no test command uses non-default values)helpUrlon @CommandDefinition (no test command uses non-default value)completeFallback(only option-level tested)Context
These gaps were identified during the #591 implementation and scoped out to keep the change focused. The core processor functionality is well-tested via assertEquivalence, but end-to-end tests would catch integration issues between the generated metadata and the parser/executor.