diff options
author | Mark Haines <mark.haines@matrix.org> | 2015-08-26 12:45:29 +0100 |
---|---|---|
committer | Mark Haines <mark.haines@matrix.org> | 2015-08-26 12:45:29 +0100 |
commit | 4f6fa981ec9035b2708ba0dc9db21d5dd629f389 (patch) | |
tree | bec80d07093987b4287c0e26aa496f6309fcc10f /setup.py | |
parent | Merge pull request #253 from matrix-org/tox (diff) | |
download | synapse-4f6fa981ec9035b2708ba0dc9db21d5dd629f389.tar.xz |
Make 'setup.py test' run tox
Diffstat (limited to 'setup.py')
-rwxr-xr-x | setup.py | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/setup.py b/setup.py index 8ad20df7cb..adc3316928 100755 --- a/setup.py +++ b/setup.py @@ -16,7 +16,8 @@ import glob import os -from setuptools import setup, find_packages +from setuptools import setup, find_packages, Command +import sys here = os.path.abspath(os.path.dirname(__file__)) @@ -37,6 +38,28 @@ def exec_file(path_segments): exec(code, result) return result + +class Tox(Command): + user_options = [('tox-args=', 'a', "Arguments to pass to tox")] + + def initialize_options(self): + self.tox_args = None + + def finalize_options(self): + self.test_args = [] + self.test_suite = True + + def run(self): + #import here, cause outside the eggs aren't loaded + import tox + import shlex + args = self.tox_args + if args: + args = shlex.split(self.tox_args) + errno = tox.cmdline(args=args) + sys.exit(errno) + + version = exec_file(("synapse", "__init__.py"))["__version__"] dependencies = exec_file(("synapse", "python_dependencies.py")) long_description = read_file(("README.rst",)) @@ -52,4 +75,6 @@ setup( zip_safe=False, long_description=long_description, scripts=["synctl"] + glob.glob("scripts/*"), + tests_require=['tox'], + cmdclass={'test': Tox}, ) |