All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to PEP 440 and uses Semantic Versioning.
- Upgraded to pytest-8. Plugin will now only work with pytest>=8.0.0.
- Completely removes legacy dependency from requirements.txt (
py
package) per cve advisory https://github.com/advisories/GHSA-w596-4wvx-j9j6
- Pass copies of params into the test, so that they can't modify the params before
repr_failure
is called on test cleanup.
- Upgraded to pytest-7, which included this deprecation. Plugin will now only work with pytest>=7.0.0.
- UserWarning: Unknown distribution option: 'use_scm_version', by declaring it in pyproject.toml instead.
- Stopped plugin from searching for
pytest-managers.py
andpytest-config.yml
, in directories that match pytest's norecursedirs config variable. This stops a duplicatepytest-managers.py
inbuild
, from halting the entire suite for example. - Updated packages in
requirements.txt
to latest and greatest. Checked nothing broke from doing so.
- Removed
packaging
package from pyproject.toml, and requirements.txt
- Populate
__version__
with importlib instead of setuptools_scm, to let people use package without git. (v1.1.1 wont work if installed from PyPI becasue of this). Also removes setuptools_scm dependency after build.
-
Improved error checking and error messages, for misformed yml tests and
test_types
. Removed the extra warning when plugin collects an empty test_*.yml file. -
Moved code to figure out version, from
setup.py
toautomation/__init__.py
. This lets me populate__version__
from there.
-
Removed automatically ignoring git submodules. Can only ignore files loaded by this plugin and not vanilla pytest tests anyways, so switching to pytest's
--ignore <dir>
flag for this functionality. -
Figured out how to remove the single global statement, by changing how each file imports one another.
First major release!
-
Changelog action, to guantee this file is updated on releases.
-
Added with
required_in_title
as an option to eachtest_types
, that checks it's value against the title of each test. (Replacement forrequired_files
. More info here). -
Python
type hints
to most functions. -
Instructions on installing package from source in
README.md
pytest_managers.py
andpytest_config.yml
have been renamed topytest-managers.py
andpytest-config.yml
. This is because '_' is inconsistent between Markdown anchors, but '-' isn't.
- Removed
required_files
key as an option fromtest_types
. Decided each test should run exactly the same, regardless of what file it's in. (Allows you to have a "known_bugs.yml" you can move tests in/out of).
- Empty test_*.yml's used to stop test suite from running, since the parser returned
None
instead of a empty string.