Compare tuples to tuples when annotating tests

This commit is contained in:
Claudiu Popa 2019-09-10 12:31:15 +02:00
parent eeca6cf0ba
commit ae81e3be05

View File

@ -92,11 +92,11 @@ class TestLoggingModuleDetection(CheckerTestCase):
)
self.checker.visit_module(None)
self.checker.visit_import(stmts[0])
messages = [
Message(msg, node=stmts[1], args=args, confidence=UNDEFINED)
]
messages = [Message(msg, node=stmts[1], args=args, confidence=UNDEFINED)]
if with_too_many:
messages.append(Message("logging-too-many-args", node=stmts[1], confidence=UNDEFINED))
messages.append(
Message("logging-too-many-args", node=stmts[1], confidence=UNDEFINED)
)
with self.assertAddsMessages(*messages):
self.checker.visit_call(stmts[1])
@ -120,7 +120,9 @@ class TestLoggingModuleDetection(CheckerTestCase):
def test_brace_format_style_too_few_args(self):
self._assert_logging_format_too_few_args("('{}, {}', 1)")
self._assert_logging_format_too_few_args("('{0}, {1}', 1)")
self._assert_logging_format_too_few_args("('{named1}, {named2}', {'named1': 1})")
self._assert_logging_format_too_few_args(
"('{named1}, {named2}', {'named1': 1})"
)
self._assert_logging_format_too_few_args("('{0}, {named}', 1)")
self._assert_logging_format_too_few_args("('{}, {named}', {'named': 1})")
self._assert_logging_format_too_few_args("('{0}, {named}', {'named': 1})")
@ -131,36 +133,48 @@ class TestLoggingModuleDetection(CheckerTestCase):
self._assert_logging_format_too_many_args("('{}', 1, 2)")
self._assert_logging_format_too_many_args("('{0}', 1, 2)")
self._assert_logging_format_too_many_args("('{}, {named}', 1, 2, {'named': 1})")
self._assert_logging_format_too_many_args("('{0}, {named}', 1, 2, {'named': 1})")
self._assert_logging_format_too_many_args(
"('{0}, {named}', 1, 2, {'named': 1})"
)
@pytest.mark.skipif(sys.version_info[0] < (3, 6), reason="F-string require >=3.6")
@pytest.mark.skipif(sys.version_info < (3, 6), reason="F-string require >=3.6")
@set_config(logging_format_style="new")
def test_fstr_not_new_format_style_matching_arguments(self):
msg = "logging-format-interpolation"
args=('{', '')
args = ("{", "")
self._assert_logging_format_message(msg, "(f'{named}')", args)
@set_config(logging_format_style="fstr")
def test_modulo_not_fstr_format_style_matching_arguments(self):
msg = "logging-format-interpolation"
args=('f-string', '')
args = ("f-string", "")
with_too_many = True
self._assert_logging_format_message(msg, "('%s', 1)", args, with_too_many)
self._assert_logging_format_message(msg, "('%(named)s', {'named': 1})", args, with_too_many)
self._assert_logging_format_message(msg, "('%s %(named)s', 1, {'named': 1})", args, with_too_many)
self._assert_logging_format_message(
msg, "('%(named)s', {'named': 1})", args, with_too_many
)
self._assert_logging_format_message(
msg, "('%s %(named)s', 1, {'named': 1})", args, with_too_many
)
@set_config(logging_format_style="fstr")
def test_brace_not_fstr_format_style_matching_arguments(self):
msg = "logging-format-interpolation"
args=('f-string', '')
args = ("f-string", "")
with_too_many = True
self._assert_logging_format_message(msg, "('{}', 1)", args, with_too_many)
self._assert_logging_format_message(msg, "('{0}', 1)", args, with_too_many)
self._assert_logging_format_message(msg, "('{named}', {'named': 1})", args, with_too_many)
self._assert_logging_format_message(msg, "('{} {named}', 1, {'named': 1})", args, with_too_many)
self._assert_logging_format_message(msg, "('{0} {named}', 1, {'named': 1})", args, with_too_many)
self._assert_logging_format_message(
msg, "('{named}', {'named': 1})", args, with_too_many
)
self._assert_logging_format_message(
msg, "('{} {named}', 1, {'named': 1})", args, with_too_many
)
self._assert_logging_format_message(
msg, "('{0} {named}', 1, {'named': 1})", args, with_too_many
)
@pytest.mark.skipif(sys.version_info[0] < (3, 6), reason="F-string require >=3.6")
@pytest.mark.skipif(sys.version_info < (3, 6), reason="F-string require >=3.6")
@set_config(logging_format_style="fstr")
def test_fstr_format_style_matching_arguments(self):
self._assert_logging_format_no_messages("(f'constant string')")