# 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