Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

executable file 68 lines (50 sloc) 1.68 kb
#!/usr/bin/env python
import logging
import os
import os.path
import subprocess
import sys
from optparse import OptionParser
if os.getenv('DEBUG'):
logging.basicConfig(level=logging.DEBUG)
def recursiverm(d):
for root, dirs, files in os.walk(d):
for f in files:
f = root + os.path.sep + f
logging.debug('Removing file: %s' % f)
os.unlink(f)
def main():
op = OptionParser()
op.add_option('-c', '--clean', dest='clean', action='store_true',
help='Remove the contents of the build directory')
opts, args = op.parse_args()
if not args:
print('Specify a test script')
return
if opts.clean:
logging.debug('Removing build/')
recursiverm('build')
logging.debug('Building Cheetah')
rc = subprocess.call(('python', 'setup.py', 'build'))
if rc:
logging.debug('Build failed!')
return
logging.debug('Adjusting PATH and PYTHONPATH')
cwd = os.getcwd()
libdir = None
scriptdir = None
for sub in os.listdir('build'):
if sub.startswith('scripts'):
scriptdir = os.path.sep.join((cwd, 'build', sub))
if sub.startswith('lib'):
libdir = os.path.sep.join((cwd, 'build', sub))
newpath = '%s:%s' % (scriptdir, os.getenv('PATH'))
logging.debug('Setting PATH to: %s' % newpath)
os.putenv('PATH', newpath)
logging.debug('Setting PYTHONPATH to: %s' % libdir)
os.putenv('PYTHONPATH', libdir)
rc = subprocess.call( ['python',] + args )
if rc == -11:
logging.error('Segmentation fault in test process. Test failed.')
if __name__ == '__main__':
main()
Jump to Line
Something went wrong with that request. Please try again.