From 40bd375ef378dc4a733b3aabef0b91cceec3bf66 Mon Sep 17 00:00:00 2001 From: Vincent Koc Date: Wed, 17 Jun 2026 15:20:03 +0200 Subject: [PATCH] fix(testing): use UUIDs for npm update guest scripts --- scripts/e2e/parallels/npm-update-smoke.ts | 3 ++- test/scripts/parallels-smoke-model.test.ts | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/scripts/e2e/parallels/npm-update-smoke.ts b/scripts/e2e/parallels/npm-update-smoke.ts index 8af7a5038c5..9497569e0e4 100755 --- a/scripts/e2e/parallels/npm-update-smoke.ts +++ b/scripts/e2e/parallels/npm-update-smoke.ts @@ -1,5 +1,6 @@ #!/usr/bin/env -S pnpm tsx // Npm Update Smoke script supports OpenClaw repository automation. +import { randomUUID } from "node:crypto"; import { spawn } from "node:child_process"; import { appendFileSync, existsSync, readFileSync, writeFileSync } from "node:fs"; import { copyFile, readFile, rm } from "node:fs/promises"; @@ -1098,7 +1099,7 @@ export class NpmUpdateSmoke { } private writeGuestScript(vm: string, script: string, prefix: string): string { - const scriptPath = `/tmp/${prefix}-${process.pid}-${Date.now()}.sh`; + const scriptPath = `/tmp/${prefix}-${randomUUID()}.sh`; const write = run("prlctl", ["exec", vm, "/usr/bin/tee", scriptPath], { check: false, input: script, diff --git a/test/scripts/parallels-smoke-model.test.ts b/test/scripts/parallels-smoke-model.test.ts index 776b5848084..715678d0776 100644 --- a/test/scripts/parallels-smoke-model.test.ts +++ b/test/scripts/parallels-smoke-model.test.ts @@ -1120,6 +1120,8 @@ if (isPrlctl) { expect(orchestrator).toContain("macosUpdateScript"); expect(orchestrator).toContain("windowsUpdateScript"); expect(orchestrator).toContain("linuxUpdateScript"); + expect(orchestrator).toContain('import { randomUUID } from "node:crypto"'); + expect(orchestrator).not.toContain("process.pid}-${Date.now()"); expect(orchestrator).not.toContain("Remove-FuturePluginEntries"); expect(updateScripts).toContain("Remove-FuturePluginEntries"); expect(updateScripts).toContain("scrub_future_plugin_entries");