From 7c3f665ba8beac79656e45ef739f2527a6273399 Mon Sep 17 00:00:00 2001 From: Aaditya Subedi Date: Wed, 19 Nov 2025 12:57:00 +0545 Subject: [PATCH 1/3] check for print debug statement --- pre_commit_hooks/debug_statement_hook.py | 7 ++++++- tests/debug_statement_hook_test.py | 6 ++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/pre_commit_hooks/debug_statement_hook.py b/pre_commit_hooks/debug_statement_hook.py index 7e6be95e..7f64a230 100644 --- a/pre_commit_hooks/debug_statement_hook.py +++ b/pre_commit_hooks/debug_statement_hook.py @@ -20,6 +20,11 @@ 'wdb', } +DEBUG_CALL_STATEMENTS = { + 'breakpoint', + 'print' +} + class Debug(NamedTuple): line: int @@ -45,7 +50,7 @@ def visit_ImportFrom(self, node: ast.ImportFrom) -> None: def visit_Call(self, node: ast.Call) -> None: """python3.7+ breakpoint()""" - if isinstance(node.func, ast.Name) and node.func.id == 'breakpoint': + if isinstance(node.func, ast.Name) and node.func.id in DEBUG_CALL_STATEMENTS: st = Debug(node.lineno, node.col_offset, node.func.id, 'called') self.breakpoints.append(st) self.generic_visit(node) diff --git a/tests/debug_statement_hook_test.py b/tests/debug_statement_hook_test.py index 5a8e0bb2..a301fbf3 100644 --- a/tests/debug_statement_hook_test.py +++ b/tests/debug_statement_hook_test.py @@ -30,6 +30,12 @@ def test_finds_breakpoint(): visitor = DebugStatementParser() visitor.visit(ast.parse('breakpoint()')) assert visitor.breakpoints == [Debug(1, 0, 'breakpoint', 'called')] + + +def test_finds_print(): + visitor = DebugStatementParser() + visitor.visit(ast.parse('print()')) + assert visitor.breakpoints == [Debug(1, 0, 'print', 'called')] def test_returns_one_for_failing_file(tmpdir): From 4c651f96cd0d6e72aa3848773d57ac805a830d79 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 19 Nov 2025 07:14:28 +0000 Subject: [PATCH 2/3] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- pre_commit_hooks/debug_statement_hook.py | 2 +- tests/debug_statement_hook_test.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pre_commit_hooks/debug_statement_hook.py b/pre_commit_hooks/debug_statement_hook.py index 7f64a230..0af43bb3 100644 --- a/pre_commit_hooks/debug_statement_hook.py +++ b/pre_commit_hooks/debug_statement_hook.py @@ -22,7 +22,7 @@ DEBUG_CALL_STATEMENTS = { 'breakpoint', - 'print' + 'print', } diff --git a/tests/debug_statement_hook_test.py b/tests/debug_statement_hook_test.py index a301fbf3..da9c218c 100644 --- a/tests/debug_statement_hook_test.py +++ b/tests/debug_statement_hook_test.py @@ -30,9 +30,9 @@ def test_finds_breakpoint(): visitor = DebugStatementParser() visitor.visit(ast.parse('breakpoint()')) assert visitor.breakpoints == [Debug(1, 0, 'breakpoint', 'called')] - - -def test_finds_print(): + + +def test_finds_print(): visitor = DebugStatementParser() visitor.visit(ast.parse('print()')) assert visitor.breakpoints == [Debug(1, 0, 'print', 'called')] From 51e0c8410753d755e3e57e405d25e29d20fac0e0 Mon Sep 17 00:00:00 2001 From: Aaditya Subedi Date: Wed, 19 Nov 2025 13:06:38 +0545 Subject: [PATCH 3/3] flake8 line too long error addressed --- pre_commit_hooks/debug_statement_hook.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pre_commit_hooks/debug_statement_hook.py b/pre_commit_hooks/debug_statement_hook.py index 7f64a230..a083bb3c 100644 --- a/pre_commit_hooks/debug_statement_hook.py +++ b/pre_commit_hooks/debug_statement_hook.py @@ -22,7 +22,7 @@ DEBUG_CALL_STATEMENTS = { 'breakpoint', - 'print' + 'print', } @@ -50,7 +50,10 @@ def visit_ImportFrom(self, node: ast.ImportFrom) -> None: def visit_Call(self, node: ast.Call) -> None: """python3.7+ breakpoint()""" - if isinstance(node.func, ast.Name) and node.func.id in DEBUG_CALL_STATEMENTS: + if ( + isinstance(node.func, ast.Name) and + node.func.id in DEBUG_CALL_STATEMENTS + ): st = Debug(node.lineno, node.col_offset, node.func.id, 'called') self.breakpoints.append(st) self.generic_visit(node)