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>=0.4.6
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 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 = 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.
–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).
License
haufe.testrunner is licensed under the Zope Public License 2.1.
See the included ZPL.txt file.
Contact
Changes:
0.6.10 (15.12.2010)
support for ‘sender_address’ option
0.6.9 (03.02.2009)
relaxed SQLAlchemy version pinning
‘support_zope28’ compatiblity option
0.6.8.3 (10.11.2008)
‘logdata’ is now ascii-only
0.6.8.2 (23.10.2008)
fixed a potential bug with logdata having a different encoding than the database encoding
0.6.8.1 (12.09.2008)
pinned SQLAlchemy to 0.4.7p1, cause of error in db connection
0.6.8 (15.07.2008)
fixed orphan handling issue in formatter.py
0.6.7 (10.07.2008)
fixed handling of ‘tests_failed’ causing false mail alerts
0.6.6 (04.07.2008)
simplified code for removing a complete testrunner and all associated rows
0.6.5 (03.07.2008)
changed orphan handling
0.6.4 (03.07.2008)
fix in db purging code
0.6.3 (01.07.2008)
fixed dependencies
0.6.1 (01.07.2008)
import cleanup
added -x option to htr_bootstrap for removing a testrunner and all associated runs and results
0.6.0 (27.06.2008)
first public release
0.5.6.2 (26.06.2008)
opps…no pdb please
0.5.6.1 (26.06.2008)
a few fixes concerning RSS
0.5.6 (26.06.2008)
removed HTML mails
reports are no longer generated on the filesystem (DB only!)
adjustments to Grok-based web-frontend
0.5.5 (25.06.2008)
added cascade constraints
0.5.4 (25.06.2008)
refactored logfile parsing a bit
fixed issues with the ‘tests_ok’ flag
0.5.3 (24.06.2008)
minor regex fixes
0.5.2 (24.06.2008)
typos
0.5.1 (24.06.2008)
some internal fixes for getting the bootstrap code working
0.5.0 (24.06.2008)
compatibility with Zope 2.11 and zc.buildout
removed z3c.sqlalchemy dependency
using SQLAlchemy > 0.4.0 directly (declarative layer)
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.