Skip to main content
Donate to the Python Software Foundation or Purchase a PyCharm License to Benefit the PSF! Donate Now

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


Release history Release notifications

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
nose-mp-split-0.0.1.tar.gz (2.7 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page