mirror of
https://github.com/google/brotli.git
synced 2024-11-24 04:20:16 +00:00
Python: Simplify test suite generation by using unittest discovery (#485)
This commit is contained in:
parent
6f227228ce
commit
89a5b6e625
16
.gitignore
vendored
16
.gitignore
vendored
@ -1,9 +1,17 @@
|
||||
# C
|
||||
*.o
|
||||
*.pyc
|
||||
*.txt.uncompressed
|
||||
*.bro
|
||||
*.unbro
|
||||
bin/
|
||||
buildfiles/
|
||||
**/obj/
|
||||
dist/
|
||||
|
||||
# Python
|
||||
__pycache__/
|
||||
*.py[cod]
|
||||
*.so
|
||||
*.egg-info/
|
||||
|
||||
# Tests
|
||||
*.txt.uncompressed
|
||||
*.bro
|
||||
*.unbro
|
||||
|
0
python/tests/__init__.py
Normal file
0
python/tests/__init__.py
Normal file
@ -6,7 +6,7 @@
|
||||
import subprocess
|
||||
import unittest
|
||||
|
||||
import _test_utils
|
||||
from . import _test_utils
|
||||
import brotli
|
||||
|
||||
PYTHON = _test_utils.PYTHON
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
import unittest
|
||||
|
||||
import _test_utils
|
||||
from . import _test_utils
|
||||
import brotli
|
||||
|
||||
|
||||
|
@ -6,7 +6,7 @@
|
||||
import functools
|
||||
import unittest
|
||||
|
||||
import _test_utils
|
||||
from . import _test_utils
|
||||
import brotli
|
||||
|
||||
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
import unittest
|
||||
|
||||
import _test_utils
|
||||
from . import _test_utils
|
||||
import brotli
|
||||
|
||||
|
||||
|
35
setup.py
35
setup.py
@ -6,6 +6,8 @@
|
||||
import os
|
||||
import platform
|
||||
import re
|
||||
import unittest
|
||||
|
||||
try:
|
||||
from setuptools import Extension
|
||||
from setuptools import setup
|
||||
@ -13,7 +15,6 @@ except:
|
||||
from distutils.core import Extension
|
||||
from distutils.core import setup
|
||||
from distutils.command.build_ext import build_ext
|
||||
from distutils.cmd import Command
|
||||
|
||||
|
||||
CURR_DIR = os.path.abspath(os.path.dirname(os.path.realpath(__file__)))
|
||||
@ -37,30 +38,10 @@ def get_version():
|
||||
return '{0}.{1}.{2}'.format(major, minor, patch)
|
||||
|
||||
|
||||
class TestCommand(Command):
|
||||
""" Run all *_test.py scripts in 'tests' folder with the same Python
|
||||
interpreter used to run setup.py.
|
||||
"""
|
||||
|
||||
user_options = []
|
||||
|
||||
def initialize_options(self):
|
||||
pass
|
||||
|
||||
def finalize_options(self):
|
||||
pass
|
||||
|
||||
def run(self):
|
||||
import sys, subprocess, glob
|
||||
|
||||
test_dir = os.path.join(CURR_DIR, 'python', 'tests')
|
||||
os.chdir(test_dir)
|
||||
|
||||
for test in glob.glob('*_test.py'):
|
||||
try:
|
||||
subprocess.check_call([sys.executable, test])
|
||||
except subprocess.CalledProcessError:
|
||||
raise SystemExit(1)
|
||||
def get_test_suite():
|
||||
test_loader = unittest.TestLoader()
|
||||
test_suite = test_loader.discover('python', pattern='*_test.py')
|
||||
return test_suite
|
||||
|
||||
|
||||
class BuildExt(build_ext):
|
||||
@ -258,9 +239,10 @@ EXT_MODULES = [
|
||||
language='c++'),
|
||||
]
|
||||
|
||||
TEST_SUITE = 'setup.get_test_suite'
|
||||
|
||||
CMD_CLASS = {
|
||||
'build_ext': BuildExt,
|
||||
'test': TestCommand,
|
||||
}
|
||||
|
||||
setup(
|
||||
@ -275,4 +257,5 @@ setup(
|
||||
package_dir=PACKAGE_DIR,
|
||||
py_modules=PY_MODULES,
|
||||
ext_modules=EXT_MODULES,
|
||||
test_suite=TEST_SUITE,
|
||||
cmdclass=CMD_CLASS)
|
||||
|
Loading…
Reference in New Issue
Block a user