[py-svn] r63215 - py/trunk/py/doc
hpk at codespeak.net
hpk at codespeak.net
Mon Mar 23 01:46:23 CET 2009
Author: hpk
Date: Mon Mar 23 01:46:22 2009
New Revision: 63215
Modified:
py/trunk/py/doc/test-dist.txt
py/trunk/py/doc/test-features.txt
Log:
updating test distribution docs.
Modified: py/trunk/py/doc/test-dist.txt
==============================================================================
--- py/trunk/py/doc/test-dist.txt (original)
+++ py/trunk/py/doc/test-dist.txt Mon Mar 23 01:46:22 2009
@@ -7,6 +7,11 @@
are reported back and displayed to your local test session. You may
specify different Python versions and interpreters.
+Synchronisation and running of tests only requires
+a bare Python installation on the remote side. No
+special software is installed - this is realized
+by use of the **zero installation** `py.execnet`_ mechanisms.
+
Speed up test runs by sending tests to multiple CPUs
----------------------------------------------------------
@@ -17,25 +22,27 @@
Especially for longer running tests or tests requiring
a lot of IO this can lead to considerable speed ups.
-Test on a different python version
-----------------------------------------------------------
-To send tests to a python2.4 interpreter process, you may type::
+Running tests in a Python subprocess
+----------------------------------------
+
+To instantiate a python2.4 sub process and send tests to itinterpreter process, you may type::
- py.test --tx popen//python=python2.4
+ py.test -d --tx popen//python=python2.4
This will start a subprocess which is run with the "python2.4"
Python interpreter, found in your system binary lookup path.
-If you prefix the --tx option like this::
+If you prefix the --tx option value like this::
- py.test --tx 3*popen//python=python2.4
+ --tx 3*popen//python=python2.4
-then three subprocesses would be created.
+then three subprocesses would be created and tests
+will be load-balanced across these three processes.
Sending tests to remote SSH accounts
-------------------------------------
+-----------------------------------------------
Suppose you have a package ``mypkg`` which contains some
tests that you can successfully run locally. And you
@@ -51,40 +58,39 @@
You can specify multiple ``--rsyncdir`` directories
to be sent to the remote side.
+
Sending tests to remote Socket Servers
----------------------------------------
Download the single-module `socketserver.py`_ Python program
-and run it on the specified hosts like this::
+and run it like this::
python socketserver.py
-It will tell you that it starts listening. You can now
-on your home machine specify this new socket host
-with something like this::
+It will tell you that it starts listening on the default
+port. You can now on your home machine specify this
+new socket host with something like this::
py.test -d --tx socket=192.168.1.102:8888 --rsyncdir mypkg mypkg
-no remote installation requirements
-++++++++++++++++++++++++++++++++++++++++++++
+Running tests on many platforms at once
+-------------------------------------------------------------
-Synchronisation and running of tests only requires
-a bare Python installation on the remote side. No
-special software is installed - this is realized through the
-*zero installation* principle that the underlying
-`py.execnet`_ mechanisms implements.
+The basic command to run tests on multiple platforms is::
+ py.test --dist=each --tx=spec1 --tx=spec2
-.. _`socketserver.py`: ../execnet/script/socketserver.py
-.. _`py.execnet`: execnet.html
+If you specify a windows host, an OSX host and a Linux
+environment this command will send each tests to all
+platforms - and report back failures from all platforms
+at once. The provided specifications strings
+use the `xspec syntax`_.
-Differences from local tests
-----------------------------
+.. _`xspec syntax`: execnet.html#xspec
-* Test order is rather random (instead of in file order).
-* the test process may hang due to network problems
-* you may not reference files outside of rsynced directory structures
+.. _`socketserver.py`: ../execnet/script/socketserver.py
+.. _`py.execnet`: execnet.html
Specifying test exec environments in a conftest.py
-------------------------------------------------------------
@@ -110,3 +116,4 @@
These directory specifications are relative to the directory
where the ``conftest.py`` is found.
+
Modified: py/trunk/py/doc/test-features.txt
==============================================================================
--- py/trunk/py/doc/test-features.txt (original)
+++ py/trunk/py/doc/test-features.txt Mon Mar 23 01:46:22 2009
@@ -1,7 +1,4 @@
-Basic Features of ``py.test``
-=============================
-
automatic collection of tests on all levels
-------------------------------------------
More information about the pytest-commit
mailing list