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 hashes)

Uploaded Source

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