All the Blender Institute Python webprojects are moving to Poetry; it works better than Pipenv in various regards.
33 lines
1.0 KiB
Python
33 lines
1.0 KiB
Python
import pathlib
|
|
import sys
|
|
import unittest
|
|
|
|
import mypy.api
|
|
|
|
import blender_asset_tracer
|
|
|
|
|
|
class MypyRunnerTest(unittest.TestCase):
|
|
def test_run_mypy(self):
|
|
# This test doesn't work with Tox, it raises an AssertionError:
|
|
# /path/to/blender-asset-tracer/.tox/py37/lib/python3.7/site-packages is in the PYTHONPATH.
|
|
# Please change directory so it is not.
|
|
for path in sys.path:
|
|
if '/.tox/' in path and path.endswith('/site-packages'):
|
|
self.skipTest("Mypy doesn't like Tox")
|
|
|
|
path = pathlib.Path(blender_asset_tracer.__file__).parent
|
|
result = mypy.api.run(['--incremental', '--ignore-missing-imports', str(path)])
|
|
|
|
stdout, stderr, status = result
|
|
|
|
messages = []
|
|
if stderr:
|
|
messages.append(stderr)
|
|
if stdout:
|
|
messages.append(stdout)
|
|
if status:
|
|
messages.append('Mypy failed with status %d' % status)
|
|
if messages:
|
|
self.fail('\n'.join(['Mypy errors:'] + messages))
|