Skip to main content

A wrapper for the Zope testrunner providing email support, HTML generation and RSS support

Project description

haufe.testrunner (HTR)
======================

haufe.testrunner is a wrapper around the standard Zope 2 testrunner (usually
started using "zopectl test...". haufe.testrunner is designed to run regular
tests for different Zope configurations or sandboxes. It supports a
configurable testing environment, reporting in plain text or HTML, email
notifications and RSS. haufe.testrunner is basically designed to be run
through cron in order to test ongoing projects (continues integration).

Requirements
------------

- SQLAlchemy
- z3c.sqlalchemy


Installation
------------

haufe.testrunner is available directly from the HaufeComponents repository::

svn co svn+ssh://svn.haufe.de/VCS/svnrep/svnep/HaufeComponents/haufe.testrunner/trunk haufe.testrunner
python2.4 setup.py install

or by easy_install'ing directly from the repository::

easy_install svn+ssh://svn.haufe.de/VCS/svnrep/svnep/HaufeComponents/haufe.testrunner/trunk haufe.testrunner


or it can be installed from an existing egg using easy_install::

easy_install haufe.runner-x.y.z.egg

Ensure that your PYTHONPATH is set properly and included
$SOFTWARE_HOME/lib/python (in order to import zope.component and other Zope 3
related modules properly)


Using haufe.testrunner
----------------------

haufe.testrunner will install a command-line skript ``htr``. ``htr`` requires
a configuration file that defines your testing environment.

Example::


[default]

# Path to instance home of sandbox
sandbox=/home/ajung/sandboxes/Zope-2.8/Zope

# unique string for the sandbox (used for mail, reports)
ident=Zope-HEAD

# comma-seperated list of products or packages to be tested
tests=Products/PageTemplates, Products/HaufePortlet

# comma-seperated list of email addresses to send positive emails
email_ok=foo@bar.org

# comma-seperated list of email addresses to send negative emails
email_failure=foo@bar.org

# Base URL of the webserver pointing to your sandbox
base_url=http://zopedev2/zopeDominoTesting

# run testrunner with coverage option (optional, default: no coverage)
coverage = 1

# Database DSN
dsn = postgres://user:password@host/dbname

# optional support for integration tests:
# (the test_suite() method must check the environment variable
# $INTEGRATION_TESTS).
integration_tests = 1

# optional name for zope start script default ist set to 'zopectl`
zope_start=zopectl

# optional paramter to set test options
# first parameter is used for package it shoud be `--listdir` or `-s`
#runner_options=-s, -v, --foo=bar, --bar foo

# For Selenium tests (optional) we use a dedicated [selenium] section
[selenium]

# hostname where the Selenium RC server is running
testrunner_host = hostname

# port number of the Selenium RC server
testrunner_port = 4444

# instance_url - the given URL is exposed to selenium testcases derived
# from haufe.selenium.SeleniumTestcase as self.instance_url. This allows
# you to run Selenium tests against different remote servers
instance_url = http://zopedev2:16180


# For integration tests we can run the tests against an existing ZEO server
# instead of using DemoStorage
[zeo]
host = zopedev2
port = 22222



Start haufe.testrunner using::

htr --conf /path/to/yourconfig

The optional options --mail and --rss control the generation of mail
notifications and a RSS feed. If you specify --update then haufe.testrunner
will update your **Products**, **lib/python** and **Base** directory before
running the tests.

The --stylesheet option allows you to specifiy an URL to a custom stylesheet
for rendering the HTML report (a default stylesheet will be applied otherwise).

--mail-with-html includes the HTML report within the notification email.

--clean will remove directories with testrunner logs that are older than one
week

--db will save all results within a database (see below)


Database integration:
---------------------

All results can be optionally stored within a relational database
(for external reporting, RSS feeds, webfrontend etc.).

Creating the database::

htr_bootstrap -dt

The database must be specified using the environment variable TESTING_DSN,
e.g.::

export TESTING_DSN=postgres://username:password@dbhost/TestrunnerDB

For storing the results within the database pass the --db option to the
``htr`` script.

The DSN can also specified using the 'dsn' option within the configuration
file (see above).

You need to create the database first by calling the htr_bootstrap script first
(see above).


Internals
---------

HTR will create a ``logs`` directory within the instance home for saving the
generated reports and testing logs. ``$INSTANCE_HOME/logs/index.rss`` will be
created automatically if you run ``htr`` with the --rss option. The webserver
must be configured to send the right RSS HTTP headers for .rss files.

Changes:
========

0.3.17 (21.08.2008)
==================
- links are now like in new version of htr

0.3.16 (20.06.2008)
==================
- fixed version

0.3.15 (19.06.2008)
==================
- added optional option `runner_options` first parameter used for
package it should be `--listdir` or `-s`

0.3.14 (19.06.2008)
==================
- added optional option `zope_start` default is set to zopectl
- added to option tests support for `\n`

0.3.13 (05.05.2008)
==================

- added support for several instance_urlXXX' options in section [selenium]
- added option testrunner_https_port in section [selenium]

0.3.12 (unreleased)
==================

- added 'logdata' column

0.3.11 (23.04.2008)
==================

- bugfix in regular expressions

0.3.10 (21.04.2008)
==================

- typo

0.3.9 (18.04.2008)
==================

- fix in logfile parser code

0.3.8 (16.04.2008)
==================

- updated documentation


0.3.7 (26.03.2008)
==================

- resolved upload conflict

0.3.6 (26.03.2008)
==================

- reST fixes

0.3.5 (23.01.2008)
==================

- compatibility with SQLAlchemy 0.4.2

- unicode fixes

0.3.5 (10.12.2007)
==================

- compatibility with SQLAlchemy 0.4.1

0.3.4 (31.10.2007)
==================

- compatibility with SQLAlchemy 0.4

0.3.3 (01.09.2007)
==================

- --restart option added
- support for integration_tests option


0.3.2 (21.09.2007)
==================

- support for coverage
- support for Selenium
- optional support for running the testrunner
against an exisiting ZEO server (using the [zeo]
section within the testrunner configuration file)
- determining repos_type on a per-directory basis


0.3.1 (07.09.2007)
==================

- added run.hostname, run.ipaddress

0.3.0 (06.09.2007)
==================

- DB support

0.2.1 (29.8.2007)
==================

- --mail-with-html option
- exclude HTML from mail

0.2.0 (29.8.2007)
==================

- various minor glitches
- should be production ready now

0.1.7 (29.8.2007)
==================

- CSS support

0.1.6 (29.8.2007)
==================

- must pass a list of email addresses to sendmail()

==================

- including report within RSS description

0.1.4 (27.8.2007)
==================

- fixes

0.1.3 (27.8.2007)
==================

- error fixes
- README.txt
- more checks

0.1.2 (26.8.2007)
==================

- some fixes

0.1.1 (26.8.2007)
==================

- RSS support

0.1.0 (25.8.2007)
==================

- initial release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

haufe.testrunner-0.3.17.tar.gz (12.6 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page