diff options
Diffstat (limited to 'setup.py')
-rwxr-xr-x[-rw-r--r--] | setup.py | 51 |
1 files changed, 43 insertions, 8 deletions
@@ -1,11 +1,26 @@ -#!/usr/bin/python +#!/usr/bin/env python # -*- coding: utf-8 -*- +import os +import re +import sys from distutils.core import setup from distutils import cmd -# Remember to change in factory/__init__.py as well! -VERSION = '1.1.3' +root = os.path.abspath(os.path.dirname(__file__)) + +def get_version(*module_dir_components): + version_re = re.compile(r"^__version__ = ['\"](.*)['\"]$") + module_root = os.path.join(root, *module_dir_components) + module_init = os.path.join(module_root, '__init__.py') + with open(module_init, 'r') as f: + for line in f: + match = version_re.match(line[:-1]) + if match: + return match.groups()[0] + return '0.1.0' + +VERSION = get_version('factory') class test(cmd.Command): @@ -26,15 +41,28 @@ class test(cmd.Command): def run(self): """Run the test suite.""" - import unittest + try: + import unittest2 as unittest + except ImportError: + import unittest + if self.verbose: verbosity=1 else: verbosity=0 - suite = unittest.TestLoader().loadTestsFromName(self.test_suite) + loader = unittest.TestLoader() + suite = unittest.TestSuite() + + if self.test_suite == 'tests': + for test_module in loader.discover('.'): + suite.addTest(test_module) + else: + suite.addTest(loader.loadTestsFromName(self.test_suite)) - unittest.TextTestRunner(verbosity=verbosity).run(suite) + result = unittest.TextTestRunner(verbosity=verbosity).run(suite) + if not result.wasSuccessful(): + sys.exit(1) setup( @@ -44,8 +72,8 @@ setup( author='Mark Sandstrom', author_email='mark@deliciouslynerdy.com', maintainer='Raphaƫl Barrois', - maintainer_email='raphael.barrois@polytechnique.org', - url='http://github.com/rbarrois/factory_boy', + maintainer_email='raphael.barrois+fboy@polytechnique.org', + url='https://github.com/rbarrois/factory_boy', keywords=['factory_boy', 'factory', 'fixtures'], packages=['factory'], license='MIT', @@ -56,6 +84,13 @@ setup( 'License :: OSI Approved :: MIT License', 'Operating System :: OS Independent', 'Programming Language :: Python', + 'Programming Language :: Python :: 2', + 'Programming Language :: Python :: 2.6', + 'Programming Language :: Python :: 2.7', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.2', + 'Programming Language :: Python :: 3.3', + 'Programming Language :: Python :: Implementation :: PyPy', 'Topic :: Software Development :: Testing', 'Topic :: Software Development :: Libraries :: Python Modules' ], |