diff options
author | Aaron LI <aaronly.me@outlook.com> | 2016-10-04 21:36:35 +0800 |
---|---|---|
committer | Aaron LI <aaronly.me@outlook.com> | 2016-10-04 21:36:35 +0800 |
commit | 04bf18bdf6c0eebe987cbb0f450e70d686cf01d9 (patch) | |
tree | 232977f52f8c863ca429f44d5df257f24a77818a | |
parent | c3e2d564023c30271edbd7651ee3bd07e53ab9d8 (diff) | |
download | fg21sim-04bf18bdf6c0eebe987cbb0f450e70d686cf01d9.tar.bz2 |
Integrate pytest for test support.
Credits:
* http://doc.pytest.org/en/latest/goodpractices.html
* https://github.com/kennethreitz/requests/blob/master/setup.py
-rw-r--r-- | Makefile | 6 | ||||
-rwxr-xr-x | setup.py | 26 | ||||
-rw-r--r-- | tests/__init__.py | 0 |
3 files changed, 29 insertions, 3 deletions
@@ -20,7 +20,7 @@ default: @echo " + devbuild" @echo " (build and) install the package to the virtualenv" @echo " + test" - @echo " run the test cases" + @echo " run the tests" # Create virtualenv and install/update the dependencies venv: ${VENV}/bin/activate @@ -33,6 +33,6 @@ ${VENV}/bin/activate: requirements.txt devbuild: venv ./${VENV}/bin/python3 setup.py install -# Run the test cases +# Run the tests test: devbuild - ./${VENV}/bin/python3 tests/runtests.py + ./${VENV}/bin/python3 setup.py test @@ -1,18 +1,43 @@ #!/usr/bin/env python3 # +# Copyright (c) 2016 Weitian LI <liweitianux@live.com> +# MIT license +# # References: # [1] Python Packaging User Guide # https://packaging.python.org/ +# [2] pytest - Good Integration Practices +# http://doc.pytest.org/en/latest/goodpractices.html # import os import sys from setuptools import setup, find_packages +from setuptools.command.test import test as TestCommand import fg21sim as pkg +class PyTest(TestCommand): + user_options = [("pytest-args=", "a", "Arguments to pass to pytest")] + + def initialize_options(self): + TestCommand.initialize_options(self) + self.pytest_args = [] + + def finalize_options(self): + TestCommand.finalize_options(self) + self.test_args = [] + self.test_suite = True + + def run_tests(self): + # import here, cause outside the eggs aren't loaded + import pytest + errno = pytest.main(self.pytest_args) + sys.exit(errno) + + def read(fname): return open(os.path.join(os.path.dirname(__file__), fname)).read() @@ -56,4 +81,5 @@ setup( "configobj", ], tests_require=["pytest"], + cmdclass={"test": PyTest}, ) diff --git a/tests/__init__.py b/tests/__init__.py deleted file mode 100644 index e69de29..0000000 --- a/tests/__init__.py +++ /dev/null |