grade.py: не падать на машине без компилятора — ПРОПУСК с причиной, авто-отключение санитайзеров, .exe под Windows, WSL-подсказка

This commit is contained in:
Kodlo-chan
2026-09-23 17:48:28 +07:00
parent 165dd5619d
commit 75a10f9999
4 changed files with 155 additions and 18 deletions
+18
View File
@@ -20,6 +20,24 @@
- `grade.py` — автопроверка задач (ASAN/UBSAN, таймауты, PASS/FAIL + полный лог);
- `questions_export.txt` — вопросы квиза текстом.
## Требования
- **Linux / WSL / macOS**: `g++` (C++17), `gcc`, `gdb`, `python3`, `bash`, `awk`.
Одной строкой в Ubuntu: `sudo apt update && sudo apt install -y build-essential gdb python3`.
- **Windows-native (MinGW-w64/clang)**: работают задачи 01–06 и 10–13 (нужен `g++` в PATH),
а также карточки `facts_drill.py`. Задачи **07 (epoll), 08 (bash/awk) и 09 (ASAN+gdb)**
под Windows-native не запускаются — они помечаются `ПРОПУСК`, а не `FAIL`.
Полный прогон — в WSL:
```powershell
wsl --install -d Ubuntu
```
```bash
sudo apt update && sudo apt install -y build-essential gdb python3
cd /mnt/d/Projects/edu/eduplan-cpp-eltex/diag && python3 grade.py
```
- Если компилятора нет совсем, `grade.py` больше не падает трейсбеком: он печатает
`ПРОПУСК` с причиной по каждой задаче и подсказку, что доставить.
## Как начать
```bash