Package: haufe.testrunner
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).RequirementsSQLAlchemy>=0.4.6Installationhaufe.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 installor by easy_install’ing directly from the repository:easy_install svn+ssh://svn.haufe.de/VCS/svnrep/svnep/HaufeComponents/haufe.testrunner/trunk haufe.testrunneror it can be installed from an existing egg using easy_install:easy_install haufe.runner-x.y.z.eggEnsure 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.testrunnerhaufe.testrunner will install a command-line skripthtr.htrrequires
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
packages = Products.PageTemplates,
           Products.HaufePortlet,
           zope.component

# 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

# sender email address
sender_address = noreply@foo.org

# 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
#runner_options=-s -a

# 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 = 22222Start haufe.testrunner using:htr --conf /path/to/yourconfigThe optional options –mail and –rss control the generation of mail
notifications and a RSS feed. If you specify –update then haufe.testrunner
will update yourProducts,lib/pythonandBasedirectory before
running the tests.–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 -dtThe database must be specified using the environment variable TESTING_DSN,
e.g.:export TESTING_DSN=postgres://username:password@dbhost/TestrunnerDBFor storing the results within the database pass the –db option to thehtrscript.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).Authorhaufe.testrunnerwas written by Andreas Jung for Haufe Mediengruppe, Freiburg, Germany
and ZOPYX Ltd. & Co. KG, Tuebingen, Germany.Licensehaufe.testrunneris licensed under the Zope Public License 2.1.See the included ZPL.txt file.ContactZOPYX Ltd. & Co. KGAndreas JungCharlottenstr. 37/1D-72070 Tuebingen, GermanyE-mail: info at zopyx dot comWeb:http://www.zopyx.comChanges:0.6.13 (12.05.2011)‘support_zope213’ compatibility option0.6.12 (11.01.2011)fixed syntax error in setup.py0.6.10 (15.12.2010)support for ‘sender_address’ option0.6.9 (03.02.2009)relaxed SQLAlchemy version pinning‘support_zope28’ compatiblity option0.6.8.3 (10.11.2008)‘logdata’ is now ascii-only0.6.8.2 (23.10.2008)fixed a potential bug with logdata having a different encoding
than the database encoding0.6.8.1 (12.09.2008)pinned SQLAlchemy to 0.4.7p1, cause of error in db connection0.6.8 (15.07.2008)fixed orphan handling issue in formatter.py0.6.7 (10.07.2008)fixed handling of ‘tests_failed’ causing false mail alerts0.6.6 (04.07.2008)simplified code for removing a complete testrunner
and all associated rows0.6.5 (03.07.2008)changed orphan handling0.6.4 (03.07.2008)fix in db purging code0.6.3 (01.07.2008)fixed dependencies0.6.1 (01.07.2008)import cleanupadded -x option to htr_bootstrap for removing a testrunner
and all associated runs and results0.6.0 (27.06.2008)first public release0.5.6.2 (26.06.2008)opps…no pdb please0.5.6.1 (26.06.2008)a few fixes concerning RSS0.5.6 (26.06.2008)removed HTML mailsreports are no longer generated on the filesystem (DB only!)adjustments to Grok-based web-frontend0.5.5 (25.06.2008)added cascade constraints0.5.4 (25.06.2008)refactored logfile parsing a bitfixed issues with the ‘tests_ok’ flag0.5.3 (24.06.2008)minor regex fixes0.5.2 (24.06.2008)typos0.5.1 (24.06.2008)some internal fixes for getting the bootstrap code
working0.5.0 (24.06.2008)compatibility with Zope 2.11 and zc.buildoutremoved z3c.sqlalchemy dependencyusing SQLAlchemy > 0.4.0 directly (declarative layer)0.3.16 (20.06.2008)fixed version0.3.15 (19.06.2008)added optional optionrunner_optionsfirst parameter used for
package it should be–listdiror-s0.3.14 (19.06.2008)added optional optionzope_startdefault is set to zopectladded to option tests support forn0.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’ column0.3.11 (23.04.2008)bugfix in regular expressions0.3.10 (21.04.2008)typo0.3.9 (18.04.2008)fix in logfile parser code0.3.8 (16.04.2008)updated documentation0.3.7 (26.03.2008)resolved upload conflict0.3.6 (26.03.2008)reST fixes0.3.5 (23.01.2008)compatibility with SQLAlchemy 0.4.2unicode fixes0.3.5 (10.12.2007)compatibility with SQLAlchemy 0.4.10.3.4 (31.10.2007)compatibility with SQLAlchemy 0.40.3.3 (01.09.2007)–restart option addedsupport for integration_tests option0.3.2 (21.09.2007)support for coveragesupport for Seleniumoptional 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 basis0.3.1 (07.09.2007)added run.hostname, run.ipaddress0.3.0 (06.09.2007)DB support0.2.1 (29.8.2007)–mail-with-html optionexclude HTML from mail0.2.0 (29.8.2007)various minor glitchesshould be production ready now0.1.7 (29.8.2007)CSS support0.1.6 (29.8.2007)must pass a list of email addresses to sendmail()including report within RSS description0.1.4 (27.8.2007)fixes0.1.3 (27.8.2007)error fixesREADME.txtmore checks0.1.2 (26.8.2007)some fixes0.1.1 (26.8.2007)RSS support0.1.0 (25.8.2007)initial release