This package allows you to read Test Anything Protocol (TAP) files and send the results to Kiwi TCMS.
pip install kiwitcms-tap-plugin
Note: this plugin should be installed on the system executing your automated tests or a separate system whose task is to parse the results and import them into Kiwi TCMS. This is usually not your Kiwi TCMS container!
Minimal config file ~/.tcms.conf:
[tcms] url = https://tcms.server/xml-rpc/ username = your-username password = your-password
For more info see tcms-api docs.
This plugin is only concerned with parsing the TAP format and executing
tcms-api
functions which will create/reuse test cases, test plans and test runs.
tcms-api
behavior is controlled via environment variables.
For example inside .github/workflows/testing.yml this looks like:
export TCMS_PRODUCT=$GITHUB_REPOSITORY export TCMS_PRODUCT_VERSION=$(echo $GITHUB_REF | sed "s|refs/heads/||" | sed "s|refs/||" | sed "s|/merge||") export TCMS_BUILD=$(echo $GITHUB_SHA | cut -c1-7)
Further documentation and behavior specification can be found here.
The above configuration creates a separate TestPlan for each branch, for example
TP-6: [TAP] Plan for kiwitcms/tap-plugin (master),
a separate TestPlan for each pull request (recording possible multiple test runs) and
separate TestPlan and TestRun for each tag on GitHub! tcms-api
has default behavior
for Travis CI and Jenkins and allows endless configuration via environment variables.
# define environment variables tcms-tap-plugin /path/to/results.tap
- Update tcms-api from 12.7 to 12.8.1
- Relax dependency requirement towards tcms-api for easier upgrade
- Update tcms-api from 11.3 to 12.7
- Update README to avoid confusions where to install this package. Closes Issue #62
- Build and test with Python 3.11
- Reformat source code with Black
- Enable CodeQL for code scanning
- Small refactoring internally
- Update tcms-api from 11.2 to 11.3
- Print information about created recrods if
-v
or--verbose
is specified on the command line - Allow multiple TAP files to be specified on the command line. Fixes Issue #57
- Update tap.py from 3.0 to 3.1
- Update tcms-api from 11.0 to 11.2. Closes Issue #5 and Issue #13
- Fix bug with traceback not being posted as comment. Issue #48
- Future compatible with upcoming Kiwi TCMS v11.0
- Update tcms-api from 10.0 to 11.0
- Pylint fixes
- Compatible with Kiwi TCMS v10.0
- Update tcms-api to 10.0
- Compatible with Kiwi TCMS v9.0
- Update tcms-api to 9.0
- Resolve a dependency issue in tests
- Update tcms-api to 8.6.0
- Update to
tcms-api v8.3.0
which uses
gssapi
for Kerberos - Requires MIT Kerberos for Windows if installed on Windows
This version works only with Kiwi TCMS v8.2 or later!
- Update to tcms-api==8.2.0
- Patch for changed return value in
plugin_helpers.Backend.test_case_get_or_create()
- Call
plugin_helpers.backend.finish_test_run()
when done. Fixes Issue #9
This version works only with Kiwi TCMS v8.0 or later!
- Update to tcms-api==8.0.1
This version works only with Kiwi TCMS v8.0 or later!
- Adjust plugin due to API changes in Kiwi TCMS v8.0
- Update
tap.py
from 2.6.2 to 3.0 - Require
tcms-api>=8.0
- Update
tap.py
dependency from 2.6.1 to 2.6.2
- Include traceback from TAP file as TE comment. Fixes Issue #7 (Christophe CHAUVET)
- Works with Kiwi TCMS v6.7 or newer
- Uses new names of API methods