ha(H1): исправления по ревью — жизненный цикл сессии, самодостаточный wheel
- C1: единственный владелец stop+destroy — reader-поток; close() только выставляет флаг и ждёт; повторный close и close из колбэка безопасны (регресс-тесты; TSan на close с мёртвым модулем — 0 гонок) - M1: wheel собирается с bundled mbedtls (нет внешней soname mbedcrypto); попутно исправлена bundled-ветка CMake (-lSTATIC) - C-API: счётчики потерянных событий/логов, лог-кольцо без union-балласта, атомарные fn/ctx лог-синка - provision: валидация формата облачных ответов; CLI: человеческие ошибки (exit 2), --out с правами 0600, console_script pyfglair - упаковка: MANIFEST.in (sdist с C++-исходниками), очистка stale .so, readme в метаданных; find_library без ложных .bak - тесты: close-сценарии, доставка логов, ошибки CLI/provision, C-API очередь
This commit is contained in:
@@ -47,3 +47,15 @@ async def test_discover_no_key(cloud):
|
||||
async def test_discover_unknown_region():
|
||||
with pytest.raises(ProvisionError, match="регион"):
|
||||
await discover("user@example.com", "secret", "xx")
|
||||
|
||||
|
||||
async def test_discover_malformed_devices(cloud):
|
||||
cloud["bad_devices"] = True
|
||||
with pytest.raises(ProvisionError, match="формат устройства"):
|
||||
await discover("user@example.com", "secret", "eu", base_url=cloud["url"])
|
||||
|
||||
|
||||
async def test_discover_malformed_lanip(cloud):
|
||||
cloud["bad_lanip"] = True
|
||||
with pytest.raises(ProvisionError, match="lanip"):
|
||||
await discover("user@example.com", "secret", "eu", base_url=cloud["url"])
|
||||
|
||||
Reference in New Issue
Block a user