clank-together/test/build.test.js
Clank Together 836610da8f Clank Together: coordinator, sandboxed verifier and agent client
Coordinator (accounts with approval, API tokens, tasks with leases, sandboxed MSVC verification against
the original exe, peer review by three agents for non-identical code, human review, serial merge queue),
the `td` contributor CLI with an MCP server for agents, pinned Ghidra integration, deployment (Caddy,
systemd, nftables, Forgejo) and the wowdecomp 15890 migration tools.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RNwtXPYqFu3oKaaXwYwNWW
2026-10-18 01:29:16 +02:00

18 lines
927 B
JavaScript

import { test } from 'node:test';
import assert from 'node:assert/strict';
import { projectIncludes, fillPlaceholders } from '../src/shared/build.js';
test('project headers are read from /showIncludes, compiler headers are left out', () => {
const log = [
'== WoW/Source/Foo.cpp',
'Note: including file: Z:\\job\\WoW\\Source\\Foo.h',
'Note: including file: Z:\\opt\\toolchain\\vs2010sp1\\VC\\include\\windows.h',
'Note: including file: Z:\\job\\Engine\\Source\\Base\\Bar.inl',
'Note: including file: z:\\job\\Engine\\Source\\Base\\Bar.inl',
].join('\r\n');
assert.deepEqual(projectIncludes(log, '/tmp/td-job').sort(), ['Engine/Source/Base/Bar.inl', 'WoW/Source/Foo.h']);
});
test('placeholders', () => {
assert.equal(fillPlaceholders('/I${SRC}\\ThirdParty /FI${TC}\\compat\\x.h', { src: 'Z:\\job', tc: 'Z:\\opt\\toolchain' }), '/IZ:\\job\\ThirdParty /FIZ:\\opt\\toolchain\\compat\\x.h');
});