~launchpad-pqm/launchpad/devel

« back to all changes in this revision

Viewing changes to buildout-templates/bin/test.in

  • Committer: Gary Poster
  • Date: 2009-05-01 00:25:52 UTC
  • mto: (8329.1.1 buildout2)
  • mto: This revision was merged to the branch mainline in revision 8489.
  • Revision ID: gary.poster@canonical.com-20090501002552-3hdbl9k771juuy1z
test works, nominally; and bin/py is a bit more functional.  problems with import warnings are more serious because they cause tests to fail.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#!/usr/bin/python2.4
 
1
#!${buildout:executable}
2
2
##############################################################################
3
3
#
4
4
# Copyright (c) 2004 Zope Corporation and Contributors.
13
13
#
14
14
##############################################################################
15
15
"""Test script
16
 
 
17
 
$Id: test.py 25177 2004-06-02 13:17:31Z jim $
18
16
"""
19
17
import sys, os, time, logging, warnings, re
20
18
 
 
19
BUILD_DIR = '${buildout:directory}'
21
20
 
22
21
if os.getsid(0) == os.getsid(os.getppid()):
23
22
    # We need to become the process group leader so test_on_merge.py
38
37
# Enable Storm's C extensions
39
38
os.environ['STORM_CEXTENSIONS'] = '1'
40
39
 
41
 
here = os.path.dirname(os.path.realpath(__file__))
42
 
sys.path.insert(0, os.path.join(here, 'lib'))
43
 
 
44
 
# Mailman lives in a subdirectory.
45
 
mailman_dir = os.path.join(here, 'lib', 'mailman')
46
 
if os.path.isdir(mailman_dir):
47
 
    sys.path.insert(0, mailman_dir)
 
40
sys.path[0:0] = [${string-paths}]
48
41
 
49
42
# Set PYTHONPATH environment variable for spawned processes
50
43
os.environ['PYTHONPATH'] = ':'.join(sys.path)
56
49
    main_process = True
57
50
 
58
51
# Install the import fascist import hook and atexit handler.
59
 
import importfascist
 
52
from lp.scripts.utilities import importfascist
60
53
importfascist.install_import_fascist()
61
54
 
62
55
# Install the warning handler hook and atexit handler.
63
 
import warninghandler
 
56
from lp.scripts.utilities import warninghandler
64
57
warninghandler.install_warning_handler()
65
58
 
66
59
# Ensure that atexit handlers are executed on TERM.
70
63
signal.signal(signal.SIGTERM, exit_with_atexit_handlers)
71
64
 
72
65
# Ensure overrides are generated
 
66
sys.path.insert(0, BUILD_DIR)
73
67
from configs import generate_overrides
74
68
generate_overrides()
 
69
del sys.path[0]
75
70
 
76
71
# Tell canonical.config to use the testrunner config instance.
77
72
from canonical.config import config
79
74
 
80
75
# Remove this module's directory from path, so that zope.testbrowser
81
76
# can import pystone from test:
82
 
sys.path[:] = [p for p in sys.path if os.path.abspath(p) != here]
83
 
 
 
77
# TODO: is this still necessary?
 
78
sys.path[:] = [p for p in sys.path if os.path.abspath(p) != BUILD_DIR]
84
79
 
85
80
# Turn on psycopg debugging wrapper
86
81
#import canonical.database.debug
131
126
defaults = [
132
127
    # Find tests in the tests and ftests directories
133
128
    '--tests-pattern=^f?tests$',
134
 
    '--test-path=%s' % os.path.join(here, 'lib'),
 
129
    '--test-path=${buildout:directory}/lib',
135
130
    '--package=canonical',
136
131
    '--package=lp',
137
132
    ]
183
178
    # e.g. run the test that you are currently editing.
184
179
    try:
185
180
        there = os.getcwd()
186
 
        os.chdir(here)
 
181
        os.chdir('${buildout:directory}')
187
182
        result = testrunner.run(defaults)
188
183
    finally:
189
184
        os.chdir(there)