Files
openclaw/test/scripts/runtime-postbuild-stamp.test.ts
Mason Huang 5ff247b99e test: prefer auto-cleaning temp dir helper (#93209)
Summary:
- The branch adds `useAutoCleanupTempDirTracker()`, broadens the temp-dir warning reporter to flag new manual helper imports/usages, updates docs, and migrates two script tests to the new helper.
- PR surface: Tests +301, Docs +1, Other +248. Total +550 across 8 files.
- Reproducibility: not applicable. this is test/tooling cleanup, and the changed behavior is exercised through helper/reporter tests and CI evidence rather than a user reproduction path.

Automerge notes:
- PR branch already contained follow-up commit before automerge: test: harden temp dir helper guard
- PR branch already contained follow-up commit before automerge: test: clarify auto cleanup temp dir helper name
- PR branch already contained follow-up commit before automerge: test: cover existing mkdtemp temp dir forms
- PR branch already contained follow-up commit before automerge: test: read staged temp helper source from index

Validation:
- ClawSweeper review passed for head 1fdd7d2a9a.
- Required merge gates passed before the squash merge.

Prepared head SHA: 1fdd7d2a9a
Review: https://github.com/openclaw/openclaw/pull/93209#issuecomment-4705653665

Co-authored-by: Mason Huang <masonxhuang@tencent.com>
Approved-by: hxy91819
2026-07-02 02:46:28 +00:00

27 lines
1.1 KiB
TypeScript

// Runtime Postbuild Stamp tests cover runtime postbuild stamp script behavior.
import fs from "node:fs";
import path from "node:path";
import { describe, expect, it } from "vitest";
import { RUNTIME_POSTBUILD_STAMP_FILE } from "../../scripts/lib/local-build-metadata-paths.mjs";
import { writeRuntimePostBuildStamp } from "../../scripts/runtime-postbuild-stamp.mjs";
import { useAutoCleanupTempDirTracker } from "../helpers/temp-dir.js";
describe("runtime-postbuild-stamp script", () => {
const tempDirs = useAutoCleanupTempDirTracker();
it("writes dist/.runtime-postbuildstamp with the current git head", () => {
const rootDir = tempDirs.make("openclaw-runtime-postbuild-stamp-");
const stampPath = writeRuntimePostBuildStamp({
cwd: rootDir,
now: () => 123,
spawnSync: () => ({ status: 0, stdout: "abc123\n" }),
});
expect(path.relative(rootDir, stampPath)).toBe(path.join("dist", RUNTIME_POSTBUILD_STAMP_FILE));
expect(JSON.parse(fs.readFileSync(stampPath, "utf8"))).toEqual({
syncedAt: 123,
head: "abc123",
});
});
});