Annotation of kupuMPIWG/plone/tests/framework.py, revision 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>