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 Semantic Versioning.
- Resource based requirements (docs)
- Expand
~
in file based validators - Refactor CI pipeline
- Switch to
pyproject.toml
- Add support for inline includes
- Improved error handling
- Add
cleanup
option to file_contains validator - Fixed a bug when using docker volumes with relative paths
- Improved the error handling of uncaught validator exceptions
- Improve error handling of the http_listener plugin
- Improve error handling for yaml related scan errors
- Fix some bugs in the tempfile plugin
- Fixed a selection bug when running selective tests (e.g. by using
--groups
). The bug caused unrelated tests to run anyway. - The
--continue-from
and--skip-until
options can now be used with test identifiers enclosed in brackets (as they are displayed during a test run)
- Add tar_contains validator to validate contents of a tar file
- Add zip_contains validator to validate contents of a zip file
- Add tempfile plugin to create temporary files for a test
- Add
init
field for containers. Containers can use it to specify a custom initialization time (default=2)
- Testers can now specify external requirements
- Requirements are checked before the tester is run and can contain:
- Required files (including checksums verification)
- Required operating system commands
- Required tricot version
- Improved the selective test functionalities (
--skip-until
,--continue-from
,--ids
,--groups
,--exclude
,--exclude-groups
). Skipped tests are now skipped completely and they neither appear in the output nor start their associated containers. - Fix bug related to KeyboardInterrupts
- Update test cases to make them more compatible among different distributions
- Variables used in the
command
key are now allowed to be lists - Process timeouts are now implemented using process groups (more compatible)
- When using globs to specify testers, the testers are now executed in id-order
- Improved exception handling
- Add
id_pattern
attribute (see https://github.com/qtc-de/tricot/tree/main/docs#selective-testing) - Add
--skip-until
and--continue-from
options (see https://github.com/qtc-de/tricot/tree/main/docs#selective-testing)
- The
name
attribute of testers is no longer parsed. Thetitle
attribute is now used as a replacement.
- Add test / tester IDs (see https://github.com/qtc-de/tricot/tree/main/docs#selective-testing)
- Add test groups (see https://github.com/qtc-de/tricot/tree/main/docs#selective-testing)
- Full help menu is now always displayed on argparse errors
- Small bugfixes and formatting changes
- The
--tester
,--exclude
and--number
options were removed. They are replaced by the--ids
,--groups
,--exclude-ids
and--exclude-groups
options.
- Add Extractors
- Add
network_mode
support for docker containers - Add additional tests (extractors + network_mode)
- Changed the log output format for docker containers
- Changed exception handling of AttributeException in OsCommandPlugin
- Small bug fixes
- Removed six dependency (closes #4)
- Removed short version for most options
- Fix typo within
tricot.py
that caused an error when using the--tester
option
- Fix display bug when commands are run in shell mode
- Add debug information on OsCommand plugins
- Add support for running commands in shell mode
- Add logfile attribute for tests and testers
- Add support for custom success and error strings
- Add six dependency to
setup.py
file (see #4 for details)
- Add six dependency to
requirements.txt
file (see #4 for details)
- Add support for environment variables within testers
- Add support for nested variables
- Small refactroing of runtime variables
- Fix variable inheritance bug
- Add stream key to the expected validator keys
- Add LineCountValidator
- Add CleanupCommandPlugin
- Add PyPi istallation instructions
- Some minor bug fixes
- Add PyPi release workflow
- Add support for conditionals
- Add some more documentation
- Update completion script
- Fix bug that
--numbers
was not working
Initial release :)