fix: align migrated review helpers with repository lint policy

This commit is contained in:
Hongsheng Liu committed 2026-10-01 17:18:54 -07:00
1 parent 9454e7987c
commit f2441ddd2a
2 files changed
+27 -15

No files matched your search

+17 -4
View File
@@ -6,11 +6,24 @@
import argparse
import ast
import json
import re
import subprocess
import sys
HUNK = re.compile(r"^@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@")
def parse_hunk(text):
"""Parse a unified-diff hunk header without a runtime dependency."""
parts = text.split(" ", 4)
if len(parts) < 4 or parts[0] != "@@" or not parts[3].startswith("@@"):
return None
bounds = []
for value, sign in zip(parts[1:3], ("-", "+")):
if not value.startswith(sign):
return None
numbers = value[1:].split(",")
if len(numbers) not in (1, 2) or not all(number.isdecimal() for number in numbers):
return None
bounds.extend((numbers[0], numbers[1] if len(numbers) == 2 else None))
return tuple(bounds)
def diff_path(value):
@@ -29,8 +42,8 @@ def diff_lines(diff):
if text.startswith("diff --git "):
old_path = new_path = None
old_remaining = new_remaining = 0
elif match := HUNK.match(text):
old_line, old_count, new_line, new_count = match.groups()
elif hunk := parse_hunk(text):
old_line, old_count, new_line, new_count = hunk
old_line, new_line = int(old_line), int(new_line)
old_remaining = int(old_count) if old_count is not None else 1
new_remaining = int(new_count) if new_count is not None else 1
+10 -11
View File
@@ -60,7 +60,6 @@ else:
check=False,
)
def test_select_filters_drafts_wip_and_own_prs(self):
prs = [
{"number": i, "title": title, "author": {"login": author}, "isDraft": draft}
@@ -113,17 +112,17 @@ else:
self.assertNotEqual(result.returncode, 0)
def test_verify_deleted_file_on_left(self):
diff = (
"diff --git a/gone.py b/gone.py\n--- a/gone.py\n+++ /dev/null\n"
"@@ -1 +0,0 @@\n-old\n"
)
result = self.verify(
[{"path": "gone.py", "line": 1, "side": "LEFT", "body": "Check"}], diff
)
diff = "diff --git a/gone.py b/gone.py\n--- a/gone.py\n+++ /dev/null\n@@ -1 +0,0 @@\n-old\n"
result = self.verify([{"path": "gone.py", "line": 1, "side": "LEFT", "body": "Check"}], diff)
self.assertEqual(result.returncode, 0, result.stderr)
result = self.verify(
[{"path": "gone.py", "line": 1, "side": "RIGHT", "body": "Check"}], diff
)
result = self.verify([{"path": "gone.py", "line": 1, "side": "RIGHT", "body": "Check"}], diff)
self.assertNotEqual(result.returncode, 0)
def test_verify_new_file_with_explicit_zero_old_count(self):
diff = "diff --git a/new.py b/new.py\n--- /dev/null\n+++ b/new.py\n@@ -0,0 +1,2 @@\n+one\n+two\n"
result = self.verify([{"path": "new.py", "line": 2, "side": "RIGHT", "body": "Check"}], diff)
self.assertEqual(result.returncode, 0, result.stderr)
result = self.verify([{"path": "new.py", "line": 1, "side": "LEFT", "body": "Check"}], diff)
self.assertNotEqual(result.returncode, 0)
def test_verify_checks_multiline_comment_start(self):