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>