fix: three syntax errors in perf_bottleneck_finder.py (#211)
Some checks failed
Test / pytest (pull_request) Failing after 27s

1. Line 116: escaped double quotes in raw string regex char classes
2. Lines 509-510: merged split string into single line
3. Line 524: moved global declaration to start of main()
This commit is contained in:
2026-04-21 11:44:52 +00:00
parent 99d5832fa9
commit b46e9fef04

View File

@@ -113,7 +113,7 @@ def find_slow_tests_by_scan(repo_path: str) -> List[Bottleneck]:
(r"time\.sleep\((\d+(?:\.\d+)?)\)", "Contains time.sleep() — consider using mock or async wait"), (r"time\.sleep\((\d+(?:\.\d+)?)\)", "Contains time.sleep() — consider using mock or async wait"),
(r"subprocess\.run\(.*timeout=(\d+)", "Subprocess with timeout — may block test"), (r"subprocess\.run\(.*timeout=(\d+)", "Subprocess with timeout — may block test"),
(r"requests\.(get|post|put|delete)\(", "Real HTTP call — mock with responses or httpretty"), (r"requests\.(get|post|put|delete)\(", "Real HTTP call — mock with responses or httpretty"),
(r"open\([^)]*['"]w['"])", "File I/O in test — use tmp_path fixture"), (r"open\([^)]*['\"]w['\"]", "File I/O in test — use tmp_path fixture"),
] ]
for root, dirs, files in os.walk(repo_path): for root, dirs, files in os.walk(repo_path):
@@ -506,13 +506,14 @@ def format_markdown(report: PerfReport) -> str:
lines.append(f"- {icon} {b.name}{loc} — ~{b.duration_s:.1f}s — {b.recommendation}") lines.append(f"- {icon} {b.name}{loc} — ~{b.duration_s:.1f}s — {b.recommendation}")
lines.append(f"") lines.append(f"")
return " return "\n".join(lines)
".join(lines)
# ── Main ─────────────────────────────────────────────────────────── # ── Main ───────────────────────────────────────────────────────────
def main(): def main():
global SLOW_TEST_THRESHOLD_S
parser = argparse.ArgumentParser(description="Performance Bottleneck Finder") parser = argparse.ArgumentParser(description="Performance Bottleneck Finder")
parser.add_argument("--repo", default=".", help="Path to repository to analyze") parser.add_argument("--repo", default=".", help="Path to repository to analyze")
parser.add_argument("--json", action="store_true", help="Output as JSON") parser.add_argument("--json", action="store_true", help="Output as JSON")
@@ -521,7 +522,6 @@ def main():
help="Slow test threshold in seconds") help="Slow test threshold in seconds")
args = parser.parse_args() args = parser.parse_args()
global SLOW_TEST_THRESHOLD_S
SLOW_TEST_THRESHOLD_S = args.threshold SLOW_TEST_THRESHOLD_S = args.threshold
if not os.path.isdir(args.repo): if not os.path.isdir(args.repo):