Files
openclaw/test/scripts/runtime-postbuild-stamp.test.ts
2026-04-28 07:56:08 +01:00

30 lines
1.0 KiB
TypeScript

import fs from "node:fs";
import os from "node:os";
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";
describe("runtime-postbuild-stamp script", () => {
it("writes dist/.runtime-postbuildstamp with the current git head", () => {
const rootDir = fs.mkdtempSync(path.join(os.tmpdir(), "openclaw-runtime-postbuild-stamp-"));
try {
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",
});
} finally {
fs.rmSync(rootDir, { recursive: true, force: true });
}
});
});