summaryrefslogtreecommitdiff
path: root/setup.py
diff options
context:
space:
mode:
Diffstat (limited to 'setup.py')
-rwxr-xr-x[-rw-r--r--]setup.py51
1 files changed, 43 insertions, 8 deletions
diff --git a/setup.py b/setup.py
index b3ce56f..050e43b 100644..100755
--- a/setup.py
+++ b/setup.py
@@ -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'
],