| import { describe, expect, it } from "vitest"; |
| import { buildPlatformRuntimeLogHints, buildPlatformServiceStartHints } from "./runtime-hints.js"; |
|
|
| describe("buildPlatformRuntimeLogHints", () => { |
| it("renders launchd log hints on darwin", () => { |
| expect( |
| buildPlatformRuntimeLogHints({ |
| platform: "darwin", |
| env: { |
| OPENCLAW_STATE_DIR: "/tmp/openclaw-state", |
| OPENCLAW_LOG_PREFIX: "gateway", |
| }, |
| systemdServiceName: "openclaw-gateway", |
| windowsTaskName: "OpenClaw Gateway", |
| }), |
| ).toEqual([ |
| "Launchd stdout (if installed): /tmp/openclaw-state/logs/gateway.log", |
| "Launchd stderr (if installed): /tmp/openclaw-state/logs/gateway.err.log", |
| ]); |
| }); |
|
|
| it("renders systemd and windows hints by platform", () => { |
| expect( |
| buildPlatformRuntimeLogHints({ |
| platform: "linux", |
| systemdServiceName: "openclaw-gateway", |
| windowsTaskName: "OpenClaw Gateway", |
| }), |
| ).toEqual(["Logs: journalctl --user -u openclaw-gateway.service -n 200 --no-pager"]); |
| expect( |
| buildPlatformRuntimeLogHints({ |
| platform: "win32", |
| systemdServiceName: "openclaw-gateway", |
| windowsTaskName: "OpenClaw Gateway", |
| }), |
| ).toEqual(['Logs: schtasks /Query /TN "OpenClaw Gateway" /V /FO LIST']); |
| }); |
| }); |
|
|
| describe("buildPlatformServiceStartHints", () => { |
| it("builds platform-specific service start hints", () => { |
| expect( |
| buildPlatformServiceStartHints({ |
| platform: "darwin", |
| installCommand: "openclaw gateway install", |
| startCommand: "openclaw gateway", |
| launchAgentPlistPath: "~/Library/LaunchAgents/com.openclaw.gateway.plist", |
| systemdServiceName: "openclaw-gateway", |
| windowsTaskName: "OpenClaw Gateway", |
| }), |
| ).toEqual([ |
| "openclaw gateway install", |
| "openclaw gateway", |
| "launchctl bootstrap gui/$UID ~/Library/LaunchAgents/com.openclaw.gateway.plist", |
| ]); |
| expect( |
| buildPlatformServiceStartHints({ |
| platform: "linux", |
| installCommand: "openclaw gateway install", |
| startCommand: "openclaw gateway", |
| launchAgentPlistPath: "~/Library/LaunchAgents/com.openclaw.gateway.plist", |
| systemdServiceName: "openclaw-gateway", |
| windowsTaskName: "OpenClaw Gateway", |
| }), |
| ).toEqual([ |
| "openclaw gateway install", |
| "openclaw gateway", |
| "systemctl --user start openclaw-gateway.service", |
| ]); |
| }); |
| }); |
|
|