import re
from hacking import core
-import pycodestyle
# D701: Default parameter value is a mutable type
# D702: Log messages require translation
@core.flake8ext
-def mutable_default_arguments(physical_line, logical_line, filename):
- if pycodestyle.noqa(physical_line):
+def mutable_default_arguments(logical_line, filename, noqa):
+ if noqa:
return
if mutable_default_argument_check.match(logical_line):
N319
"""
if logical_line.startswith("LOG.debug(_("):
- yield(0, "D706: Don't translate debug level logs")
+ yield (0, "D706: Don't translate debug level logs")
@core.flake8ext
UNDERSCORE_IMPORT_FILES.append(filename)
elif (translated_log.match(logical_line) or
string_translation.match(logical_line)):
- yield(0, "D703: Found use of _() without explicit import of _!")
+ yield (0, "D703: Found use of _() without explicit import of _!")
@core.flake8ext
matches = graduated_oslo_libraries_import_re.match(logical_line)
if matches:
- yield(0, "D704: Found import of %s. This oslo library has been "
- "graduated!" % matches.group(1))
+ yield (0, "D704: Found import of %s. This oslo library has been "
+ "graduated!" % matches.group(1))
@core.flake8ext
if re.search(r"\bbasestring\b", logical_line):
msg = ("D707: basestring is not Python3-compatible, use "
"str instead.")
- yield(0, msg)
+ yield (0, msg)
@core.flake8ext
def check_python3_xrange(logical_line):
if re.search(r"\bxrange\s*\(", logical_line):
- yield(0, "D708: Do not use xrange. Use range for "
- "large loops.")
+ yield (0, "D708: Do not use xrange. Use range for large loops.")
@core.flake8ext
for OpenStack we can enforce not using it.
"""
if "LOG.audit(" in logical_line:
- yield(0, "D709: LOG.audit is deprecated, please use LOG.info!")
+ yield (0, "D709: LOG.audit is deprecated, please use LOG.info!")
@core.flake8ext
D710
"""
if logical_line.startswith('LOG.warn('):
- yield(0, "D710:Use LOG.warning() rather than LOG.warn()")
+ yield (0, "D710:Use LOG.warning() rather than LOG.warn()")
@core.flake8ext
'are {}: '.format(existing_project_ids))
all_project_limits = self.admin_client.list_designate_limits(
headers={'x-auth-all-projects': True})
- LOG.info(
- 'Retrieved designate limits by Admin user for all projects '
- 'are: '.format(all_project_limits))
+ LOG.info('Retrieved designate limits by Admin user for all projects '
+ 'are: %s', all_project_limits)
received_project_ids = [
item['project_id'] for item in all_project_limits]
for project_id in existing_project_ids:
T108 = tempest.hacking.checks:no_hyphen_at_end_of_rand_name
N322 = tempest.hacking.checks:no_mutable_default_args
T109 = tempest.hacking.checks:no_testtools_skip_decorator
- T110 = tempest.hacking.checks:get_resources_on_service_clients
- T111 = tempest.hacking.checks:delete_resources_on_service_clients
+# TODO(johnsom) Re-enable these once tempest updates hacking to > 3.1.0
+# T110 = tempest.hacking.checks:get_resources_on_service_clients
+# T111 = tempest.hacking.checks:delete_resources_on_service_clients
T112 = tempest.hacking.checks:dont_import_local_tempest_into_lib
T113 = tempest.hacking.checks:dont_use_config_in_tempest_lib
T114 = tempest.hacking.checks:use_rand_uuid_instead_of_uuid4