Version 11 (modified by exarkun, 4 years ago) (diff)


A build slave which is to run the Twisted test suite on a particular platform or in a particular configuration needs the following software:

  • Python
    • On Debian, the python-profiler package should also be installed.
    • On platforms where the Python headers are separated from the main Python package, these should also be installed (usually python-dev or python-devel).
  • A C compiler which can build Python extension modules (On POSIX, this usually means gcc; on Windows, some version of Visual Studio, depending on which version of Python is installed)
  • BuildBot
  • subversion
  • bazaar
  • bzr-svn
  • subvertpy
  • python-tdb

As well as all (or as many as possible) of the libraries Twisted depends on:

  • PyCrypto (Debian package python-crypto)
  • pyOpenSSL (depends on OpenSSL) (Debian package python-pyopenssl)
  • pyasn1 (Debian package python-pyasn1)
  • gmpy (depends on GMP) (Debian package python-gmpy)
  • SOAPpy (Debian package python-soappy)
  • pygtk (depends on gtk2) (Debian package python-gtk2)
  • subunit (Debian package python-subunit)

A build slave needs authentication credentials in order to be allowed to connect to the build master. Credentials can be obtained by emailing twisted dash python at twisted matrix dot com and expressing interest in running a slave.

Unfortunately a few tests in Twisted's test suite will fail if certain guarantees are not made by the environment. For example, the multicast tests try to use the actual network stack to send multicast packets. Here are some things that are known about this:

  • For the multicast tests to pass, multicast packets must be routable over localhost.
    • On OS X, this means "Internet Sharing" must be disabled
    • Some Linux distributions have a default iptables rule to drop multicast traffic, or require an explicit iptables rule to allow it.