pytest-cloudist
pytest-cloudist is a pytest plugin to that distributes your tests to AWS EC2 machines with a minimum of fuss. It is a thin wrapper around Meadowrun, which does the heavy lifting of starting EC2 instances and synchronizing environment and code.
Installation
Simply pip install alongside pytest:
python -m pip install pytest-cloudist
That makes the following command line arguments on pytest available:
Distributed testing in the cloud using Meadowrun:
--cloudist={test,file,no}
Set mode for distributing tests to workers.
test: send each test to a worker separately.
file: send each test file to a worker separately.
(default) no: run tests inprocess, don't distribute.
--cd-tasks-per-worker-target=tasks_per_worker_target
The number of tasks to target per worker. This number determines whether individual tests or files are grouped and sent as a chunk to the test worker. Chunking is normally more efficient, but may affect load balancing and worsen the effect of stragglers.
--cd-num-workers=num_workers
Number of workers to use for distributed testing.
--cd-cpu-per-worker=logical_cpu_per_worker
The number of logical CPUs needed per worker.
--cd-memory-per-worker=memory_gb_per_worker
The amount of memory (in GiB) needed per worker.
--cd-interrupt-prob=INTERRUPTION_PROBABILITY_THRESHOLD
The estimated probability that spot instances are interrupted by AWS. Set to 0 for on-demand instances, which will be up to 10x more expensive.
--cd-extra-files=EXTRA_FILES
Extra files to copy as to the remote machines, if needed. .py files on sys.path are copied automatically.
--cd-init-command=INIT_COMMAND
Initialization command to run once per worker
Usage
By default, pytest-cloudist is not activated, i.e. your tests run locally as normal. To enable pytest-cloudist, pass either --cloudist test or --cloudist file with any other options.
Credits
The code and approach of pytest-cloudist, in terms of pytest integration, are heavily based on the code for pytest-xdist, and as a result it is also licensed as MIT.
Release files for pytest-cloudist 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pytest-cloudist-0.1.0.tar.gz | 7.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pytest_cloudist-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 15.6 kB
Release files / pytest-cloudist-0.1.0.tar.gz
| Download URL | pytest-cloudist-0.1.0.tar.gz |
|---|---|
| Size | 7.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
efd00cd09ca39fcbf14dd3eb07ab04d3ac0d58d3924dfe1da373bc14443a3371
|
|
BLAKE2b-256 checksum How to use checksums |
bda8e108d63221c16a50143baa93edffd43186e78f1d45292ac7449233fc74ed
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.2.0 CPython/3.8.10 Linux/5.10.102.1-microsoft-standard-WSL2
|
Release files / pytest_cloudist-0.1.0-py3-none-any.whl
| Download URL | pytest_cloudist-0.1.0-py3-none-any.whl |
|---|---|
| Size | 8.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a65ca170434f5e3f4fb1b6b747058321cee1d087a381c0b2e162c6644d9a6aa3
|
|
BLAKE2b-256 checksum How to use checksums |
afbaaa92f169d40553aa8fd5ae56e1bbf6c2b82effe1b033a3aa66324e502c4f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.2.0 CPython/3.8.10 Linux/5.10.102.1-microsoft-standard-WSL2
|