fix(generator): усилены проверки startup-history
- Зачем: - коммит-гейт не запускал корневые контрактные тесты, а часть подтверждённых обходов могла снова смешать разные миры генератора. - Что: - добавлены цели make test, make lint и contract-test с тихим pytest-выводом через Docker. - закрыты обходы через generator-reset, неизвестную версию state и fail-open проверку DM-витрин. - усилены поведенческие контракты CHECK_LIVE_SEAM, профиля manifest и pause-check etl_pipeline; обновлены документы и issue 19. - Проверка: - make test; make lint; git diff --check.
This commit is contained in:
+16
-9
@@ -176,24 +176,25 @@ make generator-backfill
|
||||
# Продолжить live-поток из state
|
||||
make generator-continue
|
||||
|
||||
# Начать live-поток как новый мир
|
||||
# Начать live-поток как новый мир на чистом стенде
|
||||
make generator-reset
|
||||
|
||||
# Чистый аналитический прогон всего стенда
|
||||
make generated-history-analytics
|
||||
|
||||
# Запуск тестов
|
||||
make generator-test
|
||||
# Быстрые проверки перед коммитом
|
||||
make test
|
||||
make lint
|
||||
```
|
||||
|
||||
Основной ручной путь запуска — глаголы `generator-backfill`, `generator-continue`
|
||||
и `generator-reset`. Старые `GEN_RUN_MODE`, `GEN_STATE_RESET` и
|
||||
`GEN_MODEL_T_END` остаются низкоуровневым способом для отладки.
|
||||
|
||||
`generator-backfill` и `startup-history-import` перед записью проверяют, что
|
||||
Kafka data-топики и STG пустые. `generator-continue` продолжает только
|
||||
совместимый state; старый формат state при `GEN_STATE_RESET=false` даёт отказ с
|
||||
подсказкой очистить стенд или явно начать новый мир.
|
||||
`generator-backfill`, `startup-history-import` и `generator-reset` перед записью
|
||||
проверяют, что Kafka data-топики и STG пустые. `generator-continue` продолжает
|
||||
только совместимый state; старый формат state при `GEN_STATE_RESET=false` даёт
|
||||
отказ с подсказкой очистить стенд или явно начать новый мир на чистом стенде.
|
||||
|
||||
## Метрики Prometheus
|
||||
|
||||
@@ -351,16 +352,22 @@ GEN_STATE_ENABLED=false docker compose up -d generator
|
||||
|
||||
```bash
|
||||
# Через Makefile (рекомендуется)
|
||||
make generator-test
|
||||
make test
|
||||
make lint
|
||||
|
||||
# Вручную через Docker
|
||||
docker build -t generator:test .
|
||||
docker run --rm -v $(PWD):/workspace -w /workspace/generator generator:test pytest tests/ -v
|
||||
docker run --rm -v $(PWD):/workspace -w /workspace/generator generator:test pytest tests/ -q
|
||||
|
||||
# Конкретный файл тестов
|
||||
docker run --rm -v $(PWD):/workspace -w /workspace/generator generator:test pytest tests/test_generation.py -v
|
||||
```
|
||||
|
||||
`make test` запускает тесты генератора, контрактные тесты верхнего уровня и
|
||||
проверку compose-конфигурации. `make lint` проверяет синтаксис Python и Bash,
|
||||
compose-конфиг и пробелы в diff. Долгие стендовые проверки вроде
|
||||
`make generated-history-runtime-check` запускаются отдельно.
|
||||
|
||||
### Структура тестов
|
||||
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user