Files
deepseek-harness/python/sdk/tests/manual_sdk_shutdown_smoke.py

37 lines
1.3 KiB
Python

"""Run a short SDK session, close immediately, and try restoring its history.
Requires an installed SDK/runtime and DEEPSEEK_API_KEY. Run this file directly.
The temporary Harness home is retained for inspection.
"""
from pathlib import Path
from tempfile import mkdtemp
from time import monotonic
from deepseek_harness import DeepSeekHarness, DeepSeekHarnessConfig
root = Path(mkdtemp(prefix="dsh-shutdown-"))
config = DeepSeekHarnessConfig(
profile="sdk-minimal",
dsh_home=str(root / "home"),
cwd=str(root),
shutdown_timeout_seconds=1.0,
)
print("Test directory:", root)
with DeepSeekHarness(config) as harness:
result = harness.run("只回复 OK,不要调用工具。")
started = monotonic()
print(f"close() took {monotonic() - started:.3f}s")
print("Reply:", result.final_response)
if result.finish_reason != "completed":
raise RuntimeError(f"Model turn failed ({result.finish_reason}); check credentials and the session log.")
print("History files:", list((root / "home" / "sessions").rglob("*.jsonl")))
# Recovery gets a separate budget so its own shutdown does not repeat the test.
config.shutdown_timeout_seconds = 30.0
with DeepSeekHarness(config) as harness:
harness.resume_session(result.session_id)
print("History restored successfully:", result.session_id)