##// END OF EJS Templates
Fixes for test suite in win32 when all dependencies (esp. Twisted) are...
Fixes for test suite in win32 when all dependencies (esp. Twisted) are installed. Also activated testing.tools to be picked up by the test suite (was excluded), this gives us a few more tests. Status: - On Linux, the full suite passes like before. - On Win32, now that we have Twisted, we're seeing a few failures, because I don't have the WinHPC server stuff. These should be easy for Brian to fix. There are also two tests where the Skip nose exception isn't recognized by Twisted, should also be easy. I'll file tickets for those.

File last commit:

r0:6f629fcc
r2461:a97dcd31
Show More
install_data_ext.py
80 lines | 3.0 KiB | text/x-python | PythonLexer
# install_data_ext.py
#
# Subclass of normal distutils install_data command to allow more
# configurable installation of data files.
import os
from distutils.command.install_data import install_data
from distutils.util import change_root, convert_path
class install_data_ext(install_data):
def initialize_options(self):
self.install_base = None
self.install_platbase = None
self.install_purelib = None
self.install_headers = None
self.install_lib = None
self.install_scripts = None
self.install_data = None
self.outfiles = []
self.root = None
self.force = 0
self.data_files = self.distribution.data_files
self.warn_dir = 1
def finalize_options(self):
self.set_undefined_options('install',
('root', 'root'),
('force', 'force'),
('install_base', 'install_base'),
('install_platbase',
'install_platbase'),
('install_purelib',
'install_purelib'),
('install_headers',
'install_headers'),
('install_lib', 'install_lib'),
('install_scripts',
'install_scripts'),
('install_data', 'install_data'))
def run(self):
"""
This is where the meat is. Basically the data_files list must
now be a list of tuples of 3 entries. The first
entry is one of 'base', 'platbase', etc, which indicates which
base to install from. The second entry is the path to install
too. The third entry is a list of files to install.
"""
for lof in self.data_files:
if lof[0]:
base = getattr(self, 'install_' + lof[0])
else:
base = getattr(self, 'install_base')
dir = convert_path(lof[1])
if not os.path.isabs(dir):
dir = os.path.join(base, dir)
elif self.root:
dir = change_root(self.root, dir)
self.mkpath(dir)
files = lof[2]
if len(files) == 0:
# If there are no files listed, the user must be
# trying to create an empty directory, so add the the
# directory to the list of output files.
self.outfiles.append(dir)
else:
# Copy files, adding them to the list of output files.
for f in files:
f = convert_path(f)
(out, _) = self.copy_file(f, dir)
#print "DEBUG: ", out # dbg
self.outfiles.append(out)
return self.outfiles