App-Test-Generator
view release on metacpan or search on metacpan
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
0.34 Sun May 3 10:30:24 EDT 2026
[Bug fixes]
- Emitter::Perl: _emit_void_test() generated ok(!defined $result || 1, ...)
which is a tautology and always passes regardless of return value.
Fixed to ok(!defined $result, '$method returns nothing (void)').
- Generator: schema files named after Perl builtins (e.g. abs.yml) caused
generated tests to emit "use abs" which fails to compile. Added
_is_perl_builtin() guard to prevent builtin names being used as module
names in use_ok() calls.
- bin/test-generator-index: mutant stub generator incorrectly called
Sanity test on DIES
Added timeout tests to ensure the test doesn't hang
0.25 Thu Jan 1 15:41:06 EST 2026
Ternary ? 1 : 0 return is taken to be an indicator of boolean returns
Now parses this pod to know that it's supposed to return a string:
Returns the sanitized HTML string
Use :: to call methods in non-oo modules, rather than ->
Flag when type is set to object by can is not set
0.24 Sun Dec 28 15:10:09 EST 2025
Return chances of false positive file path semantics
If the type of an variable can't be determined, guess at string, but lower the confidence level
Error Message Extraction:
Capture error messages from die/croak/confess
Use them to understand what makes input invalid die "Age must be positive" if $age <= 0;
Store that a negative/zero age is invalid
Use test of scalar(@_) to check for number of optional/mandatory args
Throw a float at a routine that only takes integers - it should error
Added example extraction
Parse POD for example calls and extract valid parameter combinations =head2 SYNOPSIS my $obj = Module->new(foo => 'bar', count => 5);
0.19 Wed Nov 26 07:50:22 EST 2025
Fixed the loop iterating over mandatory args
Ensure mandatory_args honours matches
0.18 Tue Nov 25 11:58:12 EST 2025
Removed one place sending '' if test_empty was disabled
Don't send long strings if matches is set
Fixed handling of position code with more than argument
Renamed the sample module
0.17 Tue Nov 25 10:24:36 EST 2025
Improved TEST_VERBOSE output for Corpus tests
Make the strings more random
Added test_non_ascii (default 1) to the configuration matrix
Removed all legacy conf code
Re-ordered the POD
Don't give 42 if max < 42
Added App::Test::Generator::SchemaExtractor
0.16 Thu Nov 20 08:38:17 EST 2025
Use Data::Random::String to generate the string
( run in 0.885 second using v1.01-cache-2.11-cpan-600a1bdf6e4 )