Skip to main content

a plugin for nose to better utilize worker processes

Project description

https://travis-ci.org/pglass/nose-mp-split.svg?branch=master

This plugin adds _multiprocess_can_split_ = True to each of your test classes and modules. That’s all. This tells nose’s multiprocess plugin that it doesn’t need to run all of a class’s tests in the same process. Nose will then distribute test cases from the same class (or module) across different processes. It was written in response to behavior demonstrated here.

When it’s safe to use with your tests, this plugin is so cool!

  • There’s no need to edit your tests to contain a nose-specific flag.

  • It evenly distributes test cases (rather than test classes) across processes. This utilizes worker process better to speed up test runs, especially if one class has many tests cases and takes much longer to run than the others.

  • It produces more responsive output. Since nose runs test classes in worker processes, it waits until each class has finished before printing the results for that class. This plugin ensures the results of a test case are printed immediately after that test has finished.

You can use this plugin when you know your tests are safe to run in parallel. For instance, don’t use this plugin if you have test fixtures that cannot be run repeatedly and concurrently in multiple processes.

Quickstart

$ pip install nose-mp-split
$ nosetests --mp-split-all --processes=4 mytests/

nose-mp-split has no effect when not running tests in multiple processes.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nose-mp-split-0.0.1.tar.gz (2.7 kB view details)

Uploaded Source

File details

Details for the file nose-mp-split-0.0.1.tar.gz.

File metadata

File hashes

Hashes for nose-mp-split-0.0.1.tar.gz
Algorithm Hash digest
SHA256 da63b3f8f3b87c90452c85e6bb629e11cae1b1a8ecbe8577665d6f0deb9f63aa
MD5 1ea93713fe03dd238aefe9bb38306caf
BLAKE2b-256 4f7101b8f4e7cdb6b7f76c2231df983532ae71bc01cc53118798d91a30ffc7bc

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page