testHoldLockTakesOverWhatsLeft
tcmts.dev.testHoldLockTakesOverWhatsLeft · #pom54t6v · term
import { holdLock } from "#codebase/tcmts/dev";
import assert from "node:assert/strict";
import fs from "node:fs";
import os from "node:os";
import path from "node:path";
export const testHoldLockTakesOverWhatsLeft = async () => {
const dir = fs.mkdtempSync(path.join(os.tmpdir(), "tcm lock "));
try {
const lock = path.join(dir, "verify.lock");
// left by a process that's gone (no pid is this high)
fs.writeFileSync(lock, "2147483646");
await holdLock(lock, "nothing");
assert.equal(fs.readFileSync(lock, "utf8"), String(process.pid));
} finally {
fs.rmSync(dir, { recursive: true, force: true });
}
}
uses