collective.recipe.funkload

Warning
This product has not had a release in over 1 year and may no longer be maintained.
by Andrew Mleczko last modified Feb 16, 2011 02:15 AM

Makes installing funkload, running tests and generating reports a 'no-brainer'

Project Description

collective.recipe.funkload is a nice and simple recipe that allows easy running of funkload tests and generation of reports on them, running ./bin/funkload bench will run all the funkload tests within the buildout and then autogenerate the html reports for them. Report generation requires gnuplot, currently there is no way to cleanly disable this. The reports and supporting xml is stored in the path pointed to by location in your part (defaults to ./var/funkload). You may also have the reports generated in a different directory using report_destination.

Example usage

In order for this to work its magic you need to set a base URL for the tests to be run on, your buildout part will look something like this:

>>> write('buildout.cfg',
... """
... [buildout]
... parts = test1
... index = http://pypi.python.org/simple
... [test1]
... recipe = collective.recipe.funkload
... url = 127.0.0.1:8080
... """)

Running that buildout gives us the funkload script:

>>> print 'start\n', system(buildout)
start
...
Generated script '/sample-buildout/bin/funkload'.

Which passes the host through to the subcommand handler in the recipe:

>>> import os
>>> script = os.path.join(sample_buildout,'bin','funkload')
>>> print open(script,'r').read()
#!...url="127.0.0.1:8080"...

If you don't specify a URL buildout will fail:

>>> write('buildout.cfg',
... """
... [buildout]
... parts = test1
... index = http://pypi.python.org/simple
... [test1]
... recipe = collective.recipe.funkload
... """)
>>> print 'start\n', system(buildout)
start
...
KeyError: 'You must specify an address to test'

Record

Since version 0.3 you can now use record to create funkload tests even faster:

>>> print system('bin/funkload')
Usage:
bench:  Launch a FunkLoad unit test as load test.
record: Launch a TCPWatch proxy and record activities, then output a
        FunkLoad script or generates a FunkLoad unit test if test_name is specified.
report:  Generate a report from the most recent bench result
test:  Launch a FunkLoad unit test.
<BLANKLINE>
Change history

HISTORY

0.3.1 - 2010-04-19

  • add example usage for PloneFLTestCase [amleczko]
  • pin collective.funkload to version>0.2 [amleczko]

0.3 - 2009-11-23

  • enable test recorder from funkload [amleczko]
  • update doctests [amleczko]

0.2 - 2009-11-01

  • enable funkload bench to run tests in released eggs [toutpt]

0.1 - 2009-08-09

  • Initial release
  • Added funkload script [evilbungle]
  • Added automatic report generation [evilbungle]
Contributors

Alan Hoey, [evilbungle] Tom Lazar, [tomster] Sasha Vincic, [sashav] JeanMichel FRANCOIS [toutpt] Andrew Mleczko, [amleczko]

Download

Self-Certification

[ ] Internationalized

[X] Unit tests

[X] End-user documentation

[ ] Internal documentation (documentation, interfaces, etc.)

[X] Existed and maintained for at least 6 months

[ ] Installs and uninstalls cleanly

[ ] Code structure follows best practice

Current Release
collective.recipe.funkload 0.3.1

Released May 04, 2010

Download file Get collective.recipe.funkload for all platforms
collective.recipe.funkload-0.3.1.tar.gz
If you are using Plone 3.2 or higher, you probably want to install this product with buildout. See our tutorial on installing add-on products with buildout for more information.

All Releases

Version Released Description Compatibility Licenses Status
0.3.1 May 04, 2010 More about this release… ZPL final

Comments (0)