Releases: se2p/pynguin
Pynguin v0.9.0
- Proper support for Python 3.9
- Improve branch-distance calculations for
byte
values - Cleanup algorithm implementations
Pynguin v0.8.1
- Regroup configuration options
- Improve branch-distance calculations for data containers
- Save import coverage to a separate output variable
- Delete some unused code
- Add warning notice to read-me file
Pynguin v0.8.0
-
Breaking: Renamed
RANDOM_SEARCH
toRANDOM_TEST_SUITE_SEARCH
to select the
random-sampling algorithm based on test suites introduced in Pynguin 0.7.0. -
Improve input generation for collection types.
-
Add an implementation of tournament selection for the use with DynaMOSA, MOSA, and
Whole Suite.For Whole Suite, on can choose the selection algorithm (either rank or tournament
selection) by setting the value of the--selection
parameter. -
Add DynaMOSA test-generation algorithm.
It can be selected via
--algorithm DYNAMOSA
. -
Add MIO test-generation algorithm.
It can be selected via
--algorithm MIO
. -
Add a random sampling algorithm based on test cases.
The algorithm is available by setting
--algorithm RANDOM_TEST_CASE_SEARCH
. It
randomly picks one test case, adds all available fitness functions to it and adds
it to the MOSA archive. If the test case is covering one fitness target it is
retrieved by the archive. If it covers an already covered target but is shorter
than the currently covering test case for that target, it replaces the latter. -
Fix
OSError
from executors queue.The queue was kept open until the garbage collector delete the object. This
caused anOSError
because it reached the OS's limit of open resource handles.
We now close the queue in the test-case executor manually to mitigate this. -
Fix
__eq__
and__hash__
of parameterised statements.Before this, functions such as
foo(a)
andbar(a)
had been considered
equivalent from their equals and hash-code implementation, which only compared the
parameters and returns but not the actual function's name. -
Fix logging to work properly again.
Pynguin v0.7.2
- Fixes to seeding strategies
Pynguin v0.7.1
- Fix readme file
Pynguin v0.7.0
- Breaking: Renamed algorithms in configuration options.
UseRANDOM
instead ofRANDOOPY
for feedback-directed random test generation andWHOLE_SUITE
instead ofWSPY
for whole-suite test generation. - Add MOSA test-generation algorithm. It can be selected via
--algorithm MOSA
. - Add simple random-search test-generation algorithm. It can be selected via
--algorithm RANDOM_SEARCH
. - Pynguin now supports the usage of a configuration file (based on Python's argparse) module. Use
@<path/to/file>
in the command-line options of Pynguin to specify a configuration file. See theargparse
documentation for details on the file structure. - Add further seeding strategies to extract dynamic values from execution and to use existing test cases as a seeded initial population (thanks to @Luki42)
Pynguin v0.6.3
- Resolve some weird merging issue
Pynguin v0.6.2
- Refactor chromosome representation to make the subtypes more interchangeable
- Update logo art
- Fix for test fixture that caused changes with every new fixture file
Pynguin v0.6.1
- Add attention note to documentation on executing arbitrary code
- Fix URL of logo in read me
- Fix build issues
Pynguin v0.6.0
- Add support for simple assertion generation (thanks to @Wooza).
For now, assertions can only be generated for simple types (int
,float
,str
,
bool
). All other assertions can only check whether or not a result of a method
call isNone
.
The generated assertions are regression assertions, i.e., they record the return
values of methods during execution and assume them to be correct. - Provide a version-independent DOI on Zenodo in the read me
- Several bug fixes
- Provide this changelog