mirror of
https://github.com/HKUDS/nanobot.git
synced 2026-09-04 02:01:48 +03:00
test(ci): isolate Windows process checks
This commit is contained in:
@@ -896,30 +896,33 @@ class TestWindowsRealExec:
|
||||
@pytest.mark.asyncio
|
||||
async def test_windows_powershell_session_output_is_utf8(self):
|
||||
manager = ExecSessionManager()
|
||||
result = await ExecTool(timeout=180, session_manager=manager).execute(
|
||||
command="Start-Sleep -Milliseconds 1500; Write-Output 'café λ 你好'",
|
||||
shell="powershell",
|
||||
yield_time_ms=1000,
|
||||
)
|
||||
|
||||
if "session_id:" in result:
|
||||
session_id = result.split("session_id:", 1)[1].splitlines()[0].strip()
|
||||
poll_result = await WriteStdinTool(manager=manager).execute(
|
||||
session_id=session_id,
|
||||
chars="",
|
||||
wait_for="café λ 你好",
|
||||
wait_timeout_ms=120_000,
|
||||
try:
|
||||
result = await ExecTool(timeout=180, session_manager=manager).execute(
|
||||
command="Start-Sleep -Milliseconds 1500; Write-Output 'café λ 你好'",
|
||||
shell="powershell",
|
||||
yield_time_ms=1000,
|
||||
)
|
||||
result += "\n" + poll_result
|
||||
if "Process running." in poll_result:
|
||||
final_result = await WriteStdinTool(manager=manager).execute(
|
||||
|
||||
if "session_id:" in result:
|
||||
session_id = result.split("session_id:", 1)[1].splitlines()[0].strip()
|
||||
poll_result = await WriteStdinTool(manager=manager).execute(
|
||||
session_id=session_id,
|
||||
chars="",
|
||||
yield_time_ms=30_000,
|
||||
wait_for="café λ 你好",
|
||||
wait_timeout_ms=120_000,
|
||||
)
|
||||
result += "\n" + final_result
|
||||
assert "Process running." not in final_result
|
||||
result += "\n" + poll_result
|
||||
if "Process running." in poll_result:
|
||||
final_result = await WriteStdinTool(manager=manager).execute(
|
||||
session_id=session_id,
|
||||
chars="",
|
||||
yield_time_ms=30_000,
|
||||
)
|
||||
result += "\n" + final_result
|
||||
assert "Process running." not in final_result
|
||||
|
||||
assert "café λ 你好" in result
|
||||
assert "Exit code: 0" in result
|
||||
assert "\x00" not in result
|
||||
assert "café λ 你好" in result
|
||||
assert "Exit code: 0" in result
|
||||
assert "\x00" not in result
|
||||
finally:
|
||||
await manager.close_all()
|
||||
|
||||
Reference in New Issue
Block a user