Changes for version 0.35 - 2026-05-09

  • Enhancements
    • Dashboard footer now shows the App::Test::Generator version used to generate it, linking to the MetaCPAN distribution page.
    • Executive Summary wording now varies by mutation score: positive framing for high scores, an actionable hint for low scores, and a clear message when no mutation data is available yet. Thresholds use med_threshold and low_threshold from %config rather than magic numbers.
    • Coverage dashboard per-file HTML links now work correctly; Devel::Cover instrumentation restored to use cover -test for accurate per-file HTML generation.
    • Dashboard file links now correctly target blib-lib-* filenames as generated by Devel::Cover, fixing persistent 404 errors on all per-file coverage pages.
    • generate-test-dashboard now derives the Devel::Cover -select pattern dynamically from GITHUB_REPOSITORY, making the script portable across CPAN distributions without hardcoded module paths.
    • Fuzz schema generation now correctly looks in t/conf rather than xt/conf for existing schemas to augment.
    • Redundant exclusion of mutant_*.t from prove invocation removed; mutant stubs are in xt/ and were never matched by the t/ find anyway.
  • Bug fixes
    • Fix https://www.cpantesters.org/cpan/report/04c7279a-476f-11f1-bf55-cb595875c975 Make t/type_params.t an extended test

Documentation

Demonstrate the schema extractor
Extract test schemas from Perl modules
Extract schemas and optionally emit Perl tests
Generate fuzzing + corpus-based test harnesses from test schemas
Test coverage dashboard generator
Run mutation testing against a Perl test suite

Modules

Fuzz Testing, Mutation Testing, LCSAJ Metrics and Test Dashboard for Perl modules
AFL-style coverage-guided fuzzing for App::Test::Generator
Static LCSAJ extraction for Perl
Merge LCSAJ path data with runtime hits
Negate boolean return expressions to expose missing assertion coverage
Replace return expressions with undef to expose missing undef-return checks in the test suite
Generate and apply mutation tests
Example module for schema extraction testing
Extract test schemas from Perl modules
Template for the test files generated by App::Test::Generator
Debugger backend for LCSAJ coverage

Provides

in lib/App/Test/Generator/Analyzer/Complexity.pm
in lib/App/Test/Generator/Analyzer/Return.pm
in lib/App/Test/Generator/Analyzer/ReturnMeta.pm
in lib/App/Test/Generator/Analyzer/SideEffect.pm
in lib/App/Test/Generator/Emitter/Perl.pm
in lib/App/Test/Generator/Model/Method.pm
in lib/App/Test/Generator/Mutant.pm
in lib/App/Test/Generator/Mutation/Base.pm
in lib/App/Test/Generator/Mutation/ConditionalInversion.pm
in lib/App/Test/Generator/Mutation/NumericBoundary.pm
in lib/App/Test/Generator/Planner.pm
in lib/App/Test/Generator/Planner/Fixture.pm
in lib/App/Test/Generator/Planner/Grouping.pm
in lib/App/Test/Generator/Planner/Isolation.pm
in lib/App/Test/Generator/Planner/Mock.pm
in lib/App/Test/Generator/TestStrategy.pm