Skip to main content
Join the official Python Developers Survey 2018 and win valuable prizes: Start the survey!

ERP5 related utilities.

Project description


Package containing various ERP5 related utilities.

Modules documentation

Module to access TaskDistributionTool, used to run test on several machines
and aggregating results.
Use pydoc to get module documentation and usage example.

API Documentation

You can generate the API documentation using ``epydoc'':

$ epydoc src/erp5


Utility able to call wget and varnishlog to extract Headers and return all failures
according expected caching policy.

This utility is configurable through a configuration file like:

url =
working_directory = /home/me/tmp/crawled_content
varnishlog_binary_path = varnishlog
email_address =
smtp_host = localhost
debug_level = debug

Last-Modified = True
Cache-Control = max-age=300
Vary = Accept-Language, Cookie, Accept-Encoding
Accept-Language, Cookie
Expires = True

[header url=.*/sitemap]
Last-Modified = True

[header content-type=.*/javascript]
Last-Modified = True
Cache-Control = max-age=3600
Expires = True

[no_header content-type=(image/.*|text/css)]
Vary = None

prohibited_file_name_list = WebSection_viewAsWeb
prohibited_folder_name_list = web_page_module

url : website to check
working_directory : fetched data will be downloaded
varnishlog_binary_path : path to varnishlog
email_address : email address to send result
smtp_host : smtp host to use
debug_level : log level of this utility (debug =>very verbose,

header_list : Key == Header id.
value: if equals to True, it means that header needs to be present in RESPONSE
if it is a tuple, the Header value must sastify at least one of the proposed values

erp5_extension_list: Optional section.
prohibited_file_name_list: which check that any links redirect to prohibited forms
like WebSection_viewAsWeb, Base_viewHistory, list, ...
prohibited_folder_name_list: usefull to detect that links does not redirect to
specified modules like, web_page_module, document_module, ...

This utility requires wget => 1.12
And a callable varnishlog.
The utility must be run on same server where varnish is running.

web_checker reads varnishlogs to detect if a Query goes to the backend.


This is an improved version of ZODB's ZODB/scripts/

* faster
* does not require Products.
* display current/old information for each class
* supports csv output by '-c' or '--csv'
* supports using DBM temporary storage to limit memory usage by '-d' or '--dbm', otherwise memory usage is O(n) of number of OIDs.


0.4.34 (2013-04-11)

* erp5.util.testsuite:

- allow to define sub results in tests, like we do for selenium
[Sebastien Robin]

0.4.33 (2013-03-14)

* erp5.util.zodbanalyze:

- Initial version of an improved version of ZODB's ZODB/scripts/
[Kazuhiko Shiozaki]

0.4.32 (2013-03-13)

* erp5.util.testnode:

- add handling of httplib.ResponseNotReady error message [Sebastien Robin]
- do not fail when a different test suite repository branch is specified
[Sebastien Robin]

0.4.31 (2013-03-01)

* erp5.util.testnode:

- after resetting software, retry_software_count was not resetted correctly
[Sebastien Robin]

0.4.30 (2013-02-20)

* erp5.util.testnode:

- keep almost no tmp files, sometimes there is many Gb in /tmp after
one day [Sebastien Robin]

0.4.29 (2013-02-20)

* erp5.util.testnode:

- make it able to resist to problems with slapos proxy when building
software [Sebastien Robin]

0.4.28 (2013-02-19)

* erp5.util.testnode:

- make it able to resist to problems with slapos proxy [Sebastien Robin]

0.4.27 (2013-02-15)

* erp5.util.testnode:

- testnode was still sometimes logging at several files at a time
[Sebastien Robin]

0.4.26 (2013-02-14)

* erp5.util.testnode:

- do not reraise OSError when cleaning temp files

0.4.25 (2013-02-11)

* erp5.util.testnode:

- close all timers when quitting, this makes stopping an erp5tetsnode
much faster [Sebastien Robin]
- remove hack on slapos/testnode after fix of slapos.cookbook [Sebastien Robin]
- remove old tmp files left by buildout (buildout has te bo fixed too)
[Sebastien Robin]
- remove logging handlers where the are not needed any more [Sebastien Robin]
- fixed the kill command, it was not able to kill properly childs [Sebastien Robin]

0.4.24 (2013-02-11)

* erp5.util.testnode:

- Fixed wrong location for the construction os test suite software
[Sebastien Robin]

0.4.23 (2013-02-11)

* erp5.util.testnode:

- Make erp5testnode allow remote access to test suite logs instead of
uploading them to master [Tatuya Kamada], [Sebastien Robin]

0.4.22 (2013-01-08)

* erp5.util.taskdistribution:

- fix regression when used on Python < 2.7

0.4.21 (2013-01-07)

* erp5.util.taskdistribution:

- really fix lock to avoid errors with concurrent RPC calls

* erp5.util.testnode:

- do not run test suites on deleted branches

0.4.20 (2012-12-19)

* erp5.util.testnode:

- Make sure to kill grandchilds when killing a process [Sebastien Robin]

0.4.19 (2012-12-17)

* erp5.util.testnode:

- Fixed undefined variable [Sebastien Robin]

0.4.18 (2012-12-14)

* erp5.util.testnode:

- Solve ascii issues when deleting software [Sebastien Robin]

0.4.17 (2012-12-10)

* erp5.util.testnode:

- Add thread Timer to terminate locked processes [Sebastien Robin]
- Add more unit tests [Pere Cortes]

0.4.16 (2012-11-14)

* erp5.util.testnode:

- Improve handling of Xvfb and firefox [Sebastien Robin]
- check supported parameters of runTestSuite [Pere Cortes]
- add unit for runTestSuite [Pere Cortes]

0.4.15 (2012-11-07)

* erp5.util.testnode:

- fixed profile generation when software repos is not defined first
[Sebastien Robin]
- ask wich test has priority to master more often [Sebastien Robin]

0.4.14 (2012-11-05)

* erp5.util.testnode:

- force rebuilding software to avoid using old soft/code [Sebastien Robin]

* erp5.util.taskdistribution:

- handle another possible error with master [Sebastien Robin]

0.4.13 (2012-10-31)

* erp5.util.testnode:

- Add unit test for erp5testnode (with some hardcoded path that
needs to be fixed ASAP) [Sebastien Robin]
- Split long functions into several more simple ones for code
simplicity and readability [Sebastien Robin]

0.4.12 (2012-10-25)

* erp5.util.testnode:

- Fixed several issues introduced by the management of test
suite by the master [Sebastien Robin]

0.4.11 (2012-10-22)

* erp5.util.testnode:

- Take test suite parameters from the master, to allow distribution
of the work by the master [Pere Cortes], [Sebastien Robin]

0.4.10 (2012-10-01)

* erp5.util.testnode:

- Allow to use a firefox built by testnode for
functional tests [Gabriel Monnerat]

0.4.9 (2012-10-01)

* erp5.util.testnode:

- remove --now parameter when calling slapgrid-sr since
it is not yet well supported [Sebastien Robin]

0.4.8 (2012-09-27)

* erp5.util.testnode:

- use taskdistribution module to reduce code
[Vincent Pelletier], [Pere Cortes]

0.4.7 (2012-09-03)

* erp5.util.taskdistribution:

- work around test lines acquiring values from parent when no value is
provided. [Vincent Pelletier]
- fix a regression introduced in 0.4.6 which allowed parallel XMLRPC calls,
which is not supported. [Rafael Monnerat]

* erp5.util.benchmark:

- check whether at least one result file could be found when generating a
scalability report. [Arnaud Fontaine]
- make sure that diagram bars are properly aligned in scalability test
report. [Arnaud Fontaine]

* erp5.util.testsuite:

- new module [Rafael Monnerat]

0.4.6 (2012-08-10)

* erp5.util.taskdistribution:

- set socket timeout for RPC calls to prevent a deadlock happens.
[Rafael Monnerat]

0.4.5 (2012-07-04)

* erp5.util.taskdistribution:

- xmlrpclib does not support named parameters, use positional ones
[Vincent Pelletier]

0.4.4 (2012-07-04)

* erp5.util.taskdistribution:

- New module [Vincent Pelletier]

0.4.3 (2012-04-24)

* erp5.util.testnode:

- Improve detection of the cancellation of a test on the master
- better management of SIGTERM signal
- cleanup test instances to make sure nothing stay from a previous
test run

0.4.2 (2012-04-11)

* erp5.util.testnode:

- Improve testnode logs
- add a thread to upload ongoing logs to the master regularly
- if the software release is not built successfully after a
few time, totally erase software. This help unblocking if
buildout is unable to update software.
- check if the last test result was cancelled in order to
allow relaunching test without restarting testnode

0.4.1 (2012-02-29)

* erp5.util.testnode:

- Improve testnode's reliability when contacting remote master
- Try to build software releases multiple times before giving up

0.3 (2011-12-23)

* erp5.util.webchecker:

- Imported from
Utility to check caching policy of websites

* erp5.util.testnode:

- improve logging [Sebastien Robin]
- fix passing bt5_path [Gabriel Monnerat]
- fix profile_path concatenation [Nicolas Delaby]
- fix git updating and parsing repository paths [Julien Muchembled]

* erp5.util.benchmark:

- new utility, work in progress [Arnaud Fontaine]

0.2 (2011-09-20)

* Imported from

- erp5.util.test_browser:
Programmable browser for functional and performance tests for ERP5
- erp5.util.benchmark:
Performance benchmarks for ERP5 with erp5.utils.test_browser

0.1 (2011-08-08)

* erp5.util.testnode imported from recipe-like slapos.cookbook
[Łukasz Nowak]

Project details

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
erp5.util-0.4.34.tar.gz (74.3 kB) Copy SHA256 hash SHA256 Source None Apr 11, 2013

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page