Commit f8fe342b authored by Tres Seaver's avatar Tres Seaver

Merge tseaver-retire_spkg branch.

parent 70fcae74
# This allows the ZConfig checked out with Zope to be used by the zpkg
# code invoked by setup.py.
#
# If zpkg ever requires a different version of ZConfig than Zope
# provides as part of it's checkout, this file should be replaced by
# an svn:external to the required version.
#
../lib/python
......@@ -38,7 +38,8 @@ usage()
{
echo
echo "configure [--help] [--quiet] [--with-python=path] [--prefix=path] "
echo " [--ignore-largefile] [--ignore-zlib] [--optimize]"
echo " [--build-base=path] [--ignore-largefile] [--ignore-zlib]"
echo " [--optimize]"
echo
echo " Creates a Makefile suitable for building and installing Zope"
echo
......@@ -47,6 +48,7 @@ usage()
echo " --quiet suppress nonessential output"
echo " --with-python specify a path to a Python interpreter to use"
echo " --prefix specify an installation path for binary data"
echo " --build-base specify a temporary path for build files"
echo " --ignore-largefile ignore large file support warnings"
echo " --ignore-expat ignore warnings about expat/pyexpat"
echo " --ignore-zlib ignore warnings about zlib"
......
......@@ -47,6 +47,11 @@ Zope Changes
- Collector #2063: cleaned up some mess in MailHost.sendTemplate()
Other Changes
- Returned to the "classic" './configure && make && make install'
recipe, dropping the use of 'zpkg' for building Zope2 releases.
Zope 2.9.3 (2006/05/13)
Bugs fixed
......
......@@ -10,14 +10,17 @@ RELEASE_TAG=<<VERSION_RELEASE_TAG>>
PACKAGE_NAME=${NAME}-${MAJOR_VERSION}.${MINOR_VERSION}-${RELEASE_TAG}
PYTHON="<<PYTHON>>"
ZPKG=zpkg
TMPDIR=<<TMP_DIR>>
TMP_DIR=<<TMP_DIR>>
PREFIX=<<PREFIX>>
BASE_DIR=<<BASE_DIR>>
BUILD_BASE=<<BUILD_BASE>>
DISTUTILS_OPTS=<<DISTUTILS_OPTS>>
INSTALL_FLAGS=<<INSTALL_FLAGS>>
TESTOPTS=-v
BUILD_FLAGS=-i
BUILD_FLAGS=--build-base="${BUILD_BASE}" \
--build-lib="${BUILD_BASE}/build-lib" \
--build-scripts="${BUILD_BASE}/build-scripts"\
--build-temp="${BUILD_BASE}/build-temp"
RM=rm -f
RMRF=rm -rf
......@@ -29,7 +32,7 @@ CP=cp
TAR=tar
MKDIR=mkdir -p
.PHONY : clean install instance untestinst testinst build
.PHONY : clean install instance untestinst testinst build unbuild
.PHONY : default
# default: The default step (invoked when make is called without a target)
......@@ -39,23 +42,38 @@ default: build
@echo to run a Zope instance directly from the build directory\).
@echo
# build:
# build: Do whatever 'setup.py build' implies
build:
${PYTHON} "${BASE_DIR}/setup.py" \
${DISTUTILS_OPTS} build_ext ${BUILD_FLAGS}
${DISTUTILS_OPTS} build ${BUILD_FLAGS}
# unbuild: Remove the build directory (undo the make build step)
unbuild:
${RMRF} ${BUILD_BASE}
# install: Install a software home.
install:
${PYTHON} "${BASE_DIR}/setup.py" ${DISTUTILS_OPTS} \
build_ext ${BUILD_FLAGS} \
install --home="${PREFIX}" ${INSTALL_FLAGS}
install: build version_txt
${PYTHON} "${BASE_DIR}/setup.py" ${DISTUTILS_OPTS} install \
--home="${PREFIX}" ${BUILD_FLAGS} ${INSTALL_FLAGS}
[ -f ${PREFIX}/bin/python ] || ${LN} ${PYTHON} ${PREFIX}/bin/python
@echo
@echo Zope binaries installed successfully.
@echo Now run \'${PREFIX}/bin/mkzopeinstance.py\'
# inplace: Do an in-place build
inplace: build
# inplace: Install a software home into to the source directory.
#
# Note: We used to run 'build_ext -i' for 'inplace', but that was
# suboptimal because it had a tendency to try to rebuild all of the
# (possibly already-built) extensions that might be built during a
# previous 'make' step. built_ext doesn't understand '--build-base'
# and friends so we can't stop it from doing this easily. So instead,
# we rely on the stock install step and name the prefix as the current
# directory. This is a little less efficient than just building the
# extensions because it also compiles bytecode, but it's more intuitive and
# less expensive in the common case than letting distutils
# potentially rebuild the binaries when we've done that already.
inplace: PREFIX=${BASE_DIR}
inplace: install
# test: Do an inplace build and run the Zope test suite.
test: inplace
......@@ -83,7 +101,7 @@ uninstance:
# clean: Delete the build files and any binaries/bytecode files in
# the source directory for good measure.
clean:
clean: unbuild
${FIND} "${BASE_DIR}" \
-name '*.py[co]' -o -name '*.so' -o -name '*.o' | ${XARGS} ${RM}
${RMRF} build
......@@ -93,9 +111,23 @@ version_txt:
printf "Zope ${MAJOR_VERSION}.${MINOR_VERSION}-${RELEASE_TAG}" >\
"${BASE_DIR}/lib/python/Zope2/version.txt"
# Building a source distribution requires that zpkg be available:
sdist: version_txt
${ZPKG} -C ${BASE_DIR}/releases/Zope2.cfg -r ${MAJOR_VERSION}.${MINOR_VERSION}${RELEASE_TAG}
# sdist: Create a source distribution file (implies clobber).
#
sdist: clobber sdist_tgz
# sdist_tgz: Create a tgz archive file as a source distribution.
#
sdist_tgz: version_txt
${MKDIR} ${TMP_DIR}
${CD} ${TMP_DIR} && ${LN} ${BASE_DIR} ${PACKAGE_NAME} && \
${TAR} czfh ${BASE_DIR}/${PACKAGE_NAME}.tgz \
--exclude=${PACKAGE_NAME}.tgz\
--exclude=.svn\
--exclude=makefile \
--exclude=build-base \
--exclude=*~ \
--exclude=.#* ${PACKAGE_NAME}
${RMRF} ${TMP_DIR}/${PACKAGE_NAME}
# clobber: Make the source tree 'pristine' again.
clobber: clean uninstance
......
......@@ -34,6 +34,8 @@ def main():
# below assumes this script is in the BASE_DIR/inst directory
global PREFIX
BASE_DIR=os.path.abspath(os.path.dirname(os.path.dirname(sys.argv[0])))
BUILD_BASE=os.path.join(os.getcwd(), 'build-base',
'python-%s.%s' % sys.version_info[:2])
PYTHON=sys.executable
TMP_DIR = tempfile.gettempdir()
MAKEFILE=open(os.path.join(BASE_DIR, 'inst', IN_MAKEFILE)).read()
......@@ -67,6 +69,8 @@ def main():
INSTALL_FLAGS = '--optimize=1 --no-compile'
if o == '--no-compile':
INSTALL_FLAGS = '--no-compile'
if o == '--build-base':
BUILD_BASE = a
if o == '--quiet':
DISTUTILS_OPTS = '-q'
global QUIET
......@@ -84,6 +88,7 @@ def main():
'<<PYTHON>>':PYTHON,
'<<PREFIX>>':PREFIX,
'<<BASE_DIR>>':BASE_DIR,
'<<BUILD_BASE>>':BUILD_BASE,
'<<TMP_DIR>>':TMP_DIR,
'<<INSTALL_FLAGS>>':INSTALL_FLAGS,
'<<ZOPE_MAJOR_VERSION>>':versions.ZOPE_MAJOR_VERSION,
......
adapter -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/adapter
annotation -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/annotation
apidoc -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/apidoc
applicationcontrol -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/applicationcontrol
appsetup -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/appsetup
authentication -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/authentication
basicskin -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/basicskin
broken -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/broken
cache -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/cache
component -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/component
container -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/container
content -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/content
content_types -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/content_types
copypastemove -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/copypastemove
datetimeutils -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/datetimeutils
debug -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/debug
decorator -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/decorator
dependable -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/dependable
dtmlpage -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/dtmlpage
dublincore -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/dublincore
error -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/error
event -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/event
exception -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/exception
externaleditor -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/externaleditor
file -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/file
filerepresentation -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/filerepresentation
folder -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/folder
form -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/form
ftests -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/ftests
ftp -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/ftp
generations -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/generations
http -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/http
i18n -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/i18n
interface -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/interface
intid -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/intid
introspector -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/introspector
keyreference -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/keyreference
locales -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/locales
location -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/location
mail -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/mail
onlinehelp -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/onlinehelp
pagetemplate -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/pagetemplate
preference -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/preference
preview -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/preview
principalannotation -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/principalannotation
publication -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/publication
publisher -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/publisher
rdb -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/rdb
registration -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/registration
renderer -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/renderer
rotterdam -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/rotterdam
schema -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/schema
security -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/security
servicenames -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/servicenames
session -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/session
site -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/site
size -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/size
sqlscript -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/sqlscript
testing -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/testing
tests -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/tests
timezones -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/timezones
traversing -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/traversing
tree -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/tree
undo -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/undo
utility -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/utility
wsgi -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/wsgi
xmlrpcintrospection -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/xmlrpcintrospection
zapi -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/zapi
zopeappgenerations -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/zopeappgenerations
zptpage -r 68985 svn://svn.zope.org/repos/main/Zope3/branches/3.2/src/zope/app/zptpage
#!/bin/env python2.4
##############################################################################
#
# Copyright (c) 2004 Zope Corporation and Contributors.
# Copyright (c) 2001, 2002 Zope Corporation and Contributors.
# All Rights Reserved.
#
# This software is subject to the provisions of the Zope Public License,
......@@ -12,27 +11,7 @@
# FOR A PARTICULAR PURPOSE.
#
##############################################################################
"""Test script to run the unit and functional tests in a Zope installation.
"""Zope application package.
$Id$
"""
import sys, os
here = os.path.dirname(os.path.realpath(__file__))
here = os.path.dirname(here)
if sys.platform in ("win32",):
lib = os.path.join(here, "Lib", "site-packages")
else:
lib = os.path.join(here, "lib", "python")
sys.path.append(lib)
ftesting = os.path.join(here, "zopeskel", "etc", "ftesting.zcml")
import zope.app.tests.test
zope.app.tests.test.FTESTING = ftesting
if __name__ == '__main__':
args = sys.argv[:1] + ["-l", lib] + sys.argv[1:]
zope.app.tests.test.process_args(args)
# zpkg config file
#
build-application yes
collect-dependencies yes
resource-map Zope2.map
default-collection Zope
# These packages are the Zope 2 components.
#
docutils ../lib/python/docutils
pytz ../lib/python/pytz
zodbcode ../lib/python/zodbcode
zope ../lib/python/zope
# Child packages of Zope are handled separately when constructing Zope
# distributions; this tells where to find all of them.
zope.* ../lib/python/zope/
# These packages are copied from the ZConfig, zdaemon, and ZODB projects:
#
BTrees ../lib/python/BTrees
persistent ../lib/python/persistent
transaction ../lib/python/transaction
ThreadedAsync ../lib/python/ThreadedAsync
ZEO ../lib/python/ZEO
ZODB ../lib/python/ZODB
RestrictedPython ../lib/python/RestrictedPython
ZConfig ../lib/python/ZConfig
zdaemon ../lib/python/zdaemon
AccessControl ../lib/python/AccessControl
Acquisition ../lib/python/Acquisition
App ../lib/python/App
ComputedAttribute ../lib/python/ComputedAttribute
DateTime ../lib/python/DateTime
DocumentTemplate ../lib/python/DocumentTemplate
ExtensionClass ../lib/python/ExtensionClass
Globals ../lib/python/Globals
HelpSys ../lib/python/HelpSys
ImageFile ../lib/python/ImageFile.py
Interface ../lib/python/Interface
Lifetime ../lib/python/Lifetime
MethodObject ../lib/python/MethodObject
Missing ../lib/python/Missing
MultiMapping ../lib/python/MultiMapping
OFS ../lib/python/OFS
Persistence ../lib/python/Persistence
Products ../lib/python/Products
Record ../lib/python/Record
Shared ../lib/python/Shared
Signals ../lib/python/Signals
StructuredText ../lib/python/StructuredText
TAL ../lib/python/TAL
Testing ../lib/python/Testing
ThreadLock ../lib/python/ThreadLock
TreeDisplay ../lib/python/TreeDisplay
ZClasses ../lib/python/ZClasses
ZPublisher ../lib/python/ZPublisher
ZServer ../lib/python/ZServer
ZTUtils ../lib/python/ZTUtils
# we can't call the following item "Zope" because zpkg is
# case-ignorant for collection names and it would conflict with "zope"
# (the items listed here are collections, not packages, although most
# of the times they're the same; here the collection represents a
# top-level module, though)
Zopepy ../lib/python/Zope.py
Zope2 ../lib/python/Zope2
ZopeUndo ../lib/python/ZopeUndo
initgroups ../lib/python/initgroups
nt_svcutils ../lib/python/nt_svcutils
reStructuredText ../lib/python/reStructuredText
tempstorage ../lib/python/tempstorage
webdav ../lib/python/webdav
zExceptions ../lib/python/zExceptions
zLOG ../lib/python/zLOG
mechanize ../lib/python/mechanize
ClientCookie ../lib/python/ClientCookie
pullparser ../lib/python/pullparser.py
ClientForm ../lib/python/ClientForm.py
# These packages are the release collections based on the Zope 2
# project; they define what goes into the Zope 2 and related
# releases.
#
Zope ../releases/Zope2
# Things listed here represent features we want to include in the
# distribution.
#
# We'll start with a micro distribution, and add the commented out
# things once we're confident the core is working.
AccessControl
Acquisition
App
ComputedAttribute
DateTime
DocumentTemplate
ExtensionClass
Globals
HelpSys
ImageFile
Interface
Lifetime
MethodObject
Missing
MultiMapping
OFS
Persistence
Products
Record
RestrictedPython
Shared
Signals
StructuredText
TAL
Testing
ThreadLock
TreeDisplay
ZClasses
ZPublisher
ZServer
ZTUtils
# we can't call the following item "Zope" because zpkg is
# case-ignorant for collection names and it would conflict with "zope"
# (the items listed here are collections, not packages, although most
# of the times they're the same; here the collection represents a
# top-level module, though)
Zopepy
Zope2
ZopeUndo
docutils
initgroups
nt_svcutils
reStructuredText
tempstorage
webdav
zExceptions
zLOG
zope.app
zope.app.apidoc
zope.app.cache
zope.app.dtmlpage
zope.app.mail
zope.app.onlinehelp
zope.app.introspector
zope.app.rdb
zope.app.sqlscript
zope.app.undo
zope.app.zptpage
zope.app.intid
# zope.appkeyreference should be stated as a dependency
# in zope.app.intid/DEPENDENCIES.cfg in Zope 3
zope.app.keyreference
zope.app.session
zope.contentprovider
zope.viewlet
# zope.app depends for us on:
# - ZODB
# - persistent
# - transaction
# - zdaemon
# - zodbcode
# - ZConfig (indirectly)
# - ThreadedAsync (indirectly)
# - ZConfig (indirectly)
# - zdaemon (indirectly)
# - pytz (indirectly)
<load>
README.txt svn://svn.zope.org/repos/main/Zope/tags/*/README.txt
ZopePublicLicense.txt svn://svn.zope.org/repos/main/Zope/tags/*/ZopePublicLicense.txt
bin/mkzopeinstance.py svn://svn.zope.org/repos/main/Zope/tags/*/utilities/mkzopeinstance.py
bin/mkzeoinstance.py svn://svn.zope.org/repos/main/Zope/tags/*/utilities/mkzeoinstance.py
doc svn://svn.zope.org/repos/main/Zope/tags/*/doc/
skel svn://svn.zope.org/repos/main/Zope/tags/*/skel/
utilities svn://svn.zope.org/repos/main/Zope/tags/*/utilities/
</load>
<distribution>
README.txt
ZopePublicLicense.txt
test.py
</distribution>
Metadata-Version: 1.1
Name: Zope
Summary: Zope 2 Application Server
Home-page: http://dev.zope.org/
Author: Zope Corporation and Contributors
Author-email: zope-dev@zope.org
License: ZPL 2.1
Description:
Zope is a web application server.
Platform: Unix
Platform: Windows
Classifier: Environment :: Web Environment
Classifier: License :: OSI Approved :: Zope Public License
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: Unix
Classifier: Programming Language :: C
Classifier: Programming Language :: Python
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Topic :: Software Development :: Libraries :: Python Modules
documentation doc/*.txt
script utilities/*.py
script utilities/ZODBTools/*.py
script zopetest
script test.py
<data-files .>
skel
</data-files>
#!/usr/bin/env python
##############################################################################
#
# Copyright (c) 2004 Zope Corporation and Contributors.
# All Rights Reserved.
#
# This software is subject to the provisions of the Zope Public License,
# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
# FOR A PARTICULAR PURPOSE.
#
##############################################################################
"""Zope 2 test script
see zope.testing testrunner.txt
$Id: test.py 33303 2005-07-13 22:28:33Z jim $
"""
import os.path, sys
shome = os.environ.get('SOFTWARE_HOME')
zhome = os.environ.get('ZOPE_HOME')
ihome = os.environ.get('INSTANCE_HOME')
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')
sys.path.insert(0, shome)
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))
This diff is collapsed.
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