#!/bin/env python2.4 ############################################################################## # # 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. # ############################################################################## """Test script to run the unit and functional tests in a Zope installation. $Id$ """ import sys, os, warnings 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.insert(0, lib) # put at beginning to avoid one in site_packages from zope.testing import testrunner defaults = ['--tests-pattern', '^f?tests$', '--test-path', lib] # Get rid of twisted.conch.ssh warning warnings.filterwarnings( 'ignore', 'PyCrypto', RuntimeWarning, 'twisted[.]conch[.]ssh') result = testrunner.run(defaults) # Note, the logging system has bugs, fixed in Python 2.5 that cause spurious # errors on exit. We'll execute a fairly voilent suicide to try to avoid # these. Given that this is just a test runner, this should be OK. # Avoid spurious error during exit. Some thing is trying to log # something after the files used by the logger have been closed. import logging logging.disable(999999999) # Because we're about to use os._exit, we flush output so we don't miss any. sys.stdout.flush() sys.stderr.flush() os._exit(result)