test(lease): #1124 regression uses node pane command (real field topology per scooby)
ci/woodpecker/pr/ci Pipeline failed
ci/woodpecker/pr/ci Pipeline failed
The mosaic wrapper makes pane_current_command=node (RUNTIME_ACCEPTABLE_COMMANDS.claude=['claude','node']); the walk matters precisely in that no-shell-wrapper case. Match reality. Co-Authored-By: Claude Opus 4.8 <[email protected]> Claude-Session: https://claude.ai/code/session_013SAYFkRhQfhguY7AHfiUC8
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
ff50cbdb61
commit
de0adb9207
@@ -64,7 +64,7 @@ describe('TmuxPromotionTransport', () => {
|
|||||||
// transport must WALK the subtree. This test exercises the real walk (no
|
// transport must WALK the subtree. This test exercises the real walk (no
|
||||||
// full mock of the resolution) — the seam the original unit test hid.
|
// full mock of the resolution) — the seam the original unit test hid.
|
||||||
it('walks the pane subtree to the claude child that carries the lease id', async () => {
|
it('walks the pane subtree to the claude child that carries the lease id', async () => {
|
||||||
const runner = vi.fn<CommandRunner>().mockResolvedValueOnce(result('1234 claude 0 0 0 0\n'));
|
const runner = vi.fn<CommandRunner>().mockResolvedValueOnce(result('1234 node 0 0 0 0\n'));
|
||||||
// pane pid 1234 = node(mosaic): NO lease env. child 5678 = claude: carries it.
|
// pane pid 1234 = node(mosaic): NO lease env. child 5678 = claude: carries it.
|
||||||
const environmentReader = vi.fn(async (pid: number) =>
|
const environmentReader = vi.fn(async (pid: number) =>
|
||||||
pid === 5678 ? `FOO=bar\0MOSAIC_LEASE_SESSION_ID=${sessionId}\0` : `FOO=bar\0`,
|
pid === 5678 ? `FOO=bar\0MOSAIC_LEASE_SESSION_ID=${sessionId}\0` : `FOO=bar\0`,
|
||||||
@@ -87,7 +87,7 @@ describe('TmuxPromotionTransport', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('fails closed when no process in the pane subtree carries a lease id', async () => {
|
it('fails closed when no process in the pane subtree carries a lease id', async () => {
|
||||||
const runner = vi.fn<CommandRunner>().mockResolvedValueOnce(result('1234 claude 0 0 0 0\n'));
|
const runner = vi.fn<CommandRunner>().mockResolvedValueOnce(result('1234 node 0 0 0 0\n'));
|
||||||
const environmentReader = vi.fn(async () => `FOO=bar\0`);
|
const environmentReader = vi.fn(async () => `FOO=bar\0`);
|
||||||
const childrenReader = vi.fn(async (pid: number) => (pid === 1234 ? [5678] : []));
|
const childrenReader = vi.fn(async (pid: number) => (pid === 1234 ? [5678] : []));
|
||||||
const transport = new TmuxPromotionTransport({
|
const transport = new TmuxPromotionTransport({
|
||||||
|
|||||||
Reference in New Issue
Block a user