icy-test
Command Line Tool¶
Not every test harness is written in Python. To accommodate this, the
intercom_test package can be installed to provide a command
line tool call icy-test
that provides access to the core functionality.
Installation¶
To install the icy-test
command line tool, simply install
intercom_test package with the [cli] extra, e.g.:
pip install intercom_test[cli]
This creates a command line tool named icy-test
, which can be run with the
--help
flag to get usage information. This information will be the most
recent and detailed available.
Configuration File¶
icy-test
needs a configuration file to provide information that would,
in a typical Python testing setting, be provided as parameters to the
InterfaceCaseProvider
constructor.
The path to this file is specified with the -c
or --config
flag when
running icy-test
.
A text-mode helper for building a configuration file (which is a YAML file,
usually with a .yml
extension) is provided as icy-test init
, and requires
specifying a config file using one of the options mentioned above.
Consuming Test Cases¶
The main use of icy-test
is to access the test cases. These are available
in the output of icy-test enumerate
in either a stream of YAML documents
(one per test case) or as JSON Lines (each line contains a JSON document).
Committing Augmentation Data Updates¶
Where InterfaceCaseProvider
used within a
Python testing framework can provide case runners that can automatically
update the compact augmentation data files when all test cases have passed,
no such facility is easily implemented when consuming the test cases from
another process and/or language. The augmentation data changes embodied in the
update files need to be explicitly committed to the compact files by running
icy-test commitupdates
.
Merging Interface Extension Test Cases To Main File¶
Use the icy-test mergecases
subcommand to invoke
intercom_test.framework.InterfaceCaseProvider.merge_test_extensions()
with appropriate setup taken from the icy-test
configuration file.