Skip to main content

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

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
collective.recipe.funkload-0.3.1.tar.gz (9.3 kB) Copy SHA256 hash SHA256 Source None May 4, 2010

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 DigiCert DigiCert EV certificate StatusPage StatusPage Status page