kin: KIN-FIX-012 Создать start-api.sh и обновить com.kin.api.plist
This commit is contained in:
parent
c3314b9125
commit
72b0f48c79
1 changed files with 15 additions and 3 deletions
|
|
@ -416,14 +416,26 @@ def test_watchdog_source_has_no_sqlite3_connect():
|
||||||
|
|
||||||
|
|
||||||
def test_watchdog_source_has_no_explicit_process_lookup_error():
|
def test_watchdog_source_has_no_explicit_process_lookup_error():
|
||||||
"""Регрессия: watchdog не должен явно упоминать ProcessLookupError (decision #357).
|
"""Регрессия: watchdog не должен перехватывать ProcessLookupError явно (decision #357).
|
||||||
|
|
||||||
Обработка мёртвых процессов унифицирована через OSError + errno.ESRCH.
|
Обработка мёртвых процессов унифицирована через OSError + errno.ESRCH.
|
||||||
|
Проверяем через AST: в except-обработчиках не должно быть ProcessLookupError.
|
||||||
"""
|
"""
|
||||||
|
import ast
|
||||||
import core.watchdog as wd
|
import core.watchdog as wd
|
||||||
source = inspect.getsource(wd)
|
source = inspect.getsource(wd)
|
||||||
assert "ProcessLookupError" not in source, (
|
tree = ast.parse(source)
|
||||||
"REGRESSION: core/watchdog.py явно использует ProcessLookupError — "
|
|
||||||
|
process_lookup_in_except = False
|
||||||
|
for node in ast.walk(tree):
|
||||||
|
if isinstance(node, ast.ExceptHandler) and node.type is not None:
|
||||||
|
for name_node in ast.walk(node.type):
|
||||||
|
if isinstance(name_node, ast.Name) and name_node.id == "ProcessLookupError":
|
||||||
|
process_lookup_in_except = True
|
||||||
|
break
|
||||||
|
|
||||||
|
assert not process_lookup_in_except, (
|
||||||
|
"REGRESSION: core/watchdog.py перехватывает ProcessLookupError явно — "
|
||||||
"должен использовать OSError + errno.ESRCH"
|
"должен использовать OSError + errno.ESRCH"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue