Main client for ETOS.
Github: ETOS Client
This page describes the ETOS client and its options as well as some examples of how it can be used. ETOS Client is a command-line tool that can be used in Continuous Integration tools such as jenkins as well as locally on workstations.
Why ETOS Client?¶
The ETOS client is a tool built to make it easier to execute ETOS (Eiffel Test Orchestration System). It is used for starting test suites in ETOS, and reporting the outcome.
CLI Overview and Command Reference¶
- Python 3.6 or higher.
- Git (optional)
There are two methods for installing the package.
Install using pip (Recommended)¶
Recommended for most users. It installs the latest stable version released. ETOS client can be found on PyPi. If you have the pip package manager installed, then the simplest way of installing ETOS Client is using the following command:
pip install etos_client
Instructions that virtually take you by the hand and guide you every step of the way is available among our Step by step articles.
Install using Git¶
Recommended for developers who want to install the package along with the full source code. Clone the package repository, and install the package in your site-package directory:
git clone "https://github.com/eiffel-community/etos-client.git" client cd client pip install -e .
The usage example below describes the interface of etos_client, which can be invoked with different combinations of options. The example uses brackets “[ ]” to describe optional elements. Together, these elements form valid usage patterns, each starting with the program’s name etos_client.
Below the usage patterns, there is a table of the command-line options with descriptions. They describe whether an option has short/long forms (-h, –help), whether an option has an argument (–identity=<IDENTITY>), and whether that argument has a default value.
etos_client [-h] -i IDENTITY -s TEST_SUITE [--no-tty] [-w WORKSPACE] [-a ARTIFACT_DIR] [-r REPORT_DIR] [-d DOWNLOAD_REPORTS] [--iut-provider IUT_PROVIDER] [--execution-space-provider EXECUTION_SPACE_PROVIDER] [--log-area-provider LOG_AREA_PROVIDER] [--dataset DATASET] [--cluster CLUSTER] [--version] [-v]
|-h, –help||n/a||Show help message and exit.|
|-i, –identity||IDENTITY||Artifact created identity purl to execute test suite on.|
|-s, –test-suite||TEST_SUITE||URL to test suite where the test suite collection is stored.|
|–no-tty||n/a||Disable features requiring a tty.|
|-w, –workspace||WORKSPACE||Which workspace to do all the work in.|
|-a,–artifact-dir||ARTIFACT_DIR||Where test artifacts should be stored. Relative to workspace.|
|-r,–report-dir||REPORT_DIR||Where test reports should be stored. Relative to workspace.|
|-d,–download-reports||DOWNLOAD_REPORTS||Should we download reports. Can be ‘yes’, ‘y’, ‘no’, ‘n’.|
|–iut-provider||IUT_PROVIDER||Which IUT provider to use. Defaults to ‘default’.|
|–execution-space-provider||EXECUTION_SPACE_PROVIDER||Which execution space provider to use. Defaults to ‘default’.|
|–log-area-provider||LOG_AREA_PROVIDER||Which log area provider to use. Defaults to ‘default’.|
|–dataset||DATASET||Additional dataset information to the environment provider. Check with your provider which information can be supplied.|
|–cluster||CLUSTER||Cluster should be in the form of URL to ETOS API.|
|–version||n/a||Show program’s version number and exit|
|-v, –verbose||n/a||Set loglevel to DEBUG.|
It is possible to specify an option by using one of the environment variables described below.
Precedence of options¶
If you specify an option by using a parameter on the CLI command line, it overrides any value from the corresponding environment variable.
|GRAPHQL_API||Yes||Specifies URL to Eiffel GraphQL API instance to use.|
|ETOS_API||Yes||Specifies the URL to the ETOS API for starting tests.|
|WORKSPACE||no||Which workspace to do all the work in.|
|IDENTITY||Environment or required input||Artifact created identity purl to execute test suite on.|
|TEST_SUITE||Environment or required input||URL to test suite where the test suite collection is stored.|
All issues can be found here: https://github.com/eiffel-community/etos-client/issues