惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Martin Fowler
Martin Fowler
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
雷峰网
雷峰网
J
Java Code Geeks
G
Google Developers Blog
博客园 - 司徒正美
The GitHub Blog
The GitHub Blog
L
LangChain Blog
人人都是产品经理
人人都是产品经理
GbyAI
GbyAI
Vercel News
Vercel News
S
SegmentFault 最新的问题
Engineering at Meta
Engineering at Meta
H
Hackread – Cybersecurity News, Data Breaches, AI and More
云风的 BLOG
云风的 BLOG
F
Fortinet All Blogs
Y
Y Combinator Blog
博客园_首页
Last Week in AI
Last Week in AI
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
罗磊的独立博客
A
About on SuperTechFans
B
Blog
Microsoft Security Blog
Microsoft Security Blog

Recent Commits to openclaw:main

test: merge chat side-result checks · openclaw/openclaw@ddd2c2a test: merge cron history checks · openclaw/openclaw@f7eb746 test: merge responsive navigation shell checks · openclaw/openclaw@c2e4b47 docs(changelog): add codex oauth fixes · openclaw/openclaw@628e6cd test: merge navigation routing cases · openclaw/openclaw@5d8cecb Tests: mock channel registry bundled fallback · openclaw/openclaw@2b08233 Secrets: avoid broad web search discovery for single plugin config · openclaw/openclaw@a464f59 test: merge config view browser checks · openclaw/openclaw@20cf511 fix(status): align oauth health with runtime · openclaw/openclaw@eed7116 feat: add macOS screen snapshots for monitor preview (#67954) thanks … · openclaw/openclaw@f377db1 fix: report shared auth scopes in hello-ok (#67810) thanks @BunsDev · openclaw/openclaw@0b6c39b Auto-reply: avoid eager bundled route fallback · openclaw/openclaw@3ea1bf4 Tests: narrow session binding contract setup · openclaw/openclaw@54e4e16 fix(macOS): enable undo/redo in webchat composer text input (#34962) · openclaw/openclaw@00951dc Tests: speed up channel setup promotion · openclaw/openclaw@82b529a Docs: refresh agent instructions · openclaw/openclaw@5775fe2 fix(auth): serialize OAuth refresh across agents to fix #26322 (#67876) · openclaw/openclaw@8e79080 test: allow ollama public surface boundary test · openclaw/openclaw@7d4f1a6 Docs: add test performance guardrails · openclaw/openclaw@89706d3 Tests: restore context-engine usage proof · openclaw/openclaw@e4c4f95 Tests: slim context engine runtime coverage · openclaw/openclaw@74c198f ci: retry failed custom checkouts · openclaw/openclaw@0ee5baf test: trim duplicate provider auth onboarding cases · openclaw/openclaw@1ffc02e matrix: fix sessions_spawn --thread subagent session spawning (#67643) · openclaw/openclaw@1ce2596 test: reduce auth choice fixture churn · openclaw/openclaw@857b9cd test: mock health status config boundaries · openclaw/openclaw@9d5ab4a test: mock onboard config io boundary · openclaw/openclaw@299694d test: mock legacy state plugin boundaries · openclaw/openclaw@2713089 test: mock channel install boundaries · openclaw/openclaw@b945248 test: mock doctor preview channel boundaries · openclaw/openclaw@b1a3ad4
test: speed up run-node infra tests · openclaw/openclaw@7...
steipete · 2026-05-27 · via Recent Commits to openclaw:main

@@ -123,6 +123,11 @@ function createFakeProcess() {

123123

}) as unknown as NodeJS.Process;

124124

}

125125126+

// Launcher plumbing tests do not need the real runtime artifact copier.

127+

async function skipRuntimePostBuild(): Promise<void> {

128+

return;

129+

}

130+126131

function firstMockCall<T extends unknown[]>(mock: { mock: { calls: T[] } }): T | undefined {

127132

return mock.mock.calls[0];

128133

}

@@ -401,6 +406,7 @@ describe("run-node script", () => {

401406

OPENCLAW_RUNNER_LOG: "0",

402407

},

403408

spawn,

409+

runRuntimePostBuild: skipRuntimePostBuild,

404410

execPath: process.execPath,

405411

platform: process.platform,

406412

});

@@ -493,6 +499,7 @@ describe("run-node script", () => {

493499

OPENCLAW_RUNNER_LOG: "0",

494500

},

495501

spawn,

502+

runRuntimePostBuild: skipRuntimePostBuild,

496503

execPath: process.execPath,

497504

platform: process.platform,

498505

});

@@ -549,6 +556,7 @@ describe("run-node script", () => {

549556

spawn,

550557

stderr: mutedStream,

551558

stdout: mutedStream,

559+

runRuntimePostBuild: skipRuntimePostBuild,

552560

execPath: process.execPath,

553561

platform: process.platform,

554562

} as Parameters<typeof runNodeMain>[0] & { stdout: NodeJS.WriteStream });

@@ -609,6 +617,7 @@ describe("run-node script", () => {

609617

spawn,

610618

stdout,

611619

stderr,

620+

runRuntimePostBuild: skipRuntimePostBuild,

612621

execPath: process.execPath,

613622

platform: process.platform,

614623

} as Parameters<typeof runNodeMain>[0] & {

@@ -664,6 +673,7 @@ describe("run-node script", () => {

664673

spawn,

665674

stderr,

666675

stdout,

676+

runRuntimePostBuild: skipRuntimePostBuild,

667677

execPath: process.execPath,

668678

platform: process.platform,

669679

} as Parameters<typeof runNodeMain>[0] & { stdout: NodeJS.WriteStream });

@@ -721,6 +731,7 @@ describe("run-node script", () => {

721731

},

722732

spawn,

723733

spawnSync,

734+

runRuntimePostBuild: skipRuntimePostBuild,

724735

execPath: process.execPath,

725736

platform: process.platform,

726737

process: createFakeProcess(),

@@ -780,6 +791,7 @@ describe("run-node script", () => {

780791

},

781792

spawn,

782793

spawnSync,

794+

runRuntimePostBuild: skipRuntimePostBuild,

783795

execPath: process.execPath,

784796

platform: process.platform,

785797

process: createFakeProcess(),

@@ -822,6 +834,7 @@ describe("run-node script", () => {

822834

},

823835

spawn,

824836

spawnSync,

837+

runRuntimePostBuild: skipRuntimePostBuild,

825838

execPath: process.execPath,

826839

platform: process.platform,

827840

});

@@ -856,6 +869,7 @@ describe("run-node script", () => {

856869

spawn,

857870

stderr: mutedStream,

858871

stdout: mutedStream,

872+

runRuntimePostBuild: skipRuntimePostBuild,

859873

execPath: process.execPath,

860874

platform: process.platform,

861875

} as Parameters<typeof runNodeMain>[0] & { stdout: NodeJS.WriteStream });

@@ -888,6 +902,7 @@ describe("run-node script", () => {

888902

spawn,

889903

stderr: mutedStream,

890904

stdout: mutedStream,

905+

runRuntimePostBuild: skipRuntimePostBuild,

891906

execPath: process.execPath,

892907

platform: process.platform,

893908

} as Parameters<typeof runNodeMain>[0] & { stdout: NodeJS.WriteStream });

@@ -913,7 +928,12 @@ describe("run-node script", () => {

913928

gitHead: "abc123\n",

914929

gitStatus: "",

915930

});

916-

const exitCode = await runStatusCommand({ tmp, spawn, spawnSync });

931+

const exitCode = await runStatusCommand({

932+

tmp,

933+

spawn,

934+

spawnSync,

935+

runRuntimePostBuild: skipRuntimePostBuild,

936+

});

917937918938

expect(exitCode).toBe(0);

919939

expect(spawnCalls).toEqual([statusCommandSpawn()]);

@@ -942,7 +962,12 @@ describe("run-node script", () => {

942962

gitHead: "abc123\n",

943963

gitStatus: "",

944964

});

945-

const exitCode = await runQaCommand({ tmp, spawn, spawnSync });

965+

const exitCode = await runQaCommand({

966+

tmp,

967+

spawn,

968+

spawnSync,

969+

runRuntimePostBuild: skipRuntimePostBuild,

970+

});

946971947972

expect(exitCode).toBe(0);

948973

expect(spawnCalls).toEqual([

@@ -975,7 +1000,12 @@ describe("run-node script", () => {

9751000

gitHead: "abc123\n",

9761001

gitStatus: "",

9771002

});

978-

const exitCode = await runQaCommand({ tmp, spawn, spawnSync });

1003+

const exitCode = await runQaCommand({

1004+

tmp,

1005+

spawn,

1006+

spawnSync,

1007+

runRuntimePostBuild: skipRuntimePostBuild,

1008+

});

97910099801010

expect(exitCode).toBe(0);

9811011

expect(spawnCalls).toEqual([

@@ -1528,6 +1558,7 @@ describe("run-node script", () => {

15281558

},

15291559

process: fakeProcess,

15301560

spawn,

1561+

runRuntimePostBuild: skipRuntimePostBuild,

15311562

execPath: process.execPath,

15321563

});

15331564

@@ -1560,7 +1591,12 @@ describe("run-node script", () => {

15601591

});

1561159215621593

const { spawnCalls, spawn, spawnSync } = createSpawnRecorder();

1563-

const exitCode = await runStatusCommand({ tmp, spawn, spawnSync });

1594+

const exitCode = await runStatusCommand({

1595+

tmp,

1596+

spawn,

1597+

spawnSync,

1598+

runRuntimePostBuild: skipRuntimePostBuild,

1599+

});

1564160015651601

expect(exitCode).toBe(0);

15661602

expect(spawnCalls).toEqual([

@@ -1627,7 +1663,12 @@ describe("run-node script", () => {

16271663

gitHead: "def456\n",

16281664

gitStatus: "",

16291665

});

1630-

const exitCode = await runStatusCommand({ tmp, spawn, spawnSync });

1666+

const exitCode = await runStatusCommand({

1667+

tmp,

1668+

spawn,

1669+

spawnSync,

1670+

runRuntimePostBuild: skipRuntimePostBuild,

1671+

});

1631167216321673

expect(exitCode).toBe(0);

16331674

expect(spawnCalls).toEqual([

@@ -1688,7 +1729,12 @@ describe("run-node script", () => {

16881729

gitHead: "abc123\n",

16891730

gitStatus: ` M ${EXTENSION_README}\n`,

16901731

});

1691-

const exitCode = await runStatusCommand({ tmp, spawn, spawnSync });

1732+

const exitCode = await runStatusCommand({

1733+

tmp,

1734+

spawn,

1735+

spawnSync,

1736+

runRuntimePostBuild: skipRuntimePostBuild,

1737+

});

1692173816931739

expect(exitCode).toBe(0);

16941740

expect(spawnCalls).toEqual([statusCommandSpawn()]);

@@ -2521,7 +2567,12 @@ describe("run-node script", () => {

25212567

});

2522256825232569

const { spawnCalls, spawn, spawnSync } = createSpawnRecorder();

2524-

const exitCode = await runStatusCommand({ tmp, spawn, spawnSync });

2570+

const exitCode = await runStatusCommand({

2571+

tmp,

2572+

spawn,

2573+

spawnSync,

2574+

runRuntimePostBuild: skipRuntimePostBuild,

2575+

});

2525257625262577

expect(exitCode).toBe(0);

25272578

expect(spawnCalls).toEqual([statusCommandSpawn()]);

@@ -2544,7 +2595,12 @@ describe("run-node script", () => {

25442595

gitHead: "abc123\n",

25452596

gitStatus: "",

25462597

});

2547-

const exitCode = await runStatusCommand({ tmp, spawn, spawnSync });

2598+

const exitCode = await runStatusCommand({

2599+

tmp,

2600+

spawn,

2601+

spawnSync,

2602+

runRuntimePostBuild: skipRuntimePostBuild,

2603+

});

2548260425492605

expect(exitCode).toBe(0);

25502606

expect(spawnCalls).toEqual([