2007-03-07 05:11:12 +08:00
|
|
|
|
|
|
|
# -*- coding: utf-8 -*-
|
2007-02-13 00:42:53 +08:00
|
|
|
"""
|
2009-05-21 22:16:22 +08:00
|
|
|
advanced testing and development support library:
|
2008-08-21 18:18:58 +08:00
|
|
|
|
|
|
|
- `py.test`_: cross-project testing tool with many advanced features
|
|
|
|
- `py.execnet`_: ad-hoc code distribution to SSH, Socket and local sub processes
|
|
|
|
- `py.path`_: path abstractions over local and subversion files
|
|
|
|
- `py.code`_: dynamic code compile and traceback printing support
|
|
|
|
|
2009-05-21 22:16:22 +08:00
|
|
|
Compatibility: Linux, Win32, OSX, Python versions 2.3-2.6.
|
|
|
|
For questions please check out http://pylib.org/contact.html
|
2008-08-21 18:18:58 +08:00
|
|
|
|
|
|
|
.. _`py.test`: http://pylib.org/test.html
|
|
|
|
.. _`py.execnet`: http://pylib.org/execnet.html
|
|
|
|
.. _`py.path`: http://pylib.org/path.html
|
|
|
|
.. _`py.code`: http://pylib.org/code.html
|
|
|
|
|
2007-01-24 22:24:01 +08:00
|
|
|
"""
|
2009-08-21 01:43:13 +08:00
|
|
|
from py.initpkg import initpkg
|
2009-08-20 22:41:44 +08:00
|
|
|
trunk = "trunk"
|
2007-01-24 22:24:01 +08:00
|
|
|
|
2009-08-27 17:50:17 +08:00
|
|
|
version = trunk or "1.0.x"
|
|
|
|
|
|
|
|
del trunk
|
2007-01-24 22:24:01 +08:00
|
|
|
|
|
|
|
initpkg(__name__,
|
2009-05-21 22:16:22 +08:00
|
|
|
description = "py.test and pylib: advanced testing tool and networking lib",
|
2007-01-24 22:24:01 +08:00
|
|
|
version = version,
|
2008-08-18 23:08:39 +08:00
|
|
|
url = "http://pylib.org",
|
2007-01-24 22:24:01 +08:00
|
|
|
license = "MIT license",
|
2008-08-18 23:08:39 +08:00
|
|
|
platforms = ['unix', 'linux', 'osx', 'cygwin', 'win32'],
|
|
|
|
author = "holger krekel, Guido Wesdorp, Carl Friedrich Bolz, Armin Rigo, Maciej Fijalkowski & others",
|
|
|
|
author_email = "holger at merlinux.eu, py-dev at codespeak.net",
|
2007-01-24 22:24:01 +08:00
|
|
|
long_description = globals()['__doc__'],
|
2008-08-18 23:08:39 +08:00
|
|
|
classifiers = [
|
2009-08-04 18:02:38 +08:00
|
|
|
"Development Status :: 5 - Production/Stable",
|
2008-08-18 23:08:39 +08:00
|
|
|
"Intended Audience :: Developers",
|
|
|
|
"License :: OSI Approved :: MIT License",
|
|
|
|
"Operating System :: POSIX",
|
|
|
|
"Operating System :: Microsoft :: Windows",
|
|
|
|
"Operating System :: MacOS :: MacOS X",
|
|
|
|
"Topic :: Software Development :: Testing",
|
|
|
|
"Topic :: Software Development :: Libraries",
|
|
|
|
"Topic :: System :: Distributed Computing",
|
|
|
|
"Topic :: Utilities",
|
|
|
|
"Programming Language :: Python",
|
|
|
|
],
|
|
|
|
|
2007-02-11 19:53:42 +08:00
|
|
|
# EXPORTED API
|
2007-01-24 22:24:01 +08:00
|
|
|
exportdefs = {
|
2009-02-27 18:18:27 +08:00
|
|
|
|
|
|
|
# py lib events and plugins
|
2009-05-08 00:01:53 +08:00
|
|
|
'_com.Registry' : ('./_com.py', 'Registry'),
|
2009-02-27 18:18:27 +08:00
|
|
|
'_com.MultiCall' : ('./_com.py', 'MultiCall'),
|
2009-05-08 00:01:53 +08:00
|
|
|
'_com.comregistry' : ('./_com.py', 'comregistry'),
|
2009-08-10 05:51:25 +08:00
|
|
|
'_com.HookRelay' : ('./_com.py', 'HookRelay'),
|
2009-02-27 18:18:27 +08:00
|
|
|
|
2008-08-21 18:18:58 +08:00
|
|
|
# py lib cmdline tools
|
|
|
|
'cmdline.pytest' : ('./cmdline/pytest.py', 'main',),
|
|
|
|
'cmdline.pyrest' : ('./cmdline/pyrest.py', 'main',),
|
|
|
|
'cmdline.pylookup' : ('./cmdline/pylookup.py', 'main',),
|
|
|
|
'cmdline.pycountloc' : ('./cmdline/pycountloc.py', 'main',),
|
|
|
|
'cmdline.pycleanup' : ('./cmdline/pycleanup.py', 'main',),
|
2008-08-21 21:25:29 +08:00
|
|
|
'cmdline.pywhich' : ('./cmdline/pywhich.py', 'main',),
|
2008-09-17 16:50:04 +08:00
|
|
|
'cmdline.pysvnwcrevert' : ('./cmdline/pysvnwcrevert.py', 'main',),
|
2009-08-21 18:56:43 +08:00
|
|
|
'cmdline.pyconvert_unittest' : ('./cmdline/pyconvert_unittest.py', 'main',),
|
2008-08-21 18:18:58 +08:00
|
|
|
|
2007-01-24 22:24:01 +08:00
|
|
|
# helpers for use from test functions or collectors
|
2007-02-04 22:27:10 +08:00
|
|
|
'test.__doc__' : ('./test/__init__.py', '__doc__'),
|
2009-04-09 22:21:07 +08:00
|
|
|
'test._PluginManager' : ('./test/pluginmanager.py', 'PluginManager'),
|
2008-08-16 23:26:59 +08:00
|
|
|
'test.raises' : ('./test/outcome.py', 'raises'),
|
|
|
|
'test.skip' : ('./test/outcome.py', 'skip'),
|
2008-09-21 23:15:28 +08:00
|
|
|
'test.importorskip' : ('./test/outcome.py', 'importorskip'),
|
2008-08-16 23:26:59 +08:00
|
|
|
'test.fail' : ('./test/outcome.py', 'fail'),
|
|
|
|
'test.exit' : ('./test/outcome.py', 'exit'),
|
2007-01-24 22:24:01 +08:00
|
|
|
|
|
|
|
# configuration/initialization related test api
|
2007-01-25 00:46:46 +08:00
|
|
|
'test.config' : ('./test/config.py', 'config_per_process'),
|
2007-01-24 22:24:01 +08:00
|
|
|
'test.ensuretemp' : ('./test/config.py', 'ensuretemp'),
|
|
|
|
'test.cmdline.main' : ('./test/cmdline.py', 'main'),
|
|
|
|
|
|
|
|
# for customization of collecting/running tests
|
|
|
|
'test.collect.Collector' : ('./test/collect.py', 'Collector'),
|
|
|
|
'test.collect.Directory' : ('./test/collect.py', 'Directory'),
|
2008-09-02 20:24:15 +08:00
|
|
|
'test.collect.File' : ('./test/collect.py', 'File'),
|
|
|
|
'test.collect.Item' : ('./test/collect.py', 'Item'),
|
2008-08-16 23:26:59 +08:00
|
|
|
'test.collect.Module' : ('./test/pycollect.py', 'Module'),
|
|
|
|
'test.collect.Class' : ('./test/pycollect.py', 'Class'),
|
|
|
|
'test.collect.Instance' : ('./test/pycollect.py', 'Instance'),
|
|
|
|
'test.collect.Generator' : ('./test/pycollect.py', 'Generator'),
|
|
|
|
'test.collect.Function' : ('./test/pycollect.py', 'Function'),
|
2009-05-22 01:36:02 +08:00
|
|
|
'test.collect._fillfuncargs' : ('./test/funcargs.py', 'fillfuncargs'),
|
2007-01-24 22:24:01 +08:00
|
|
|
|
|
|
|
# thread related API (still in early design phase)
|
|
|
|
'_thread.WorkerPool' : ('./thread/pool.py', 'WorkerPool'),
|
|
|
|
'_thread.NamedThreadPool' : ('./thread/pool.py', 'NamedThreadPool'),
|
|
|
|
'_thread.ThreadOut' : ('./thread/io.py', 'ThreadOut'),
|
|
|
|
|
|
|
|
# hook into the top-level standard library
|
2009-08-25 22:14:15 +08:00
|
|
|
'std' : ('./std.py', 'std'),
|
2007-01-24 22:24:01 +08:00
|
|
|
|
2007-02-04 22:27:10 +08:00
|
|
|
'process.__doc__' : ('./process/__init__.py', '__doc__'),
|
2007-01-24 22:24:01 +08:00
|
|
|
'process.cmdexec' : ('./process/cmdexec.py', 'cmdexec'),
|
2008-09-23 22:28:13 +08:00
|
|
|
'process.kill' : ('./process/killproc.py', 'kill'),
|
2008-08-21 20:12:20 +08:00
|
|
|
'process.ForkedFunc' : ('./process/forkedfunc.py', 'ForkedFunc'),
|
2007-01-24 22:24:01 +08:00
|
|
|
|
2007-02-04 22:27:10 +08:00
|
|
|
# path implementation
|
|
|
|
'path.__doc__' : ('./path/__init__.py', '__doc__'),
|
2009-08-21 02:35:35 +08:00
|
|
|
'path.svnwc' : ('./path/svnwc.py', 'SvnWCCommandPath'),
|
|
|
|
'path.svnurl' : ('./path/svnurl.py', 'SvnCommandPath'),
|
2009-08-20 23:37:06 +08:00
|
|
|
'path.local' : ('./path/local.py', 'LocalPath'),
|
2009-08-21 02:35:35 +08:00
|
|
|
'path.SvnAuth' : ('./path/svnwc.py', 'SvnAuth'),
|
2007-01-24 22:24:01 +08:00
|
|
|
|
|
|
|
# some nice slightly magic APIs
|
2009-08-28 00:46:42 +08:00
|
|
|
#'magic.__doc__' : ('./magic/__init__.py', '__doc__'),
|
2009-08-27 23:26:02 +08:00
|
|
|
'magic.invoke' : ('./code/oldmagic.py', 'invoke'),
|
|
|
|
'magic.revoke' : ('./code/oldmagic.py', 'revoke'),
|
|
|
|
'magic.patch' : ('./code/oldmagic.py', 'patch'),
|
|
|
|
'magic.revert' : ('./code/oldmagic.py', 'revert'),
|
2009-08-28 00:46:42 +08:00
|
|
|
'magic.autopath' : ('./path/local.py', 'autopath'),
|
2009-08-27 23:26:02 +08:00
|
|
|
'magic.AssertionError' : ('./code/oldmagic2.py', 'AssertionError'),
|
2007-01-24 22:24:01 +08:00
|
|
|
|
|
|
|
# python inspection/code-generation API
|
2007-02-04 22:27:10 +08:00
|
|
|
'code.__doc__' : ('./code/__init__.py', '__doc__'),
|
2007-01-24 22:24:01 +08:00
|
|
|
'code.compile' : ('./code/source.py', 'compile_'),
|
|
|
|
'code.Source' : ('./code/source.py', 'Source'),
|
|
|
|
'code.Code' : ('./code/code.py', 'Code'),
|
2009-08-26 02:24:43 +08:00
|
|
|
'code.Frame' : ('./code/code.py', 'Frame'),
|
|
|
|
'code.ExceptionInfo' : ('./code/code.py', 'ExceptionInfo'),
|
|
|
|
'code.Traceback' : ('./code/code.py', 'Traceback'),
|
2009-05-12 19:39:09 +08:00
|
|
|
'code.getfslineno' : ('./code/source.py', 'getfslineno'),
|
2009-08-29 01:16:15 +08:00
|
|
|
'code.getrawcode' : ('./code/code.py', 'getrawcode'),
|
2009-08-27 23:26:02 +08:00
|
|
|
'code.patch_builtins' : ('./code/code.py', 'patch_builtins'),
|
|
|
|
'code.unpatch_builtins' : ('./code/code.py', 'unpatch_builtins'),
|
2009-08-29 09:13:49 +08:00
|
|
|
'code._AssertionError' : ('./code/assertion.py', 'AssertionError'),
|
2007-01-24 22:24:01 +08:00
|
|
|
|
|
|
|
# backports and additions of builtins
|
2007-02-04 22:27:10 +08:00
|
|
|
'builtin.__doc__' : ('./builtin/__init__.py', '__doc__'),
|
2009-08-28 22:25:29 +08:00
|
|
|
'builtin.enumerate' : ('./builtin/builtin24.py', 'enumerate'),
|
|
|
|
'builtin.reversed' : ('./builtin/builtin24.py', 'reversed'),
|
|
|
|
'builtin.sorted' : ('./builtin/builtin24.py', 'sorted'),
|
|
|
|
'builtin.set' : ('./builtin/builtin24.py', 'set'),
|
|
|
|
'builtin.frozenset' : ('./builtin/builtin24.py', 'frozenset'),
|
|
|
|
'builtin.BaseException' : ('./builtin/builtin25.py', 'BaseException'),
|
|
|
|
'builtin.GeneratorExit' : ('./builtin/builtin25.py', 'GeneratorExit'),
|
|
|
|
'builtin.print_' : ('./builtin/builtin31.py', 'print_'),
|
|
|
|
'builtin._reraise' : ('./builtin/builtin31.py', '_reraise'),
|
2009-09-05 01:08:10 +08:00
|
|
|
'builtin._tryimport' : ('./builtin/builtin31.py', '_tryimport'),
|
2009-08-28 22:25:29 +08:00
|
|
|
'builtin.exec_' : ('./builtin/builtin31.py', 'exec_'),
|
2009-08-29 22:40:03 +08:00
|
|
|
'builtin._basestring' : ('./builtin/builtin31.py', '_basestring'),
|
2009-08-29 21:51:49 +08:00
|
|
|
'builtin._totext' : ('./builtin/builtin31.py', '_totext'),
|
2009-09-01 01:51:25 +08:00
|
|
|
'builtin._isbytes' : ('./builtin/builtin31.py', '_isbytes'),
|
|
|
|
'builtin._istext' : ('./builtin/builtin31.py', '_istext'),
|
2009-09-01 22:10:21 +08:00
|
|
|
'builtin._getimself' : ('./builtin/builtin31.py', '_getimself'),
|
2009-09-04 05:45:28 +08:00
|
|
|
'builtin._getfuncdict' : ('./builtin/builtin31.py', '_getfuncdict'),
|
2009-08-29 01:16:15 +08:00
|
|
|
'builtin.builtins' : ('./builtin/builtin31.py', 'builtins'),
|
2009-08-30 04:36:14 +08:00
|
|
|
'builtin.execfile' : ('./builtin/builtin31.py', 'execfile'),
|
2009-08-30 04:46:50 +08:00
|
|
|
'builtin.callable' : ('./builtin/builtin31.py', 'callable'),
|
2007-01-24 22:24:01 +08:00
|
|
|
|
|
|
|
# gateways into remote contexts
|
2007-02-04 22:27:10 +08:00
|
|
|
'execnet.__doc__' : ('./execnet/__init__.py', '__doc__'),
|
2009-09-01 17:39:27 +08:00
|
|
|
'execnet._HookSpecs' : ('./execnet/gateway_base.py', 'ExecnetAPI'),
|
|
|
|
'execnet.SocketGateway' : ('./execnet/gateway.py', 'SocketGateway'),
|
|
|
|
'execnet.PopenGateway' : ('./execnet/gateway.py', 'PopenGateway'),
|
|
|
|
'execnet.SshGateway' : ('./execnet/gateway.py', 'SshGateway'),
|
2009-03-20 23:36:45 +08:00
|
|
|
'execnet.XSpec' : ('./execnet/xspec.py', 'XSpec'),
|
|
|
|
'execnet.makegateway' : ('./execnet/xspec.py', 'makegateway'),
|
2009-03-20 01:05:41 +08:00
|
|
|
'execnet.MultiGateway' : ('./execnet/multi.py', 'MultiGateway'),
|
|
|
|
'execnet.MultiChannel' : ('./execnet/multi.py', 'MultiChannel'),
|
2007-01-24 22:24:01 +08:00
|
|
|
|
2007-01-25 00:46:46 +08:00
|
|
|
# execnet scripts
|
|
|
|
'execnet.RSync' : ('./execnet/rsync.py', 'RSync'),
|
|
|
|
|
2007-01-24 22:24:01 +08:00
|
|
|
# input-output helping
|
2007-02-04 22:27:10 +08:00
|
|
|
'io.__doc__' : ('./io/__init__.py', '__doc__'),
|
2009-08-21 02:47:39 +08:00
|
|
|
'io.dupfile' : ('./io/capture.py', 'dupfile'),
|
|
|
|
'io.TextIO' : ('./io/capture.py', 'TextIO'),
|
|
|
|
'io.BytesIO' : ('./io/capture.py', 'BytesIO'),
|
|
|
|
'io.FDCapture' : ('./io/capture.py', 'FDCapture'),
|
|
|
|
'io.StdCapture' : ('./io/capture.py', 'StdCapture'),
|
|
|
|
'io.StdCaptureFD' : ('./io/capture.py', 'StdCaptureFD'),
|
2008-08-16 23:26:59 +08:00
|
|
|
'io.TerminalWriter' : ('./io/terminalwriter.py', 'TerminalWriter'),
|
2007-01-24 22:24:01 +08:00
|
|
|
|
|
|
|
# error module, defining all errno's as Classes
|
2009-08-25 15:38:19 +08:00
|
|
|
'error' : ('./error.py', 'error'),
|
2007-01-24 22:24:01 +08:00
|
|
|
|
|
|
|
# small and mean xml/html generation
|
2009-09-05 00:30:48 +08:00
|
|
|
'xml.__doc__' : ('./xmlgen.py', '__doc__'),
|
|
|
|
'xml.html' : ('./xmlgen.py', 'html'),
|
|
|
|
'xml.Tag' : ('./xmlgen.py', 'Tag'),
|
|
|
|
'xml.raw' : ('./xmlgen.py', 'raw'),
|
|
|
|
'xml.Namespace' : ('./xmlgen.py', 'Namespace'),
|
|
|
|
'xml.escape' : ('./xmlgen.py', 'escape'),
|
2007-01-24 22:24:01 +08:00
|
|
|
|
|
|
|
# logging API ('producers' and 'consumers' connected via keywords)
|
2007-02-04 22:27:10 +08:00
|
|
|
'log.__doc__' : ('./log/__init__.py', '__doc__'),
|
2009-08-22 15:42:12 +08:00
|
|
|
'log._apiwarn' : ('./log/warning.py', '_apiwarn'),
|
|
|
|
'log.Producer' : ('./log/log.py', 'Producer'),
|
|
|
|
'log.setconsumer' : ('./log/log.py', 'setconsumer'),
|
|
|
|
'log._setstate' : ('./log/log.py', 'setstate'),
|
|
|
|
'log._getstate' : ('./log/log.py', 'getstate'),
|
|
|
|
'log.Path' : ('./log/log.py', 'Path'),
|
|
|
|
'log.STDOUT' : ('./log/log.py', 'STDOUT'),
|
|
|
|
'log.STDERR' : ('./log/log.py', 'STDERR'),
|
|
|
|
'log.Syslog' : ('./log/log.py', 'Syslog'),
|
2007-01-24 22:24:01 +08:00
|
|
|
|
2009-08-28 03:12:55 +08:00
|
|
|
# compatibility modules (deprecated)
|
2007-02-04 22:27:10 +08:00
|
|
|
'compat.__doc__' : ('./compat/__init__.py', '__doc__'),
|
2009-08-28 03:12:55 +08:00
|
|
|
'compat.doctest' : ('./compat/dep_doctest.py', 'doctest'),
|
|
|
|
'compat.optparse' : ('./compat/dep_optparse.py', 'optparse'),
|
|
|
|
'compat.textwrap' : ('./compat/dep_textwrap.py', 'textwrap'),
|
|
|
|
'compat.subprocess' : ('./compat/dep_subprocess.py', 'subprocess'),
|
2007-01-24 22:24:01 +08:00
|
|
|
})
|
2007-02-04 22:27:10 +08:00
|
|
|
|
2009-02-27 18:18:27 +08:00
|
|
|
|
|
|
|
|