




















@@ -4,6 +4,7 @@ import { mkdirSync, readFileSync, writeFileSync } from "node:fs";
44import path from "node:path";
55import { pathToFileURL } from "node:url";
66import { describe, expect, it, vi } from "vitest";
7+import { resolveWindowsTaskkillPath } from "../../scripts/lib/windows-taskkill.mjs";
78import { __testing, writeCliStartupMetadata } from "../../scripts/write-cli-startup-metadata.ts";
89import { createScriptTestHarness } from "./test-helpers.js";
910@@ -58,6 +59,10 @@ function processIsAlive(pid: number): boolean {
5859}
5960}
606162+function expectedTaskkillPath(): string {
63+return resolveWindowsTaskkillPath();
64+}
65+6166async function waitForProcessExit(pid: number, timeoutMs = 1_000): Promise<void> {
6267const deadline = Date.now() + timeoutMs;
6368while (Date.now() < deadline) {
@@ -128,17 +133,22 @@ describe("write-cli-startup-metadata", () => {
128133platform: "win32",
129134 runTaskkill,
130135});
131-expect(runTaskkill).toHaveBeenNthCalledWith(1, "taskkill", ["/PID", "123", "/T"], {
136+expect(runTaskkill).toHaveBeenNthCalledWith(1, expectedTaskkillPath(), ["/PID", "123", "/T"], {
132137stdio: "ignore",
133138});
134139135140__testing.signalCliStartupMetadataProcessTree({ pid: 123, kill: childKill }, "SIGKILL", {
136141platform: "win32",
137142 runTaskkill,
138143});
139-expect(runTaskkill).toHaveBeenNthCalledWith(2, "taskkill", ["/PID", "123", "/T", "/F"], {
140-stdio: "ignore",
141-});
144+expect(runTaskkill).toHaveBeenNthCalledWith(
145+2,
146+expectedTaskkillPath(),
147+["/PID", "123", "/T", "/F"],
148+{
149+stdio: "ignore",
150+},
151+);
142152expect(childKill).not.toHaveBeenCalled();
143153});
144154@@ -154,12 +164,17 @@ describe("write-cli-startup-metadata", () => {
154164 runTaskkill,
155165});
156166157-expect(runTaskkill).toHaveBeenNthCalledWith(1, "taskkill", ["/PID", "123", "/T"], {
158-stdio: "ignore",
159-});
160-expect(runTaskkill).toHaveBeenNthCalledWith(2, "taskkill", ["/PID", "123", "/T", "/F"], {
167+expect(runTaskkill).toHaveBeenNthCalledWith(1, expectedTaskkillPath(), ["/PID", "123", "/T"], {
161168stdio: "ignore",
162169});
170+expect(runTaskkill).toHaveBeenNthCalledWith(
171+2,
172+expectedTaskkillPath(),
173+["/PID", "123", "/T", "/F"],
174+{
175+stdio: "ignore",
176+},
177+);
163178expect(childKill).not.toHaveBeenCalled();
164179});
165180此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。