1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148
|
#! /usr/bin/env python
# (C) Copyright 2005 Nuxeo SAS <http://nuxeo.com>
# Author: bdelbosc@nuxeo.com
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as published
# by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
#
#
"""FunkLoad package setup
$Id: setup.py 24768 2005-08-31 14:01:05Z bdelbosc $
"""
import ez_setup
ez_setup.use_setuptools()
from setuptools import setup, find_packages
#from distutils.core import setup
from funkload.version import __version__
setup(
name="funkload",
version=__version__,
description="Functional and load web tester.",
long_description="""\
FunkLoad is a functional and load web tester, written in Python, whose
main use cases are:
* Functional testing of web projects, and thus regression testing as well.
* Performance testing: by loading the web application and monitoring
your servers it helps you to pinpoint bottlenecks, giving a detailed
report of performance measurement.
* Load testing tool to expose bugs that do not surface in cursory testing,
like volume testing or longevity testing.
* Stress testing tool to overwhelm the web application resources and test
the application recoverability.
* Writing web agents by scripting any web repetitive task, like checking if
a site is alive.
Main FunkLoad features are:
* FunkLoad is free software distributed under the `GNU GPL`.
* Functional test are pure Python scripts using the pyUnit framework like
normal unit test. Python enable complex scenarios to handle real world
applications.
* Truly emulates a web browser (single-threaded) using Richard Jones'
webunit:
- basic authentication support
- cookies support
- referrer support
- http proxy support
- fetching css, javascript and images
- emulating a browser cache
- file upload and multipart/form-data submission
- https support
* Advanced test runner with many command-line options:
- set the target server url
- display the fetched page in real time in your browser
- debug mode
- green/red color mode
- select test case using a regex
- support normal pyUnit test
- support doctest from a plain text file or embedded in python docstring
* Turn a functional test into a load test: just by invoking the bench runner
you can identify scalability and performance problems.
* Detailed bench reports in ReST or HTML (and PDF via ps2pdf)
containing:
- the bench configuration
- tests, pages, requests stats and charts with percentiles.
- the 5 slowest requests.
- servers cpu usage, load average, memory/swap usage and network traffic
charts.
- an http error summary list
* Easy test customization using a configuration file or command line options.
* Easy test creation using TCPWatch as proxy recorder, so you can use your web
browser and produce a FunkLoad test automatically.
* Provides web assertion helpers.
* Provides a funkload.CPSTestCase to ease Zope and Nuxeo CPS testing.
* Easy to install (EasyInstall) and use, see examples in the demo folder.
""",
author="Benoit Delbosc",
author_email="bdelbosc@nuxeo.com",
url="http://funkload.nuxeo.org/",
download_url="http://funkload.nuxeo.org/funkload-%s.tar.gz"%__version__,
license='GPL',
keywords='testing benching load performance functional monitoring',
packages= ['funkload'],
package_dir={'funkload': 'funkload'},
scripts=['scripts/fl-monitor-ctl', 'scripts/fl-credential-ctl',
'scripts/fl-run-bench', 'scripts/fl-run-test',
'scripts/fl-build-report',
'scripts/fl-import-from-tm-recorder',
'scripts/fl-install-demo',
'scripts/fl-record'],
classifiers=[
'Development Status :: 4 - Beta',
'Environment :: Console',
'Intended Audience :: Developers',
'Intended Audience :: System Administrators',
'Natural Language :: English',
'License :: OSI Approved :: GNU General Public License (GPL)',
'Operating System :: OS Independent',
'Programming Language :: Python',
'Topic :: Internet :: WWW/HTTP :: Site Management',
'Topic :: Software Development :: Testing',
'Topic :: Software Development :: Quality Assurance',
'Topic :: System :: Benchmark',
'Topic :: System :: Monitoring',
],
# setuptools specific keywords
install_requires = ['webunit == 1.3.8',
'docutils >= 0.3.7'],
zip_safe=True,
package_data={'funkload': ['data/*',
'demo/simple/*', 'demo/zope/*',
'demo/cmf/*', 'demo/xmlrpc/*',
'demo/*.txt',
'tests/*',]},
# this test suite works only on an installed version :(
# test_suite = "funkload.tests.test_Install.test_suite",
)
|