Пример #1
0
        ('deprecated', [bool], False),
    ]
    for (attr_name, attr_types, attr_required) in checks:
        attr_value = getattr(header_cls, attr_name)
        if getattr(header_cls, "no_coverage") and attr_name in ['syntax']:
            continue
        if attr_name in ['syntax'] and attr_value == False:
            continue
        if attr_required and attr_value is None:
            sys.stderr.write("* %s lacks %s\n" % (header_name, attr_name))
        elif True not in [isinstance(attr_value, t) for t in attr_types]:
            sys.stderr.write("* %s %s has wrong type\n" %
                             (header_name, attr_name))

    canonical_name = getattr(header_cls, "canonical_name")
    if canonical_name != header_name:
        sys.stderr.write("* %s has mismatching canonical name %s\n" %
                         (header_name, canonical_name))

    loader = unittest.TestLoader()
    header_mod = HeaderProcessor.find_header_module(header_name)
    tests = loader.loadTestsFromModule(header_mod)
    if tests.countTestCases() == 0 and getattr(header_cls,
                                               "no_coverage") == False:
        sys.stderr.write("* %s doesn't have any tests\n" % header_name)


if __name__ == "__main__":
    checkRegistryCoverage(sys.argv[1])
    common.checkSubClasses(HttpHeader, checkHeader)
Пример #2
0
        ('list_header', [bool], True),
        ('deprecated', [bool], False),
    ]
    for (attr_name, attr_types, attr_required) in checks:
        attr_value = getattr(header_cls, attr_name)
        if getattr(header_cls, "no_coverage") and attr_name in ['syntax']:
            continue
        if attr_name in ['syntax'] and attr_value == False:
            continue
        if attr_required and attr_value == None:
            sys.stderr.write("* %s lacks %s\n" % (header_name, attr_name))
        elif True not in [isinstance(attr_value, t) for t in attr_types]:
            sys.stderr.write("* %s %s has wrong type\n" % (header_name, attr_name))

    canonical_name = getattr(header_cls, "canonical_name")
    if canonical_name != header_name:
        sys.stderr.write("* %s has mismatching canonical name %s\n" % (header_name, canonical_name))

    loader = unittest.TestLoader()
    header_mod = HeaderProcessor.find_header_module(header_name)
    tests = loader.loadTestsFromModule(header_mod)
    if tests.countTestCases() == 0 and getattr(header_cls, "no_coverage") == False:
        sys.stderr.write("* %s doesn't have any tests\n" % header_name)




if __name__ == "__main__":
    checkRegistryCoverage(sys.argv[1])
    common.checkSubClasses(HttpHeader, checkHeader)
Пример #3
0
"""
Check all Note definitions.
"""

import re

from redbot.speak import Note, categories, levels

import common


def checkNote(note_cls):
    note_name = note_cls.__name__
    assert isinstance(note_cls.category, categories), note_name
    assert isinstance(note_cls.level, levels), note_name
    assert isinstance(note_cls.summary, str), note_name
    assert note_cls.summary != "", note_name
    assert not re.search(r"\s{2,}", note_cls.summary), note_name
    assert isinstance(note_cls.text, str), note_name
    
if __name__ == "__main__":
    common.checkSubClasses(Note, checkNote)
Пример #4
0
"""
Check all Note definitions.
"""

import re

from redbot.speak import Note, categories, levels

import common


def checkNote(note_cls):
    note_name = note_cls.__name__
    assert isinstance(note_cls.category, categories), note_name
    assert isinstance(note_cls.level, levels), note_name
    assert isinstance(note_cls.summary, str), note_name
    assert note_cls.summary != "", note_name
    assert not re.search(r"\s{2,}", note_cls.summary), note_name
    assert isinstance(note_cls.text, str), note_name


if __name__ == "__main__":
    common.checkSubClasses(Note, checkNote)