fix(scripts): resolve taskkill in boundary artifacts

This commit is contained in:
Vincent Koc
2026-06-21 09:44:37 +02:00
parent 63f2c56222
commit 7dbae1b2cd
2 changed files with 41 additions and 14 deletions

View File

@@ -8,6 +8,7 @@ import path from "node:path";
import { setTimeout as delay } from "node:timers/promises";
import { pathToFileURL } from "node:url";
import { afterEach, describe, expect, it, vi } from "vitest";
import { resolveWindowsTaskkillPath } from "../../scripts/lib/windows-taskkill.mjs";
import {
createPrefixedOutputWriter,
isArtifactSetFresh,
@@ -23,6 +24,10 @@ import { makeTempDir } from "../helpers/temp-dir.js";
const tempRoots = new Set<string>();
function expectedTaskkillPath(): string {
return resolveWindowsTaskkillPath();
}
function createMockPipe() {
const pipe = new EventEmitter() as EventEmitter & {
setEncoding: (encoding: string) => void;
@@ -135,17 +140,27 @@ describe("prepare-extension-package-boundary-artifacts", () => {
platform: "win32",
runTaskkill,
});
expect(runTaskkill).toHaveBeenNthCalledWith(1, "taskkill", ["/PID", "12345", "/T"], {
stdio: "ignore",
});
expect(runTaskkill).toHaveBeenNthCalledWith(
1,
expectedTaskkillPath(),
["/PID", "12345", "/T"],
{
stdio: "ignore",
},
);
signalNodeStep(child, "SIGKILL", {
platform: "win32",
runTaskkill,
});
expect(runTaskkill).toHaveBeenNthCalledWith(2, "taskkill", ["/PID", "12345", "/T", "/F"], {
stdio: "ignore",
});
expect(runTaskkill).toHaveBeenNthCalledWith(
2,
expectedTaskkillPath(),
["/PID", "12345", "/T", "/F"],
{
stdio: "ignore",
},
);
expect(child.kill).not.toHaveBeenCalled();
});
@@ -164,12 +179,22 @@ describe("prepare-extension-package-boundary-artifacts", () => {
runTaskkill,
});
expect(runTaskkill).toHaveBeenNthCalledWith(1, "taskkill", ["/PID", "12345", "/T"], {
stdio: "ignore",
});
expect(runTaskkill).toHaveBeenNthCalledWith(2, "taskkill", ["/PID", "12345", "/T", "/F"], {
stdio: "ignore",
});
expect(runTaskkill).toHaveBeenNthCalledWith(
1,
expectedTaskkillPath(),
["/PID", "12345", "/T"],
{
stdio: "ignore",
},
);
expect(runTaskkill).toHaveBeenNthCalledWith(
2,
expectedTaskkillPath(),
["/PID", "12345", "/T", "/F"],
{
stdio: "ignore",
},
);
expect(child.kill).not.toHaveBeenCalled();
});