Skip to content

Commit

Permalink
Release Pynguin 0.22.0
Browse files Browse the repository at this point in the history
- Fix selection of type-inference strategy.
- Fix a bug in the type inference regarding cases where no type
  information is present.
- Add a PyLint checker for calls to `print()`.
- Extend the blacklist of modules that shall not be analysed.
- Raise `RuntimeError` from tracer when called from another thread.
- Provide better exception messages for critical failures.
- Apply a further limit to the execution time of a single generated
  test case to at most 10 seconds.
- Exclude empty enum classes from test cluster to fix test generation.

  Parsing included modules raised an issue when the `enum` module is
  used: the test cluster then had a reference to the `enum.Enum` class,
  which obviously does not contain any fields.  In the following,
  generating tests failed, as soon as this class was selected to fulfil
  parameter values because there was no field to select from,
  e.g., `MyEnum.MY_FIELD`.  We now exclude empty enums from the test
  cluster.
  • Loading branch information
stephanlukasczyk committed Jun 8, 2022
1 parent c659edc commit 7888c70
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 3 deletions.
16 changes: 16 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,22 @@ for the source-code artifacts of each version.

## Pynguin 0.22.0

- Fix selection of type-inference strategy.
- Fix a bug in the type inference regarding cases where not type information is present.
- Add a PyLint checker for calls to `print()`.
- Extend the blacklist of modules that shall not be analysed.
- Raise `RuntimeError` from tracer when called from another thread.
- Provide better exception messages for critical failures.
- Apply a further limit to the execution time of a single generated test case to at
most 10 seconds.
- Exclude empty enum classes from test cluster to fix test generation.

Parsing included modules raised an issue when the `enum` module is used: the test
cluster then had a reference to the `enum.Enum` class, which obviously does not
contain any fields. In the following, generating tests failed, as soon as this
class was selected to fulfil parameter values because there was no field to select
from, e.g., `MyEnum.MY_FIELD`. We now exclude empty enums from the test cluster.

## Pynguin 0.21.0

- Fix a bug in the module analysis regarding nested functions
Expand Down
2 changes: 1 addition & 1 deletion docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ FROM python:3.10.4-slim-bullseye AS execute

# Set environment variables
# Set the Pynguin version
ENV PYNGUIN_VERSION "0.22.0.dev0"
ENV PYNGUIN_VERSION "0.22.0"
# Pynguin requires to set the variable to show it that the user is aware that running
# Pynguin executes third-party code, which could cause arbitrary harm to the system.
# By setting the variable, the user acknowledges that they are aware of this. In the
Expand Down
2 changes: 1 addition & 1 deletion pynguin/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
StatisticsBackend = config.StatisticsBackend
TypeInferenceStrategy = config.TypeInferenceStrategy

__version__ = "0.22.0.dev"
__version__ = "0.22.0"
__all__ = [
"set_configuration",
"run_pynguin",
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

[tool.poetry]
name = "pynguin"
version = "0.22.0.dev"
version = "0.22.0"
description = "Pynguin is a tool for automated unit test generation for Python"
authors = ["Stephan Lukasczyk <[email protected]>"]
license = "LGPL-3.0-or-later"
Expand Down

0 comments on commit 7888c70

Please sign in to comment.