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
18 lines
927 B
JavaScript
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');
|
|
});
|