Edgewall Software

Trac Functional Tests

Automated functional tests are integrated in the test suite (see TracDev/UnitTests). They are formed by executing a series of unit tests. For detailed informations about functional tests, see:

These functional tests do not replace manual testing.

Extra dependencies

  • twill — simple scripting language for Web browsing
  • lxml — used for XHTML validation

Those packages can be installed with pip:

pip install twill==0.9.1
pip install lxml

Note that one test requires that the svn program can be executed.

Windows specific dependencies

There's an additional dependency on Windows:

The usual install method will work:

pip install http://www.carey.geek.nz/code/python-fcrypt/fcrypt-1.3.1.tar.gz
pip install passlib

If fcrypt is not installed, you will get the following error when running the tests with Trac 0.12 - 1.0:

Warning: cannot parse password for user "crypt" without the "crypt" module

or this warning starting with Trac 1.2:

The crypt module is not found. Install the passlib package from PyPI.

lxml on Windows

pip install lxml should just work. (Since lxml 3.4, pre-compiled binaries are available as wheels. Before lxml 3.4, pip tried installing from source releases which require more dependencies like Cython, libxml2 and libxslt, which can be difficult to install on Windows.)

Running the tests

To run the functional tests, execute:

PYTHONPATH=. python ./trac/tests/functional/__init__.py


make functional-test

This is starting from Trac 0.12, as Trac 0.11 has no Makefile.

Discussion / Feedback

Something to consider here: using twill's wsgi_intercept capability, and making these part of the unit tests.

Last modified 9 days ago Last modified on Apr 17, 2017, 6:44:24 PM

Attachments (1)

  • 244-for-23.zip (61.8 KB ) - added by Christian Boos 8 years ago. Set of files from the Python 2.4.4 standard library needed for running the functional tests with Python 2.3

Download all attachments as: .zip