Distributed tests planner plugin for pytest testing framework
Project description
Splinter plugin for the py.test runner
Install pytest-cloud
pip install pytest-cloud
Features
The plugin provides an easy way of running tests amoung several test nodes (slaves). Uses the great pytest-xdist plugin for actual distributed run. When used, it will automatically detect capabilites of given node(s) and run only the number of test processes it is able to handle. ATM only ssh transport is supported. So ensure that you have at least public key auth enabled to your test nodes from the master node (where py.test is executed).
Command-line options
- –cloud-node
Node host name to run tests on. Multiple allowed.
- –cloud-virtualenv-path
Optional relative path to the virtualenv to be used on the remote test nodes.
- –cloud-mem-per-process
Optional amount of memory roughly needed for test process, in megabytes. Will be used to calculate amount of test processes per node, getting the free memory, dividing it for the memory per process needed, and getting the minimum of that value and the number of CPU cores of the test node.
- –cloud-max-processes
Optional maximum number of processes per test node. Overrides from above the calculated number of processes using memory and number of CPU cores.
Example
py.test tests/ --cloud-node=10.0.120.{1..40} --cloud-mem-per-process=1000 --cloud-virtualenv-path=.env/ --rsyncdir=. --rsyncdir=.env
Contact
If you have questions, bug reports, suggestions, etc. please create an issue on the GitHub project page.
License
This software is licensed under the MIT license
See License file
© 2015 Anatoly Bubenkov and others.
Changelog
1.0.0
Initial public release
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.