Skip to main content

Test Anything Protocol (TAP) plugin for Kiwi TCMS test case management system

Project description

PyPI version Travis CI Code coverage Python updates TP for kiwitcms/tap-plugin (master) Tidelift Become a sponsor Kiwi TCMS on Twitter

This package allows you to read Test Anything Protocol (TAP) files and send the results to Kiwi TCMS.

Installation

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!

Configuration and environment

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.

Usage

# define environment variables
tcms-tap-plugin /path/to/results.tap

Changelog

v12.8.1 (22 Dec 2023)

  • Update tcms-api from 12.7 to 12.8.1

  • Relax dependency requirement towards tcms-api for easier upgrade

v12.7 (11 Dec 2023)

  • 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

v11.3 (17 May 2022)

  • 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

v11.2 (15 May 2022)

  • 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

v11.0 (05 Dec 2021)

  • Future compatible with upcoming Kiwi TCMS v11.0

  • Update tcms-api from 10.0 to 11.0

  • Pylint fixes

v10.0 (02 Mar 2021)

  • Compatible with Kiwi TCMS v10.0

  • Update tcms-api to 10.0

v9.0 (13 Jan 2021)

  • Compatible with Kiwi TCMS v9.0

  • Update tcms-api to 9.0

  • Resolve a dependency issue in tests

v8.4 (28 Oct 2020)

  • Update tcms-api to 8.6.0

v8.3 (10 Apr 2020)

  • Update to tcms-api v8.3.0 which uses gssapi for Kerberos

  • Requires MIT Kerberos for Windows if installed on Windows

v8.2 (03 Apr 2020)

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

v8.0.1 (10 February 2020)

This version works only with Kiwi TCMS v8.0 or later!

  • Update to tcms-api==8.0.1

v8.0 (09 February 2020)

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

v0.5 (07 January 2020)

  • Update tap.py dependency from 2.6.1 to 2.6.2

v0.4 (23 September 2019)

  • Include traceback from TAP file as TE comment. Fixes Issue #7 (Christophe CHAUVET)

v0.3 (10 April 2019)

  • Works with Kiwi TCMS v6.7 or newer

  • Uses new names of API methods

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kiwitcms-tap-plugin-12.8.1.tar.gz (17.7 kB view details)

Uploaded Source

Built Distribution

kiwitcms_tap_plugin-12.8.1-py3-none-any.whl (18.0 kB view details)

Uploaded Python 3

File details

Details for the file kiwitcms-tap-plugin-12.8.1.tar.gz.

File metadata

  • Download URL: kiwitcms-tap-plugin-12.8.1.tar.gz
  • Upload date:
  • Size: 17.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.13

File hashes

Hashes for kiwitcms-tap-plugin-12.8.1.tar.gz
Algorithm Hash digest
SHA256 3ffe6cd37be166b58e8fe66ff982d98a87ac0f2e5ac68eecddfefbb7e794129d
MD5 cec4e1c9cb780bff8bb1d9eb419592de
BLAKE2b-256 3dc9330b0841052307368343b24df6404f2eff58acae8f2157d58428f2679fa3

See more details on using hashes here.

File details

Details for the file kiwitcms_tap_plugin-12.8.1-py3-none-any.whl.

File metadata

File hashes

Hashes for kiwitcms_tap_plugin-12.8.1-py3-none-any.whl
Algorithm Hash digest
SHA256 cb5e7323973b84c61dd684c4816a9fe208b04dbee0ae88aea2507fa67d67c9c6
MD5 e3703bb172ad6f5b14e282ddddc9d4d2
BLAKE2b-256 52b7d3238e7f63aed61e7f71f403c35e8a967cb71c1fb3435bbb811e5882de40

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page