Annotation of kupuMPIWG/plone/tests/framework.py, revision 1.1.1.1

1.1       dwinter     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: 
                     47: if __SOFTWARE_HOME.endswith(os.sep):
                     48:     __SOFTWARE_HOME = os.path.dirname(__SOFTWARE_HOME)
                     49: 
                     50: if __INSTANCE_HOME.endswith(os.sep):
                     51:     __INSTANCE_HOME = os.path.dirname(__INSTANCE_HOME)
                     52: 
                     53: # Find and import the Testing package
                     54: #
                     55: if 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: 
                     73: import Testing, unittest
                     74: execfile(os.path.join(os.path.dirname(Testing.__file__), 'common.py'))
                     75: 
                     76: # Include ZopeTestCase support
                     77: #
                     78: if 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: #
                    104: print 'SOFTWARE_HOME: %s' % os.environ.get('SOFTWARE_HOME', 'Not set')
                    105: print 'INSTANCE_HOME: %s' % os.environ.get('INSTANCE_HOME', 'Not set')
                    106: sys.stdout.flush()
                    107: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>