Commit 37e2029c authored by Andreas Jung's avatar Andreas Jung

replaced old testrunner with most current version

parent e7421db6
#!/usr/bin/env python2.4 #!/usr/bin/env python
############################################################################## ##############################################################################
# #
# Copyright (c) 2004 Zope Corporation and Contributors. # Copyright (c) 2004 Zope Corporation and Contributors.
...@@ -12,25 +12,87 @@ ...@@ -12,25 +12,87 @@
# FOR A PARTICULAR PURPOSE. # FOR A PARTICULAR PURPOSE.
# #
############################################################################## ##############################################################################
"""Test script for running unit tests in a distribution root. """Zope 2 test script
The functional tests can't be run since we don't have enough of the see zope.testing testrunner.txt
package configuration in a usable state. The functional tests can be
run from an installation.
$Id$ $Id: test.py 33303 2005-07-13 22:28:33Z jim $
""" """
import sys, os
from distutils.util import get_platform
PLAT_SPEC = "%s-%s" % (get_platform(), sys.version[0:3]) import os.path, sys
here = os.path.dirname(os.path.realpath(__file__)) shome = os.environ.get('SOFTWARE_HOME')
lib = os.path.join(here, "build", "lib." + PLAT_SPEC) zhome = os.environ.get('ZOPE_HOME')
sys.path.append(lib) ihome = os.environ.get('INSTANCE_HOME')
import zope.app.testing.test if zhome:
zhome = os.path.abspath(zhome)
if shome:
shome = os.path.abspath(shome)
else:
shome = os.path.join(zhome, 'lib', 'python')
elif shome:
shome = os.path.abspath(shome)
zhome = os.path.dirname(os.path.dirname(shome))
elif ihome:
print >> sys.stderr, '''
If INSTANCE_HOME is set, then at least one of SOFTWARE_HOME or ZOPE_HOME
must be set
'''
else:
# No zope home, assume that it is the script directory
zhome = os.path.abspath(os.path.dirname(sys.argv[0]))
shome = os.path.join(zhome, 'lib', 'python')
if __name__ == '__main__': sys.path.insert(0, shome)
args = sys.argv[:1] + ["-ul", lib] + sys.argv[1:]
zope.app.testing.test.process_args(args) defaults = '--tests-pattern ^tests$ -v'.split()
defaults += ['-m',
'!^('
'ZConfig'
'|'
'BTrees'
'|'
'persistent'
'|'
'ThreadedAsync'
'|'
'transaction'
'|'
'ZEO'
'|'
'ZODB'
'|'
'ZopeUndo'
'|'
'zdaemon'
'|'
'zope[.]testing'
'|'
'zope[.]app'
')[.]']
if ihome:
ihome = os.path.abspath(ihome)
defaults += ['--path', os.path.join(ihome, 'lib', 'python')]
products = os.path.join(ihome, 'Products')
if os.path.exists(products):
defaults += ['--package-path', products, 'Products']
else:
defaults += ['--test-path', shome]
from zope.testing import testrunner
def load_config_file(option, opt, config_file, *ignored):
config_file = os.path.abspath(config_file)
print "Parsing %s" % config_file
import Zope2
Zope2.configure(config_file)
testrunner.setup.add_option(
'--config-file', action="callback", type="string", dest='config_file',
callback=load_config_file,
help="""\
Initialize Zope with the given configuration file.
""")
sys.exit(testrunner.run(defaults))
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment