source: products/qPloneGoogleSitemaps/tags/0.8.3/tests/framework.py

Last change on this file was 1, checked in by myroslav, 18 years ago

Building directory structure

  • Property svn:eol-style set to native
File size: 3.1 KB
Line 
1##############################################################################
2#
3# ZopeTestCase
4#
5# COPY THIS FILE TO YOUR 'tests' DIRECTORY.
6#
7# This version of framework.py will use the SOFTWARE_HOME
8# environment variable to locate Zope and the Testing package.
9#
10# If the tests are run in an INSTANCE_HOME installation of Zope,
11# Products.__path__ and sys.path with be adjusted to include the
12# instance's Products and lib/python directories respectively.
13#
14# If you explicitly set INSTANCE_HOME prior to running the tests,
15# auto-detection is disabled and the specified path will be used
16# instead.
17#
18# If the 'tests' directory contains a custom_zodb.py file, INSTANCE_HOME
19# will be adjusted to use it.
20#
21# If you set the ZEO_INSTANCE_HOME environment variable a ZEO setup
22# is assumed, and you can attach to a running ZEO server (via the
23# instance's custom_zodb.py).
24#
25##############################################################################
26#
27# The following code should be at the top of every test module:
28#
29# import os, sys
30# if __name__ == '__main__':
31#     execfile(os.path.join(sys.path[0], 'framework.py'))
32#
33# ...and the following at the bottom:
34#
35# if __name__ == '__main__':
36#     framework()
37#
38##############################################################################
39
40__version__ = '0.2.3'
41
42# Save start state
43#
44__SOFTWARE_HOME = os.environ.get('SOFTWARE_HOME', '')
45__INSTANCE_HOME = os.environ.get('INSTANCE_HOME', '')
46
47if __SOFTWARE_HOME.endswith(os.sep):
48    __SOFTWARE_HOME = os.path.dirname(__SOFTWARE_HOME)
49
50if __INSTANCE_HOME.endswith(os.sep):
51    __INSTANCE_HOME = os.path.dirname(__INSTANCE_HOME)
52
53# Find and import the Testing package
54#
55if not sys.modules.has_key('Testing'):
56    p0 = sys.path[0]
57    if p0 and __name__ == '__main__':
58        os.chdir(p0)
59        p0 = ''
60    s = __SOFTWARE_HOME
61    p = d = s and s or os.getcwd()
62    while d:
63        if os.path.isdir(os.path.join(p, 'Testing')):
64            zope_home = os.path.dirname(os.path.dirname(p))
65            sys.path[:1] = [p0, p, zope_home]
66            break
67        p, d = s and ('','') or os.path.split(p)
68    else:
69        print 'Unable to locate Testing package.',
70        print 'You might need to set SOFTWARE_HOME.'
71        sys.exit(1)
72
73import Testing, unittest
74execfile(os.path.join(os.path.dirname(Testing.__file__), 'common.py'))
75
76# Include ZopeTestCase support
77#
78if 1:   # Create a new scope
79
80    p = os.path.join(os.path.dirname(Testing.__file__), 'ZopeTestCase')
81
82    if not os.path.isdir(p):
83        print 'Unable to locate ZopeTestCase package.',
84        print 'You might need to install ZopeTestCase.'
85        sys.exit(1)
86
87    ztc_common = 'ztc_common.py'
88    ztc_common_global = os.path.join(p, ztc_common)
89
90    f = 0
91    if os.path.exists(ztc_common_global):
92        execfile(ztc_common_global)
93        f = 1
94    if os.path.exists(ztc_common):
95        execfile(ztc_common)
96        f = 1
97
98    if not f:
99        print 'Unable to locate %s.' % ztc_common
100        sys.exit(1)
101
102# Debug
103#
104print 'SOFTWARE_HOME: %s' % os.environ.get('SOFTWARE_HOME', 'Not set')
105print 'INSTANCE_HOME: %s' % os.environ.get('INSTANCE_HOME', 'Not set')
106sys.stdout.flush()
107
Note: See TracBrowser for help on using the repository browser.