Skip to content

Первый проход очистки тестов 1.11 ​

Основной прогон до изменений: 12 622 passed, 34 skipped, 9 failed, 143 deselected, 215,87 с. После: 12 622 passed, 34 skipped, 1 failed, 143 deselected, 125,26 с. Последний сбой относился только к форматированию четырёх изменённых файлов; после форматирования соответствующие 6 проверок прошли. Полный повтор после косметической правки не выдаётся за выполненный. Полная приёмка, включая slow, остаётся условием релиза.

Наблюдаемое сокращение времени основной группы — около 42%. Это один замер до/после на одной машине, без утверждения о статистической устойчивости, сокращении токенов или недельной квоты. Число выбранных случаев уменьшилось с 12 665 до 12 657; главная польза получена от устранения повторной работы.

Что изменено и какое доказательство осталось ​

СемействоИзменениеСохранённая проверка
CoherenceРабочая БД и многократные обходы всего проекта заменены маленьким настоящим git-репозиторием с намеренными дублями13 проверок запускают настоящие сборщики; искусственное отключение детектора дублей вызывает ожидаемое падение
Smoke coherenceУдалена проверка только типа list без утверждения о поведенииОбщий проход всех сборщиков, обнаружение созданных дефектов и негативные проверки ошибок
Заметки 1.9Удалены 6 функций: дубли существования страниц, редакционные фразы, отношение количества заголовков, буквальное «шестой хост» и переписанные исторические числаBreaking changes, границы обещаний, сверка чисел с протоколом и версии миграций сохранены; чтение страницы само проверяет её существование
Выбор документационных тестовВместо всего docs/ указаны реальные страницы/источники quickstart и заметок 1.9Новая страница не выбирает эти семейства; изменение их страницы или связанной команды выбирает их
Реестр выбораНеотслеживаемый git новый исходник раньше делал его тест «недостижимым»Добавлен настоящий тест unstaged/ignored-файлов; игнорируемые файлы не включаются

Исторические записи закрытых задач не переписываются: удалённые символы относятся к прежней ревизии. Замена доказательства для дальнейших изменений названа выше; наличие старой ссылки не обязывает бессрочно сохранять бессодержательный тест.

Найденные ошибки сохранены как ошибки ​

Полный исходный прогон нашёл недостающую RU-страницу и переключатели языков, ошибки mypy в телеметрии, позиционный SQL INSERT локального кэша и ложное исключение неотслеживаемого исходника из реестра тестов. Эти проблемы исправлены, проверки не удалены. Пять сообщений линтера оказались следствием разных версий: тесты запускали Ruff 0.15.12 из venv, а gate — закреплённый в CI Ruff 0.16.5. Локальный venv приведён к ci-constraints.txt; добавленные было подавления отменены. Производственный код этих пяти обработчиков не изменён. Оба замера времени сделаны до выравнивания версии, на одном и том же окружении.

Первичная AST-инвентаризация: 8395 функций, из них 53 кандидата на проверки документов и 21 на свежесть генерации; 8321 требуют классификации поведения либо дополнительного просмотра. Это эвристика, не доказательство бесполезности. Параметризованные случаи считаются отдельно. Нет основания заявлять, что остальные тысячи тестов проверены и признаны лишними.

Артефакты локального замера: .tausik/planning/release-111/tests-before-run.txt, tests-after-run.txt, test-inventory.json, removed-test-families.json. Модельные повторы и токены этой очистки не имеют точной атрибуции; их экономия остаётся неизвестной. Правила облегчённого цикла записаны в EN/RU testing-principles.md, без общего отключения quality gates.