Test Anything Protocol (TAP) plugin for Kiwi TCMS
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.ssl
tcms_tap_plugin
tests
.gitignore
.travis.yml
LICENSE
MANIFEST.in
Makefile
README.rst
devel.txt
requirements.txt
setup.py
tcms-tap-plugin

README.rst

Test Anything Protocol (TAP) plugin for Kiwi TCMS

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

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

Installation

pip install kiwitcms-tap-plugin

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 this is how our own environment looks like:

#!/bin/bash

if [ "$TRAVIS_EVENT_TYPE" == "push" ]; then
    # same as $TRAVIS_TAG when building tags
    export TCMS_PRODUCT_VERSION=$TRAVIS_BRANCH
fi

if [ "$TRAVIS_EVENT_TYPE" == "pull_request" ]; then
    export TCMS_PRODUCT_VERSION="PR-$TRAVIS_PULL_REQUEST"
fi

export TCMS_BUILD="$TRAVIS_BUILD_NUMBER-$(echo $TRAVIS_COMMIT | cut -c1-7)"

Further documentation and behavior specification can be found here.

The above configuration creates a separate TestPlan for each branch, see 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