/
tzh
/
leetcode-trainer
Обзор
Документация
Войти
/
tzh
/
leetcode-trainer
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
scripts/check.py
45 строк
1 KB
Ts Zh
init
01 июн 2026, 19:27
01 июн 2026, 19:27
919dd12
Код
Авторство
О чём код?
#!/usr/bin/env python3 """ Запускает solution.py и выдаёт понятный отчёт. Использование: uv run python scripts/check.py """ import subprocess import sys result = subprocess.run( ["uv", "run", "python", "solution.py"], capture_output=True, text=True, ) stdout = result.stdout.strip() stderr = result.stderr.strip() if result.returncode == 0: print("✅ OK — все тесты прошли") if stdout and stdout != "OK": print(stdout) sys.exit(0) # Разбираем ошибку if "AssertionError" in stderr: lines = stderr.splitlines() for i, line in enumerate(lines): if "assert" in line.lower(): print(f"❌ Тест упал: {line.strip()}") if i + 1 < len(lines): print(f" {lines[i+1].strip()}") break else: print("❌ AssertionError (не удалось определить строку)") print(stderr[-300:]) elif "IndentationError" in stderr or "SyntaxError" in stderr: lines = stderr.splitlines() for line in lines: if "line" in line or "Error" in line: print(f"🔴 Синтаксис: {line.strip()}") else: print("❌ Ошибка выполнения:") print(stderr[-400:]) sys.exit(1)