wexpect-venv/tox.ini
2020-04-05 13:30:31 +02:00

79 lines
2.0 KiB
INI

# tox.ini
# Run tests of wexpect in multiple configuration.
[tox]
# The following configuration will run automatically.
envlist = py{37}-{legacy_wexpect,spawn_pipe,spawn_socket},installed,pyinstaller
[testenv]
description = Unit tests
# Set environment variables to select the proper configuration for each envirnment.
setenv =
spawn_pipe: WEXPECT_SPAWN_CLASS=SpawnPipe
legacy_wexpect: WEXPECT_SPAWN_CLASS=legacy_wexpect
spawn_socket: WEXPECT_SPAWN_CLASS=SpawnSocket
commands =
# install the dependencies:
pip install .[test]
# Run the test itself
coverage run --parallel-mode -m unittest
# Combine the parallel results
coverage combine
# Dump coverage summary to console
coverage report --omit=tests/*,site-packages/*
# Convert coverage report to standard xml formula the filename includes the tox environment name
# https://tox.readthedocs.io/en/latest/config.html#environment-variable-substitutions
coverage xml --omit=tests/*,site-packages -o {env:TOX_ENV_NAME}_coverage.xml
[testenv:installed]
# normal tests test the cloned files. This testenv tests the installation itself, with the default
# spawn class.
description = Unit tests installed, and default spawn class.
changedir = test_01_installed
whitelist_externals =
cp
commands =
# copy all testcase into working dir
cp -r ../tests tests
# Run the test itself. Running all tests is not needed, because it just test the installation,
# not functions.
python -m unittest tests.test_misc
[testenv:pyinstaller]
# Test if wexpect working with pyinstaller. See #12 for more details.
description = Unit tests pyinstaller
whitelist_externals =
pyinstaller
pyinstaller_test
setenv =
WEXPECT_SPAWN_CLASS=SpawnPipe
commands =
# install the dependencies:
pip install .[test]
# create wexpect executable for console-reader.
pyinstaller wexpect.spec
# create test executable, to thest the console-reader
pyinstaller tests/pyinstaller_test.py
# run test:
dist\pyinstaller_test\pyinstaller_test.exe