import assert from "node:assert/strict";import { chmodSync, mkdtempSync, mkdirSync, rmSync, writeFileSync } from "node:fs";import { tmpdir } from "node:os";import { dirname, join } from "node:path";import { fileURLToPath } from "node:url";import { spawnSync } from "node:child_process";import test from "node:test"; const script = join(dirname(fileURLToPath(import.meta.url)), "check-layout.mjs"); test("ignores tests inside nested Claude worktrees", () => { const root = mkdtempSync(join(tmpdir(), "agentos-layout-")); try { const nestedTest = join( root, ".claude/worktrees/other/packages/core/tests/legacy.test.ts", ); mkdirSync(dirname(nestedTest), { recursive: true }); writeFileSync(nestedTest, "export {};\n"); const bin = join(root, "bin"); mkdirSync(bin); const cargo = join(bin, "cargo"); writeFileSync(cargo, '#!/bin/sh\nprintf \'{"packages":[]}\'\n'); chmodSync(cargo, 0o755); const result = spawnSync(process.execPath, [script], { cwd: root, encoding: "utf8", env: { ...process.env, PATH: `${bin}:${process.env.PATH ?? ""}` }, }); assert.equal(result.status, 0, result.stderr || result.stdout); assert.match(result.stdout, /check-layout: OK/); } finally { rmSync(root, { recursive: true, force: true }); }});
import assert from "node:assert/strict";
import { chmodSync, mkdtempSync, mkdirSync, rmSync, writeFileSync } from "node:fs";
import { tmpdir } from "node:os";
import { dirname, join } from "node:path";
import { fileURLToPath } from "node:url";
import { spawnSync } from "node:child_process";
import test from "node:test";
const script = join(dirname(fileURLToPath(import.meta.url)), "check-layout.mjs");
test("ignores tests inside nested Claude worktrees", () => {
const root = mkdtempSync(join(tmpdir(), "agentos-layout-"));
try {
const nestedTest = join(
root,
".claude/worktrees/other/packages/core/tests/legacy.test.ts",
);
mkdirSync(dirname(nestedTest), { recursive: true });
writeFileSync(nestedTest, "export {};\n");
const bin = join(root, "bin");
mkdirSync(bin);
const cargo = join(bin, "cargo");
writeFileSync(cargo, '#!/bin/sh\nprintf \'{"packages":[]}\'\n');
chmodSync(cargo, 0o755);
const result = spawnSync(process.execPath, [script], {
cwd: root,
encoding: "utf8",
env: { ...process.env, PATH: `${bin}:${process.env.PATH ?? ""}` },
});
assert.equal(result.status, 0, result.stderr || result.stdout);
assert.match(result.stdout, /check-layout: OK/);
} finally {
rmSync(root, { recursive: true, force: true });
}
});