[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