mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-19 07:44:06 +02:00
63 lines
2.6 KiB
TypeScript
63 lines
2.6 KiB
TypeScript
import { readFileSync } from "node:fs";
|
|
import { describe, expect, it } from "vitest";
|
|
|
|
const SCRIPT_PATH = "scripts/test-install-sh-docker.sh";
|
|
const SMOKE_RUNNER_PATH = "scripts/docker/install-sh-smoke/run.sh";
|
|
|
|
describe("test-install-sh-docker", () => {
|
|
it("defaults local Apple Silicon smoke runs to native arm64 while keeping CI on amd64", () => {
|
|
const script = readFileSync(SCRIPT_PATH, "utf8");
|
|
|
|
expect(script).toContain("resolve_default_smoke_platform");
|
|
expect(script).toContain('printf "linux/amd64"');
|
|
expect(script).toContain('[[ "$host_os" == "Darwin" && "$host_arch" == "arm64" ]]');
|
|
expect(script).toContain('printf "linux/arm64"');
|
|
});
|
|
|
|
it("supports npm update package specs without a separate expected-version env", () => {
|
|
const script = readFileSync(SCRIPT_PATH, "utf8");
|
|
|
|
expect(script).toContain(
|
|
'UPDATE_EXPECT_VERSION="${OPENCLAW_INSTALL_SMOKE_UPDATE_EXPECT_VERSION:-}"',
|
|
);
|
|
expect(script).toContain('if [[ -z "$UPDATE_EXPECT_VERSION" ]]; then');
|
|
expect(script).toContain('UPDATE_EXPECT_VERSION="$packed_update_version"');
|
|
expect(script).toContain(
|
|
"packed update version ${packed_update_version} does not match expected ${UPDATE_EXPECT_VERSION}",
|
|
);
|
|
});
|
|
|
|
it("prints package size audits for release smoke tarballs", () => {
|
|
const script = readFileSync(SCRIPT_PATH, "utf8");
|
|
|
|
expect(script).toContain("print_pack_audit");
|
|
expect(script).toContain("print_pack_delta_audit");
|
|
expect(script).toContain("==> Pack audit");
|
|
expect(script).toContain("==> Pack audit delta");
|
|
});
|
|
|
|
it("fails the update smoke when the candidate npm pack exceeds the release budget", () => {
|
|
const script = readFileSync(SCRIPT_PATH, "utf8");
|
|
|
|
expect(script).toContain("assert_pack_unpacked_size_budget");
|
|
expect(script).toContain('assert_pack_unpacked_size_budget "update" "$pack_json_file"');
|
|
expect(script).toContain('from "./scripts/lib/npm-pack-budget.mjs"');
|
|
expect(script).toContain("install smoke cannot verify pack budget");
|
|
});
|
|
});
|
|
|
|
describe("install-sh smoke runner", () => {
|
|
it("wraps long npm/update operations with heartbeat and install-size audits", () => {
|
|
const script = readFileSync(SMOKE_RUNNER_PATH, "utf8");
|
|
|
|
expect(script).toContain(
|
|
'HEARTBEAT_INTERVAL="${OPENCLAW_INSTALL_SMOKE_HEARTBEAT_INTERVAL:-60}"',
|
|
);
|
|
expect(script).toContain("run_with_heartbeat");
|
|
expect(script).toContain("==> Still running");
|
|
expect(script).toContain("print_install_audit");
|
|
expect(script).toContain("quiet_npm install -g --omit=optional");
|
|
expect(script).toContain("openclaw update --tag");
|
|
});
|
|
});
|