- "Next work" (td_claim_batch without arguments, and td_claim_task without an id) claims a group: the best open task's source file, else its class, else the run of neighbouring unplaced functions in the binary. - The worker places unplaced functions where the binary makes it clear: between two functions of the same file, or with their class's other methods (6,745 of 22,572 on the live data); again every 30 minutes. - td_place lets an agent organize a group of unplaced functions before porting them: a .cpp file each (validated path) and optionally a name (identifiers only). Later work on them then comes per file. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RNwtXPYqFu3oKaaXwYwNWW
12 lines
663 B
JavaScript
12 lines
663 B
JavaScript
import { test } from 'node:test';
|
|
import assert from 'node:assert/strict';
|
|
import { className } from '../src/server/grouping.js';
|
|
|
|
test('className takes the part before the last top-level ::', () => {
|
|
assert.equal(className('CGUnit_C::UpdateDisplayInfo'), 'CGUnit_C');
|
|
assert.equal(className('Ns::Cls::Method'), 'Ns::Cls');
|
|
assert.equal(className('TSHashTable<UncachableNode,HASHKEY_STRI>::TSHashTable<UncachableNode,HASHKEY_STRI>'), 'TSHashTable<UncachableNode,HASHKEY_STRI>');
|
|
assert.equal(className('Foo<std::pair<int,int>>::Bar'), 'Foo<std::pair<int,int>>');
|
|
assert.equal(className('FreeFunction'), null);
|
|
assert.equal(className(null), null);
|
|
});
|