Skip to content

Releases: se2p/pynguin

Pynguin v0.9.0

07 Jun 09:41
v0.9.0
Compare
Choose a tag to compare
  • Proper support for Python 3.9
  • Improve branch-distance calculations for byte values
  • Cleanup algorithm implementations

Pynguin v0.8.1

01 Jun 07:24
v0.8.1
Compare
Choose a tag to compare
  • 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

26 Apr 11:58
v0.8.0
Compare
Choose a tag to compare
  • Breaking: Renamed RANDOM_SEARCH to RANDOM_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 an OSError 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) and bar(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

26 Mar 10:13
v0.7.2
Compare
Choose a tag to compare
  • Fixes to seeding strategies

Pynguin v0.7.1

24 Feb 16:03
v0.7.1
Compare
Choose a tag to compare
  • Fix readme file

Pynguin v0.7.0

24 Feb 15:44
v0.7.0
Compare
Choose a tag to compare
  • Breaking: Renamed algorithms in configuration options.
    Use RANDOM instead of RANDOOPY for feedback-directed random test generation and WHOLE_SUITE instead of WSPY 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 the argparse 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

24 Nov 12:29
v0.6.3
Compare
Choose a tag to compare
  • Resolve some weird merging issue

Pynguin v0.6.2

24 Nov 12:29
v0.6.2
Compare
Choose a tag to compare
  • 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

01 Nov 18:43
v0.6.1
Compare
Choose a tag to compare
  • Add attention note to documentation on executing arbitrary code
  • Fix URL of logo in read me
  • Fix build issues

Pynguin v0.6.0

29 Oct 07:58
v0.6.0
Compare
Choose a tag to compare
  • 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 is None.
    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