[py-svn] commit/pytest-xdist: hpk42: improve README to cover --boxed option and contain some more links
Bitbucket
commits-noreply at bitbucket.org
Sat Aug 4 09:55:00 CEST 2012
1 new commit in pytest-xdist:
https://bitbucket.org/hpk42/pytest-xdist/changeset/99549e737f22/
changeset: 99549e737f22
user: hpk42
date: 2012-08-04 09:54:51
summary: improve README to cover --boxed option and contain some more links
affected #: 1 file
diff -r d8af4f85360aae594450fab79d59a2d9e09c4dc8 -r 99549e737f220f58e57d8cb1a107370f15379568 README.txt
--- a/README.txt
+++ b/README.txt
@@ -4,16 +4,19 @@
The `pytest-xdist`_ plugin extends py.test with some unique
test execution modes:
-* Looponfail: run your tests repeatedly in a subprocess. After each run py.test
- waits until a file in your project changes and then re-runs the previously
- failing tests. This is repeated until all tests pass after which again
- a full run is performed.
+* test run parallelization_: if you have multiple CPUs or hosts you can use
+ those for a combined test run. This allows to speed up
+ development or to use special resources of `remote machines`_.
-* multiprocess Load-balancing: if you have multiple CPUs or hosts you can use
- those for a combined test run. This allows to speed up
- development or to use special resources of remote machines.
+* ``--boxed``: run each test in a boxed_ subprocess to survive ``SEGFAULTS`` or
+ otherwise dying processes
-* Multi-Platform coverage: you can specify different Python interpreters
+* ``--looponfail``: run your tests repeatedly in a subprocess. After each run
+ py.test waits until a file in your project changes and then re-runs
+ the previously failing tests. This is repeated until all tests pass
+ after which again a full run is performed.
+
+* `Multi-Platform`_ coverage: you can specify different Python interpreters
or different platforms and run tests in parallel on all of them.
Before running tests remotely, ``py.test`` efficiently "rsyncs" your
@@ -41,6 +44,8 @@
Usage examples
---------------------
+.. _parallelization:
+
Speed up test runs by sending tests to multiple CPUs
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
@@ -55,20 +60,42 @@
Running tests in a Python subprocess
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-To instantiate a python2.4 sub process and send tests to it, you may type::
+To instantiate a python2.5 sub process and send tests to it, you may type::
- py.test -d --tx popen//python=python2.4
+ py.test -d --tx popen//python=python2.5
-This will start a subprocess which is run with the "python2.4"
+This will start a subprocess which is run with the "python2.5"
Python interpreter, found in your system binary lookup path.
If you prefix the --tx option value like this::
- --tx 3*popen//python=python2.4
+ --tx 3*popen//python=python2.5
then three subprocesses would be created and tests
will be load-balanced across these three processes.
+.. _boxed:
+
+Running tests in a boxed subprocess
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+If you have tests involving C or C++ libraries you might have to deal
+with tests crashing the process. For this case you max use the boxing
+options::
+
+ py.test --boxed
+
+which will run each test in a subprocess and will report if a test
+crashed the process. You can also combine this option with
+running multiple processes to speed up the test run and use your CPU cores::
+
+ py.test -n3 --boxed
+
+this would run 3 testing subprocesses in parallel which each
+create new boxed subprocesses for each test.
+
+
+.. _`remote machines`:
Sending tests to remote SSH accounts
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
@@ -111,6 +138,8 @@
.. _`atonce`:
+.. _`Multi-Platform`:
+
Running tests on many platforms at once
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Repository URL: https://bitbucket.org/hpk42/pytest-xdist/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
More information about the pytest-commit
mailing list