App-Test-Generator

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

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);
		Store these as known-good test values
	Corpus bool testing now uses ok rather than is
	Ensure new doesn't refer to other packages
	Set the isa property in the new function

0.23	Wed Dec 24 10:48:03 EST 2025
	Fix https://www.cpantesters.org/cpan/report/079dba46-d92f-11f0-9642-dde56d8775ea
	Don't give false negative that memberof isn't known
	SchemaExtractor output files now end in .yml not .yaml
	Ensure rand_str isn't called when memberof is set
	When test_empty is set, do the right thing for memberof

0.22	Sun Dec 21 20:59:58 EST 2025
	Added better API to generate
	Added parameter relationship detection (mutually exclusive, required groups, conditional requirements, dependencies, value constraints)
	Improved Object Detection
		Detect factory methods that return instances
		Recognize singleton patterns
		Identify when constructor needs specific parameters
		Handle inheritance (when parent class new() is needed)
	Better Default Value Extraction
		$param = $param || 'default_value'
		$param //= 'default_value'
		$param = defined $param ? $param : 'default'
	Expanded _detect_list_context to
		Better distinguish scalar vs list returns
		Detect void context methods (those that modify state)
		Recognize chaining patterns more reliably Identify error return conventions (undef on failure, etc.)
	Add confidence scoring transparency, explain WHY confidence is what it is:
		_analysis: confidence_factors:
			- "POD documentation present (+30)"
			- "Type validation in code (+20)"
			- "No constraint information (-10)"
	Add support for:
		- Signatures (sub foo($x, $y = 5) { })
		- Postfix dereferencing ($array->@*)
		- Subroutine attributes (sub foo :Returns(Int) { })
		- Field declarations (Perl 5.38+)
	Added a new section to generated YAML:
		yamltest_hints: boundary_values: [0, 1, 100, 255]
		detected from code invalid_inputs: ['', undef, -1]
		from validation checks equivalence_classes: []

0.21	Sun Dec 14 08:07:09 EST 2025
	Schemaextractor: don't put the package name as the argument
	Validate config settings better
	Fix max string testing with non-ASCII characters
	Changed rand_str to be a unified generator that randomly produces codepoint strings,
		grapheme clusters, ZWJ emoji sequences, or aggressive Unicode fuzz strings
	Schemaextractor: Added advanced type detection for DateTime objects, file handles, coderefs, and enum validation patterns
	Added enum as a synonym of memberof
	Added tests for unix_timestamp semantic type

0.20	Fri Dec  5 07:53:43 EST 2025
	Added the --version flag to fuzz-harness-generator
	Ensure the max value of string is honoured better
	Fix array context detection to only match return statements
	Improve chances of detecting a boolean output
	Make the list context detection more specific

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
	Use Data::Random::Structure to generate references to hashes and arrays
	Remove legacy support for Perl config files
	Handle the case when all inputs should cause a die(),
		allows App::Test::Generator to sanity test itself
	If something is expected to die, don't look at its return code
	More boolean edge cases
	Don't pass _NAME to validate_strict
	When a routine dies, it shouldn't return anything
	Begin to use semantic types
	Use Test::LectroTest to create more tests
	Added custom properties
	Separated the Template into its own class to ease maintenance
	Use reusable functions to generate cases
	Rand_set returns and array, so look at the first element

0.15	Tue Nov 11 19:30:18 EST 2025
	Documented how to Fuzz test a CPAN module
	populate_positions - don't attempt to deref a scalar
	carp when undef is a corpus test case, but test_undefs is not set
	Improved handling of cases array for WARNS and DIES
	Improved handling of validating position settings in config files
	Croak if the schema_file can't be opened
	Close stdin and use /dev/null
	Fixed logic in testing short strings when min >= 2

0.14	Fri Nov  7 20:26:32 EST 2025
	Fixed logic when neither memberof nor notmemberof were defined,
		which could cause an empty notmemberof array to be created
	Transform: better number of items for arrayrefs



( run in 0.489 second using v1.01-cache-2.11-cpan-e93a5daba3e )