A nosetests plugin to split test suites to run in parallel
Project description
nose-parallel
==========
A plugin to help split up your tests runs across multiple machines.
In an ideal world, test suites should be fast enough that they can
be run locally on a single machine without extra engineering. This
plugin is there to help when you can't make that to happen.
This **won't** help you run tests in parallel on one machine in different
threads; that's what the built-in `multiprocess
<http://nose.readthedocs.org/en/latest/plugins/multiprocess.html>`_ plugin
is for.
This **will** help you split up your test suites so that you can run the
suites on multiple machines and not have the same test run twice - think
Jenkins with the
`multijob <https://wiki.jenkins-ci.org/display/JENKINS/Multijob+Plugin>`_
plugin, or CI services like `CircleCI <https://circleci.com/docs/parallel-manual-setup>`_.
Install
-------
.. code::
pip install nose-parallel
Usage
-----
On each machine:
#. Export environment variables ``NODE_TOTAL`` (the number of machines on which the suite will be run) and and ``NODE_INDEX`` (the 0-based index of the current machine)
#. Run nosetests with the ``--with-parallel`` flag
#. Do something to join the results from all the machines back together
For example, this is how we'd run nosetests on the second machine in a
four-machine testing cluster:
.. code:: bash
NODE_TOTAL=4 NODE_INDEX=1 nosetests --with-parallel
If you don't set those variables, ``nose-parallel`` will do the right thing and run all your tests.
The CircleCI versions of the environment variables (``CIRCLE_NODE_TOTAL`` and ``CIRCLE_NODE_INDEX``,
respectively) are also natively supported.
License
-------
``nose-parallel`` is released under the MIT license.
Contribute
----------
- Check for open issues or open a fresh issue to start a discussion around a feature idea or a bug.
- Fork the repository on GitHub to start making your changes to the master branch (or branch off of it).
- Send a pull request and bug the maintainer until it gets merged and published.
- Add yourself to the authors list in ``setup.py``
Thanks To
---------
- `@mahmoudimus <https://github.com/mahmoudimus>`_, whose `nose-timer <https://github.com/mahmoudimus/nose-timer>`_ plugin this is based off of
==========
A plugin to help split up your tests runs across multiple machines.
In an ideal world, test suites should be fast enough that they can
be run locally on a single machine without extra engineering. This
plugin is there to help when you can't make that to happen.
This **won't** help you run tests in parallel on one machine in different
threads; that's what the built-in `multiprocess
<http://nose.readthedocs.org/en/latest/plugins/multiprocess.html>`_ plugin
is for.
This **will** help you split up your test suites so that you can run the
suites on multiple machines and not have the same test run twice - think
Jenkins with the
`multijob <https://wiki.jenkins-ci.org/display/JENKINS/Multijob+Plugin>`_
plugin, or CI services like `CircleCI <https://circleci.com/docs/parallel-manual-setup>`_.
Install
-------
.. code::
pip install nose-parallel
Usage
-----
On each machine:
#. Export environment variables ``NODE_TOTAL`` (the number of machines on which the suite will be run) and and ``NODE_INDEX`` (the 0-based index of the current machine)
#. Run nosetests with the ``--with-parallel`` flag
#. Do something to join the results from all the machines back together
For example, this is how we'd run nosetests on the second machine in a
four-machine testing cluster:
.. code:: bash
NODE_TOTAL=4 NODE_INDEX=1 nosetests --with-parallel
If you don't set those variables, ``nose-parallel`` will do the right thing and run all your tests.
The CircleCI versions of the environment variables (``CIRCLE_NODE_TOTAL`` and ``CIRCLE_NODE_INDEX``,
respectively) are also natively supported.
License
-------
``nose-parallel`` is released under the MIT license.
Contribute
----------
- Check for open issues or open a fresh issue to start a discussion around a feature idea or a bug.
- Fork the repository on GitHub to start making your changes to the master branch (or branch off of it).
- Send a pull request and bug the maintainer until it gets merged and published.
- Add yourself to the authors list in ``setup.py``
Thanks To
---------
- `@mahmoudimus <https://github.com/mahmoudimus>`_, whose `nose-timer <https://github.com/mahmoudimus/nose-timer>`_ plugin this is based off of
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.
Source Distribution
nose-parallel-0.1.1.tar.gz
(3.3 kB
view hashes)
Built Distribution
Close
Hashes for nose_parallel-0.1.1-py27-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1321c95d01cc1465880403e94eadcce612c3110c8dfa755292d9c64e3ae8f987 |
|
MD5 | 589e799fd15a79bf1c3f5d1411ff41f6 |
|
BLAKE2b-256 | 344860b99a4f55ce76b310c8504af39bb3fc783e03c2abbc628aa7afa649cf3a |