forked from p32761584/tensorlayer3
73 lines
2.3 KiB
Python
73 lines
2.3 KiB
Python
#!/usr/bin/env python
|
|
# -*- coding: utf-8 -*-
|
|
|
|
import os
|
|
import unittest
|
|
|
|
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'
|
|
|
|
from tests.utils import list_all_py_files
|
|
|
|
from pydocstyle.checker import check
|
|
from pydocstyle.checker import violations
|
|
|
|
registry = violations.ErrorRegistry
|
|
|
|
|
|
def lookup_error_params(code):
|
|
for group in registry.groups:
|
|
for error_params in group.errors:
|
|
if error_params.code == code:
|
|
return error_params
|
|
|
|
|
|
class PyDOC_Style_Test(unittest.TestCase):
|
|
|
|
@classmethod
|
|
def setUpClass(cls):
|
|
|
|
cls.violations = list()
|
|
|
|
# TODO: fix all violations to make it empty
|
|
_disabled_checks = [
|
|
'D205', # 1 blank line required between summary line and description
|
|
'D102', # Missing docstring in public method
|
|
'D400', # First line should end with a period
|
|
'D100', # Missing docstring in public module
|
|
'D107', # Missing docstring in __init__
|
|
'D103', # Missing docstring in public function
|
|
'D401', # First line should be in imperative mood
|
|
'D101', # Missing docstring in public class
|
|
'D413', # Missing blank line after last section
|
|
'D105', # Missing docstring in magic method
|
|
'D104', # Missing docstring in public package
|
|
'D302', # Use u"""for Unicode docstrings
|
|
|
|
# Rules that has conflict with yapf
|
|
'D202', # No blank lines allowed after function docstring
|
|
]
|
|
|
|
for filename in list_all_py_files():
|
|
print(filename)
|
|
for err in check([filename]):
|
|
if not err.code in _disabled_checks:
|
|
cls.violations.append(err)
|
|
|
|
def test_violations(self):
|
|
if self.violations:
|
|
counts = dict()
|
|
|
|
for err in self.violations:
|
|
counts[err.code] = counts.get(err.code, 0) + 1
|
|
print(err)
|
|
|
|
for n, code in sorted([(n, code) for code, n in counts.items()], reverse=True):
|
|
p = lookup_error_params(code)
|
|
print('%s %8d %s' % (code, n, p.short_desc))
|
|
|
|
raise Exception('PyDoc Coding Style: %d violations have been found' % (len(self.violations)))
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|