touca-wrench

Utility CLI for managing Touca archive files


Keywords
touca, snapshot, testing, regression, command-line-tool, regression-testing, snapshot-testing, utility-application
License
Apache-2.0
Install
pip install touca-wrench==0.1.2

Documentation

Touca Utility CLI

PyPI PyPI - Python Version GitHub Workflow Status PyPI - License

Touca helps you understand the true impact of your day to day code changes on the behavior and performance of your overall software, as you write code.

Touca SDKs let you describe the behavior and performance of your code by capturing values of interesting variables and runtime of important functions. We remotely compare your description against a trusted version of your software, visualize all differences, and report them in near real-time. Learn more at docs.touca.io.

Touca Utility CLI helps you manage Touca archive files. It is used by Touca enterprise customers who choose to keep a local copy of their test results when running Touca tests on a dedicated test server.

Install

Touca Utility CLI can be installed via pip:

pip install touca-wrench

We formally support Python v3.6 and newer on Windows, Linux and macOS platforms.

Operations

Compressing Archive Files

Touca archive files are stored in binary format. You can still compress them for optimum storage.

wrench zip --src=./raw/acme/suite --out=./zipped/acme/suite

Extracting Archive Files

You can extract compressed archive files by running using the unzip operation.

wrench unzip --src=./zipped/acme/suite --out=./unzipped/acme/suite

Merging Archive Files

By default, Touca test framework generates one binary file for each test case as it is executed. For convenience, you can use the merge operation to merge these binary files into one or more archive files of up to 10MB in size.

wrench merge --src=./unzipped/acme/suite --out=./merged/acme/suite --cli=./path/to/touca_cli --logdir=./logs

Where touca_cli is the low-level utility executable that is shipped with the Touca SDK for C++.

Posting Archive Files

This operation is useful when back-filling a new instance of Touca server with binary test results from previous versions of your workflows.

wrench post --src=./merged/acme/suite --api-key <your-api-key> --api-url <your-api-url>

This command scans the archive directory for sub-directories that contain the test results generated for a given version of your Touca test and submits them one-by-one to the Touca server.

Note: post operation expects the merge operation to have been run. It ignores subdirectories that do not end with -merged suffix.

Updating Metadata

By design, Touca archive files include the metadata for each test case including the slugs for team, suite and revision. You can use the update operation to modify the metadata fields to submit test results that were originally created for one suite to a different suite.

wrench update --src ./merged/acme/unknown --out ./updated/acme/unknown --cli ./path/to/touca_cli --logdir ./logs --team acme-2 --suite suite-2 --revision 2.0

Where touca_cli is the low-level utility executable that is shipped with the Touca SDK for C++.

License

This repository is released under the Apache-2.0 License. See LICENSE.