mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-05 07:27:15 +08:00
feat: 新增 Python 3.14t 自由线程镜像 (#6434)
* fix(resource): select free-threaded extension ABI * chore(deps): require moviepilot-rust 0.2.9 * perf: add free-threaded runtime comparison * feat: add free-threaded runtime profile * chore(deps): require moviepilot-rust 0.3.0 * test: isolate system endpoint import graph * fix(docker): preserve runtime profile during recovery * feat(runtime): expose active GIL state * feat(plugin): log GIL fallback attribution * test: refresh runtime observability dependency baseline * fix(plugin): validate the active uv runtime profile * test(runtime): expand free-threaded benchmark evidence * docs(runtime): define v3t governance gates * test(runtime): separate rust benchmark modes * docs: sync free-threaded architecture baseline * perf: add PostgreSQL driver comparison * docs(runtime): record final free-threaded evidence * fix(runtime): converge dual-profile dependency verification * fix(runtime): scope Python 3.14 warning filter * fix(runtime): match actual oss2 syntax warning * docs(runtime): refresh free-threaded benchmark evidence * test(architecture): refresh runtime dependency baseline * ci: skip unused Trivy Java database * build: exclude local verification artifacts * docs(runtime): refresh PostgreSQL driver benchmarks * docs(runtime): record plugin restore acceptance * docs(runtime): record amd64 candidate acceptance * ci: pin beta image publisher action * test(architecture): merge runtime dependency baseline * feat(runtime): expose Python GIL status * docs(runtime): document Python runtime status fields
This commit is contained in:
@@ -223,6 +223,19 @@ def test_pg_sync_engine_applies_pool_settings(monkeypatch):
|
||||
assert captured["url"].startswith("postgresql")
|
||||
|
||||
|
||||
def test_pg_sync_engine_uses_psycopg_on_free_threaded_python(monkeypatch):
|
||||
"""free-threaded 运行时不能加载会重新启用 GIL 的 psycopg2 扩展。"""
|
||||
monkeypatch.setattr(engine_module, "is_free_threaded_runtime", lambda: True)
|
||||
captured = {}
|
||||
monkeypatch.setattr(engine_module, "create_engine",
|
||||
lambda **kw: captured.update(kw) or MagicMock())
|
||||
monkeypatch.setattr(engine_module, "_register_database_error_logging", lambda *_a: None)
|
||||
|
||||
engine_module._get_postgresql_engine(is_async=False)
|
||||
|
||||
assert captured["url"].startswith("postgresql+psycopg://")
|
||||
|
||||
|
||||
def test_pg_async_engine_pooled_omits_poolclass(monkeypatch):
|
||||
"""
|
||||
池化的异步引擎不得指定 poolclass:SQLAlchemy 需自行选用异步适配的
|
||||
|
||||
Reference in New Issue
Block a user