diff options
author | Fred Drake <distutils-sig@python.org> | 2004-04-05 20:21:53 +0000 |
---|---|---|
committer | Fred Drake <distutils-sig@python.org> | 2004-04-05 20:21:53 +0000 |
commit | 9274fa3cfbecf55ebc38a95719f899b8f3ebd273 (patch) | |
tree | 7a0b66ab2888b6ee7c4f92651f17753aef861311 /setuptools | |
parent | 1c904e7a58dab0f911cc654979a4e3c4f94f119b (diff) | |
download | external_python_setuptools-9274fa3cfbecf55ebc38a95719f899b8f3ebd273.tar.gz external_python_setuptools-9274fa3cfbecf55ebc38a95719f899b8f3ebd273.tar.bz2 external_python_setuptools-9274fa3cfbecf55ebc38a95719f899b8f3ebd273.zip |
remove excess blank lines, and apply whitespace more in line with the Python
style guidelines in PEP 8
--HG--
branch : setuptools
extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4040896
Diffstat (limited to 'setuptools')
-rw-r--r-- | setuptools/command/__init__.py | 2 | ||||
-rw-r--r-- | setuptools/command/build_py.py | 65 | ||||
-rw-r--r-- | setuptools/command/depends.py | 51 | ||||
-rw-r--r-- | setuptools/tests/__init__.py | 237 |
4 files changed, 106 insertions, 249 deletions
diff --git a/setuptools/command/__init__.py b/setuptools/command/__init__.py index 3429634c..86263cfb 100644 --- a/setuptools/command/__init__.py +++ b/setuptools/command/__init__.py @@ -8,4 +8,4 @@ __all__ = ['test', 'depends'] distutils.command.__path__.extend(__path__) distutils.command.__all__.extend( [cmd for cmd in __all__ if cmd not in distutils.command.__all__] -) + ) diff --git a/setuptools/command/build_py.py b/setuptools/command/build_py.py index 7d5b6ffd..95e83c30 100644 --- a/setuptools/command/build_py.py +++ b/setuptools/command/build_py.py @@ -1,10 +1,11 @@ +import os.path + from distutils.command.build_py import build_py as _build_py from distutils.util import convert_path from glob import glob -import os.path -class build_py(_build_py): +class build_py(_build_py): """Enhanced 'build_py' command that includes data files with packages The data files are specified via a 'package_data' argument to 'setup()'. @@ -17,13 +18,10 @@ class build_py(_build_py): def finalize_options(self): _build_py.finalize_options(self) self.package_data = self.distribution.package_data - self.data_files = self.get_data_files() - + self.data_files = self.get_data_files() def run(self): - """Build modules, packages, and copy data files to build directory""" - if not self.py_modules and not self.packages: return @@ -36,21 +34,17 @@ class build_py(_build_py): # Only compile actual .py files, using our base class' idea of what our # output files are. - self.byte_compile(_build_py.get_outputs(self,include_bytecode=0)) - + self.byte_compile(_build_py.get_outputs(self, include_bytecode=0)) def get_data_files(self): - """Generate list of '(package,src_dir,build_dir,filenames)' tuples""" - data = [] - for package in self.packages: # Locate package source directory src_dir = self.get_package_dir(package) # Compute package build directory - build_dir = os.path.join(*([self.build_lib]+package.split('.'))) + build_dir = os.path.join(*([self.build_lib] + package.split('.'))) # Length of path to strip from found files plen = len(src_dir)+1 @@ -58,44 +52,30 @@ class build_py(_build_py): # Strip directory from globbed filenames filenames = [ file[plen:] for file in self.find_data_files(package, src_dir) - ] - + ] data.append( (package, src_dir, build_dir, filenames) ) - return data - def find_data_files(self, package, src_dir): - """Return filenames for package's data files in 'src_dir'""" - - globs = self.package_data.get('',[])+self.package_data.get(package,[]) + globs = (self.package_data.get('', []) + + self.package_data.get(package, [])) files = [] - for pattern in globs: # Each pattern has to be converted to a platform-specific path files.extend(glob(os.path.join(src_dir, convert_path(pattern)))) - return files - - def build_package_data(self): - """Copy data files into build directory""" - lastdir = None - for package, src_dir, build_dir, filenames in self.data_files: - for filename in filenames: - target = os.path.join(build_dir,filename) + target = os.path.join(build_dir, filename) self.mkpath(os.path.dirname(target)) - self.copy_file(os.path.join(src_dir,filename), target) - + self.copy_file(os.path.join(src_dir, filename), target) def get_outputs(self, include_bytecode=1): - """Return complete list of files copied to the build directory This includes both '.py' files and data files, as well as '.pyc' and @@ -103,21 +83,8 @@ class build_py(_build_py): the 'install_lib' command to do its job properly, and to generate a correct installation manifest.) """ - - return _build_py.get_outputs(self,include_bytecode) + [ - os.path.join(build_dir,filename) - for package,src_dir,build_dir,filenames in self.data_files - for filename in filenames - ] - - - - - - - - - - - - + return _build_py.get_outputs(self, include_bytecode) + [ + os.path.join(build_dir, filename) + for package, src_dir, build_dir,filenames in self.data_files + for filename in filenames + ] diff --git a/setuptools/command/depends.py b/setuptools/command/depends.py index 9d9c9f43..cd8442b7 100644 --- a/setuptools/command/depends.py +++ b/setuptools/command/depends.py @@ -1,9 +1,10 @@ +import os +import sys + from distutils.cmd import Command -import os, sys class depends(Command): - """Download and install dependencies, if needed""" description = "download and install dependencies, if needed" @@ -13,28 +14,27 @@ class depends(Command): "directory where dependencies will be downloaded and built"), ('ignore-extra-args', 'i', "ignore options that won't be passed to child setup scripts"), - ] + ] path_attrs = [ # Note: these must be in *reverse* order, as they are pushed onto the # *front* of a copy of sys.path. - ('install','install_libbase'), # installation base if extra_path - ('install_lib','install_dir'), # where modules are installed - ] + ('install', 'install_libbase'), # installation base if extra_path + ('install_lib', 'install_dir'), # where modules are installed + ] # Command options that can be safely passed to dependencies' setup scripts safe_opts = { 'install': [ - 'prefix','exec-prefix','home','install-base','install-platbase', - 'root','optimize','force','verbose','quiet' - ], - 'build': ['compiler','debug','force','verbose','quiet'], - } + 'prefix', 'exec-prefix', 'home', 'install-base', + 'install-platbase', 'root', 'optimize', 'force', 'verbose', 'quiet' + ], + 'build': ['compiler', 'debug', 'force', 'verbose', 'quiet'], + } # Options with string arguments that are *not* directories or files, and # so should *not* have absolute-path fixups applied. - non_fs_opts = {'build':['compiler'] } - + non_fs_opts = {'build': ['compiler']} def initialize_options(self): self.temp = None; self.ignore_extra_args = None @@ -85,7 +85,7 @@ class depends(Command): needed = [ dep for dep in self.distribution.requires if self.is_needed(dep) - ] + ] if not needed: self.announce("all dependencies are present and up-to-date") @@ -97,7 +97,7 @@ class depends(Command): self.announce( "dependencies will be installed using:\n "+' '.join(argv)+'\n' - ) + ) # Alert for unsupported commands/options, unless '-i' was used if self.unsafe_options: @@ -109,31 +109,26 @@ class depends(Command): " force the build to proceed.\nOtherwise, you will need" " to omit the unsupported options,\nor install the" " dependencies manually." - ) - + ) # Alert the user to missing items fmt = "\t%s\t%s\n" - items = [fmt % (dep.full_name(),dep.homepage) for dep in needed] + items = [fmt % (dep.full_name(), dep.homepage) for dep in needed] items.insert(0,"Please install the following packages *first*:\n") items.append('') raise SystemExit('\n'.join(items)) # dump msg to stderr and exit - - def warn_unsafe_options_used(self): lines = []; write = lines.append write("the following command options are not supported for building") write("dependencies, and will be IGNORED:") for cmd,line in self.unsafe_options.items(): - write('\t%s %s' % (cmd,' '.join(line))) + write('\t%s %s' % (cmd, ' '.join(line))) write('') self.warn('\n'.join(lines)) - def is_needed(self,dep): """Does the specified dependency need to be installed/updated?""" - self.announce("searching for "+dep.full_name()) version = dep.get_version(self.search_path) @@ -152,13 +147,3 @@ class depends(Command): else: self.announce(status+" (update needed)") return True - - - - - - - - - - diff --git a/setuptools/tests/__init__.py b/setuptools/tests/__init__.py index 66b12646..7035eafd 100644 --- a/setuptools/tests/__init__.py +++ b/setuptools/tests/__init__.py @@ -1,17 +1,22 @@ """Tests for the 'setuptools' package""" -from unittest import TestSuite, TestCase, makeSuite +import os.path +import sys + +from unittest import TestSuite, TestCase, makeSuite, main + import distutils.core, distutils.cmd +from distutils.core import Extension from distutils.errors import DistutilsOptionError, DistutilsPlatformError from distutils.errors import DistutilsSetupError +from distutils.util import convert_path +from distutils.version import StrictVersion, LooseVersion + import setuptools, setuptools.dist + from setuptools import Feature -from distutils.core import Extension from setuptools.depends import extract_constant, get_module_constant from setuptools.depends import find_module, Require -from distutils.version import StrictVersion, LooseVersion -from distutils.util import convert_path -import sys, os.path def makeSetup(**args): @@ -20,7 +25,7 @@ def makeSetup(**args): distutils.core._setup_stop_after = "commandline" # Don't let system command line leak into tests! - args.setdefault('script_args',['install']) + args.setdefault('script_args', ['install']) try: return setuptools.setup(**args) @@ -28,21 +33,9 @@ def makeSetup(**args): distutils.core_setup_stop_after = None - - - - - - - - - - - class DependsTests(TestCase): def testExtractConst(self): - from setuptools.depends import extract_constant def f1(): @@ -70,18 +63,14 @@ class DependsTests(TestCase): def testModuleExtract(self): from distutils import __version__ - self.assertEqual( - get_module_constant('distutils','__version__'), __version__ - ) - self.assertEqual( - get_module_constant('sys','version'), sys.version - ) - self.assertEqual( - get_module_constant('setuptools.tests','__doc__'),__doc__ - ) + self.assertEqual(get_module_constant('distutils', '__version__'), + __version__) + self.assertEqual(get_module_constant('sys', 'version'), + sys.version) + self.assertEqual(get_module_constant('setuptools.tests', '__doc__'), + __doc__) def testRequire(self): - req = Require('Distutils','1.0.3','distutils') self.assertEqual(req.name, 'Distutils') @@ -99,7 +88,8 @@ class DependsTests(TestCase): self.failUnless(req.is_present()) self.failUnless(req.is_current()) - req = Require('Distutils 3000','03000','distutils',format=LooseVersion) + req = Require('Distutils 3000', '03000', 'distutils', + format=LooseVersion) self.failUnless(req.is_present()) self.failIf(req.is_current()) self.failIf(req.version_ok('unknown')) @@ -119,47 +109,26 @@ class DependsTests(TestCase): self.failUnless(req.is_present(paths)) self.failUnless(req.is_current(paths)) - - def testDependsCmd(self): path1 = convert_path('foo/bar/baz') path2 = convert_path('foo/bar/baz/spam') - dist = makeSetup( - extra_path='spam', - script_args=[ - 'install','--install-lib',path1, '--prefix',path2, - 'build','--compiler=mingw32', - ] - ) + dist = makeSetup(extra_path='spam', + script_args=['install', '--install-lib', path1, + '--prefix', path2, + 'build', '--compiler=mingw32',]) cmd = dist.get_command_obj('depends') cmd.ensure_finalized() self.assertEqual(cmd.temp, dist.get_command_obj('build').build_temp) - self.assertEqual(cmd.search_path, [path2,path1]+sys.path) + self.assertEqual(cmd.search_path, [path2,path1] + sys.path) self.assertEqual(cmd.unsafe_options, - {'install':['--install-lib',path1]} - ) + {'install': ['--install-lib',path1]}) self.assertEqual(cmd.safe_options, { 'build':['--compiler','mingw32'], - 'install':['--prefix',os.path.abspath(path2)] - }) - - - - - - - - - - - - - - + 'install':['--prefix',os.path.abspath(path2)]}) class DistroTests(TestCase): @@ -179,10 +148,8 @@ class DistroTests(TestCase): package_dir = {}, ) - def testDistroType(self): - self.failUnless(isinstance(self.dist,setuptools.dist.Distribution)) - + self.failUnless(isinstance(self.dist, setuptools.dist.Distribution)) def testExcludePackage(self): self.dist.exclude_package('a') @@ -201,8 +168,6 @@ class DistroTests(TestCase): # test removals from unspecified options makeSetup().exclude_package('x') - - def testIncludeExclude(self): # remove an extension self.dist.exclude(ext_modules=[self.e1]) @@ -241,48 +206,32 @@ class DistroTests(TestCase): self.dist.exclude_package('c') self.failIf(self.dist.has_contents_for('c')) - - - def testInvalidIncludeExclude(self): self.assertRaises(DistutilsSetupError, - self.dist.include, nonexistent_option='x' - ) + self.dist.include, nonexistent_option='x') self.assertRaises(DistutilsSetupError, - self.dist.exclude, nonexistent_option='x' - ) + self.dist.exclude, nonexistent_option='x') self.assertRaises(DistutilsSetupError, - self.dist.include, packages={'x':'y'} - ) + self.dist.include, packages={'x':'y'}) self.assertRaises(DistutilsSetupError, - self.dist.exclude, packages={'x':'y'} - ) + self.dist.exclude, packages={'x':'y'}) self.assertRaises(DistutilsSetupError, - self.dist.include, ext_modules={'x':'y'} - ) + self.dist.include, ext_modules={'x':'y'}) self.assertRaises(DistutilsSetupError, - self.dist.exclude, ext_modules={'x':'y'} - ) + self.dist.exclude, ext_modules={'x':'y'}) self.assertRaises(DistutilsSetupError, - self.dist.include, package_dir=['q'] - ) + self.dist.include, package_dir=['q']) self.assertRaises(DistutilsSetupError, - self.dist.exclude, package_dir=['q'] - ) + self.dist.exclude, package_dir=['q']) def testCmdLineOpts(self): - self.assertEqual(self.dist.get_cmdline_options(), - { 'install':{'prefix':'/usr/lib', 'install-lib':'/test'}, - 'build': {'quiet':None}, 'build_ext':{'inplace':None}, - } - ) - - - - - - + self.assertEqual( + self.dist.get_cmdline_options(), + {'install':{'prefix':'/usr/lib', 'install-lib':'/test'}, + 'build': {'quiet':None}, + 'build_ext': {'inplace':None}, + }) class FeatureTests(TestCase): @@ -295,51 +244,41 @@ class FeatureTests(TestCase): 'bar': Feature("bar", standard=True, packages=['pkg.bar'], py_modules=['bar_et'], remove=['bar.ext'], ), - 'baz': Feature( - "baz", optional=False, packages=['pkg.baz'], - scripts = ['scripts/baz_it'], - libraries=[('libfoo','foo/foofoo.c')] + 'baz': Feature("baz", optional=False, packages=['pkg.baz'], + scripts=['scripts/baz_it'], + libraries=[('libfoo','foo/foofoo.c')] ), 'dwim': Feature("DWIM", available=False, remove='bazish'), - }, + }, script_args=['--without-bar', 'install'], - packages = ['pkg.bar', 'pkg.foo'], - py_modules = ['bar_et', 'bazish'], - ext_modules = [Extension('bar.ext',['bar.c'])] + packages=['pkg.bar', 'pkg.foo'], + py_modules=['bar_et', 'bazish'], + ext_modules=[Extension('bar.ext',['bar.c'])] ) def testDefaults(self): self.failIf( - Feature( - "test",standard=True,remove='x',available=False - ).include_by_default() - ) + Feature("test",standard=True,remove='x',available=False + ).include_by_default()) self.failUnless( - Feature("test",standard=True,remove='x').include_by_default() - ) + Feature("test",standard=True,remove='x').include_by_default()) # Feature must have either kwargs, removes, or requires self.assertRaises(DistutilsSetupError, Feature, "test") def testAvailability(self): - self.assertRaises( - DistutilsPlatformError, - self.dist.features['dwim'].include_in, self.dist - ) + self.assertRaises(DistutilsPlatformError, + self.dist.features['dwim'].include_in, self.dist) def testFeatureOptions(self): dist = self.dist - self.failUnless( - ('with-dwim',None,'include DWIM') in dist.feature_options - ) - self.failUnless( - ('without-dwim',None,'exclude DWIM (default)') in dist.feature_options - ) - self.failUnless( - ('with-bar',None,'include bar (default)') in dist.feature_options - ) - self.failUnless( - ('without-bar',None,'exclude bar') in dist.feature_options - ) + self.failUnless(('with-dwim', None, 'include DWIM') + in dist.feature_options) + self.failUnless(('without-dwim', None, 'exclude DWIM (default)') + in dist.feature_options) + self.failUnless(('with-bar', None, 'include bar (default)') + in dist.feature_options) + self.failUnless(('without-bar', None, 'exclude bar') + in dist.feature_options) self.assertEqual(dist.feature_negopt['without-foo'],'with-foo') self.assertEqual(dist.feature_negopt['without-bar'],'with-bar') self.assertEqual(dist.feature_negopt['without-dwim'],'with-dwim') @@ -363,9 +302,9 @@ class FeatureTests(TestCase): self.assertRaises(DistutilsOptionError, dist.include_feature, 'bar') def testFeatureWithInvalidRemove(self): - self.assertRaises( - SystemExit, makeSetup, features = {'x':Feature('x', remove='y')} - ) + self.assertRaises(SystemExit, + makeSetup, features={'x': Feature('x', remove='y')}) + class TestCommandTests(TestCase): @@ -388,7 +327,7 @@ class TestCommandTests(TestCase): ts3 = makeSetup( test_suite='bar.tests', script_args=['test','-m','foo.tests'] - ).get_command_obj('test') + ).get_command_obj('test') ts3.ensure_finalized() self.assertEqual(ts3.test_module, 'foo.tests') self.assertEqual(ts3.test_suite, 'foo.tests.test_suite') @@ -396,7 +335,7 @@ class TestCommandTests(TestCase): def testConflictingOptions(self): ts4 = makeSetup( script_args=['test','-m','bar.tests', '-s','foo.tests.suite'] - ).get_command_obj('test') + ).get_command_obj('test') self.assertRaises(DistutilsOptionError, ts4.ensure_finalized) def testNoSuite(self): @@ -405,47 +344,13 @@ class TestCommandTests(TestCase): self.assertEqual(ts5.test_suite, None) - - - testClasses = (DependsTests, DistroTests, FeatureTests, TestCommandTests) def test_suite(): return TestSuite([makeSuite(t,'test') for t in testClasses]) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +if __name__ == "__main__": + # We have to run this from an imported setuptools.tests package, + # since the tests themselves rely on __path__. + import setuptools.tests + main(defaultTest="setuptools.tests.test_suite") |