openclaw/test
Peter Steinberger 8a981770fe
fix(tooling): verify Darwin zombie groups after EPERM
Darwin killpg excludes zombies and returns EPERM when no signalable group
member remains. Strict normal-exit cleanup mistook this terminal state for
a surviving process group, even when later drainage observed termination.

Reuse the existing zombie census for Darwin, including BSD state flags,
and reconcile a group reaped during the census with a fresh ESRCH probe.
Both observation and termination require positive completion evidence;
live, mixed, and uninspectable groups retain their cleanup failures.
Keep snapshot work inside the existing escalation and drainage deadlines.

Native same-uid Z and ZN groups reproduce EPERM for signal 0 and SIGKILL.
The original owner fails four regression cases; the repair passes all 13.
Shared owner/output tests pass (146 passed, one platform skip). The full
mac-elevation-host shard passes all 123 cases in 383.63s; final metadata
replay passes all 13 selected cases. Independent review is scoped-clean.
Production delta: +44 lines for bounded Darwin termination evidence.

Test cost: node scripts/run-vitest.mjs test/scripts/managed-child-process.termination.test.ts --maxWorkers=1: 5.83s wall; node scripts/run-vitest.mjs test/scripts/managed-child-process.tree.test.ts --maxWorkers=1: 5.05s wall.
2026-09-30 18:04:04 -07:00
..
contracts
e2e perf(test): reuse static Slack presentation gateways 2026-09-30 14:38:58 -07:00
fixtures fix(pr): qualify real Gateway failures in cancelled UI jobs 2026-09-30 09:27:54 -07:00
helpers fix(codex): restore persona on remote app-server connections (#162156) 2026-09-30 16:05:21 -07:00
mocks
plugins feat(workboard): add utility-model categorized Sessions boards (#161958) 2026-09-30 13:23:05 -07:00
scripts fix(tooling): verify Darwin zombie groups after EPERM 2026-09-30 18:04:04 -07:00
tsconfig feat(ui): select Ultrafast for supported accounts (#160352) 2026-09-30 07:45:41 +00:00
type-contracts refactor(cron): read run history through its worker (#158222) 2026-09-26 00:07:06 -07:00
types refactor: delete unreferenced production code (#159847) 2026-09-29 21:47:06 -07:00
vitest chore(ui): reuse the shared bundle for queued update tests 2026-10-01 00:12:42 +00:00
agent-exec-code-mode.live.test.ts
AGENTS.md
apns-worker-test-ownership.test.ts
appcast.test.ts
architecture-smells.test.ts test(core, plugins, ui): remove low-value tests (batch d040) (#159093) 2026-09-26 18:32:26 +00:00
buzz-account-config-mutation.test.ts
canonical-descendant.integration.test.ts refactor(mcp): bind idle cleanup to the lifecycle scheduler (#159481) 2026-09-27 22:54:48 +00:00
channel-message-read-authority.integration.test.ts
clawrouter-managed-gateway.e2e.test.ts fix(clawrouter): enable transport logs in managed Gateway test (#158457) 2026-09-25 17:23:54 -07:00
cli-json-stdout.agents.e2e.test.ts
cli-json-stdout.automation.e2e.test.ts refactor: remove Tasks and TaskFlow runtime (#159179) 2026-09-27 10:40:29 -07:00
cli-json-stdout.config.e2e.test.ts
cli-json-stdout.e2e.test.ts fix(state): repair index-only corruption explicitly in Doctor (#156761) 2026-09-24 13:38:25 -07:00
cli-json-stdout.gateway.e2e.test.ts fix(health): surface config read failures from the non-observing health reader (#160885) 2026-09-29 02:11:20 +00:00
cli-json-stdout.hooks.e2e.test.ts
cli-json-stdout.models.e2e.test.ts fix(test): align CLI release fixtures with runtime owners (#157780) 2026-09-25 14:11:51 -07:00
cli-json-stdout.plugins.e2e.test.ts
cli-json-stdout.sessions.e2e.test.ts
cli-json-stdout.skills.e2e.test.ts
cli-json-stdout.test-support.ts
cli-message-authority.integration.test.ts
cli-state-sqlite.e2e.test.ts
codex-node-cancellation.integration.test.ts
codex-settled-turn-finalization.integration.test.ts
control-ui-import-boundary.test.ts
conversation-tools.codex.integration.test.ts
copilot-tool-policy-handoff.integration.test.ts
copilot-tool-policy-handoff.live.test.ts
cron-conversation-delivery.codex.integration.test.ts
cron-edit-trigger-preservation.e2e.test.ts
cron-message-read.integration.test.ts test: isolate maintainer and scheduled-message fixtures (#159200) 2026-09-26 16:22:45 -07:00
discord-live-policy.integration.test.ts refactor(cron): move due timers into the Gateway scheduler (#159099) 2026-09-26 18:54:20 +00:00
discord-metadata-read-authority.integration.test.ts
docker-entrypoint.test.ts fix(startup): keep legacy state repair in Doctor (#151025) 2026-09-25 13:43:40 -07:00
doctor-copied-state-migration.e2e.test.ts
doctor-legacy-whatsapp-ack-migration.e2e.test.ts
dreaming-startup-cleanup.e2e.test.ts
embedded-transcript-cursor.e2e.test.ts
extension-import-boundaries.test.ts
extension-test-boundary.test.ts
external-script-modules.d.ts fix(release): release notes abort when a commit body mentions a deleted PR (#160305) 2026-09-28 02:11:49 -07:00
feishu-message-mutations.integration.test.ts
feishu-message-read-authority.integration.test.ts
gateway-a2a.e2e.test.ts
gateway-account-history.e2e.test.ts test(gateway): await account-history turn settlement (#157530) 2026-09-24 13:56:36 -07:00
gateway-cold-agent-abort.e2e.test.ts refactor: remove Tasks and TaskFlow runtime (#159179) 2026-09-27 10:40:29 -07:00
gateway-completion-replay.e2e.test.ts
gateway-copied-codex-session-resume.e2e.test.ts
gateway-external-state-ownership.e2e.test.ts fix: prevent temporary-file exhaustion from SQLite coordination (#157413) 2026-09-27 05:30:41 -07:00
gateway-hook-concurrency.e2e.test.ts
gateway-no-op-mutation.e2e.test.ts
gateway-openai-compaction-replay.e2e.test.ts
gateway-queued-session-rotation.e2e.test.ts
gateway-restored-requester-settle.e2e.test.ts test(release): repair release-check lanes after settle, Responses body, and scheduler changes 2026-09-28 16:18:09 -07:00
gateway-rpc-exporters.test.ts
gateway-session-end-shutdown.e2e.test.ts
gateway-steer-fifo.e2e.test.ts fix(test): restore gateway steering fixture contracts (#158478) 2026-09-25 22:42:41 -07:00
gateway-subagent-restart.live.test.ts refactor: remove Tasks and TaskFlow runtime (#159179) 2026-09-27 10:40:29 -07:00
gateway-widget-restart.live.test.ts
gateway.multi.e2e.test.ts refactor(cron): move due timers into the Gateway scheduler (#159099) 2026-09-26 18:54:20 +00:00
git-hooks-pre-commit-boundaries.test.ts
git-hooks-pre-commit.test-support.ts
git-hooks-pre-commit.test.ts test(runtime,ui,tooling): remove low-value tests (batch d013) (#158691) 2026-09-26 08:48:53 +00:00
github-cli-preflight.e2e.test.ts
huggingface-local-app-openclaw.e2e.test.ts
image-generation.infer-cli.live.test.ts
image-generation.runtime.live.test.ts
imessage-reply-alias.integration.test.ts
jsdom-compat.mts perf(test): defer jsdom loading for Node tests (#158125) 2026-09-25 06:52:00 -07:00
jsdom-compat.test.ts fix(cli): release plugin resources when help finishes (#160181) 2026-09-30 15:28:57 -07:00
jsdom-custom-elements.test.ts
jsdom-custom-elements.ts chore(deps): refresh dependencies with a seven-day cutoff (#157238) 2026-09-25 02:38:45 +00:00
line-question-gateway.test.ts
linux-dashboard-recovery.test.ts fix(linux): show clear update status and recover release-page retries (#158037) 2026-09-25 18:22:02 +08:00
linux-quickchat-stream.test.ts perf(gateway): stream append deltas to every client (#158587) 2026-09-27 05:53:39 +00:00
loopback-ask-user-telegram-channel.test.ts
matrix-channel-read-authority.integration.test.ts
matrix-client-crypto-authority.integration.test.ts
matrix-transport-read-authority.integration.test.ts
mcp-show-redact.e2e.test.ts
model-account-catalog-authority.integration.test.ts feat(ui): select Ultrafast for supported accounts (#160352) 2026-09-30 07:45:41 +00:00
msteams-read-authority.integration.test.ts
msteams-read-target.integration.test.ts
node-host-launcher.test.ts perf(plugins): reuse and bound CLI compile caches (#157528) 2026-09-24 20:18:39 +00:00
non-isolated-runner.agent-reader-fixtures.ts
non-isolated-runner.gateway-lifecycle-fixtures.ts
non-isolated-runner.mock-resolution-fixtures.ts
non-isolated-runner.sqlite-fixtures.ts fix: retain shared-state snapshots through worker failures (#160946) 2026-09-29 07:40:30 -07:00
non-isolated-runner.sqlite.test.ts fix(test): retire subagent sweepers before SQLite owners 2026-09-28 23:38:55 -07:00
non-isolated-runner.test-api-fixtures.ts refactor: remove Tasks and TaskFlow runtime (#159179) 2026-09-27 10:40:29 -07:00
non-isolated-runner.test.ts test(runner): assert the gateway drain by error name in the cleanup fixture 2026-09-28 23:29:40 -07:00
non-isolated-runner.ts fix(test): retire subagent sweepers before SQLite owners 2026-09-28 23:38:55 -07:00
npm-publish-plan.test.ts chore(release): retire the internal Tideclaw alpha release track (#160261) 2026-09-28 10:01:49 -07:00
oauth-refresh-authority-chain.e2e.test.ts test(e2e): seed OAuth authority-chain shared store through its owner 2026-09-28 18:48:40 -07:00
official-channel-catalog.test.ts fix(agentmail): allow official ClawHub channel to load (#155097) 2026-09-28 16:10:33 -07:00
onboard-plugin-warnings.e2e.test.ts
openai-model-discovery-auth-order.test.ts test(runtime,ui,tooling): remove low-value tests (batch d013) (#158691) 2026-09-26 08:48:53 +00:00
openai-onboarding.live.test.ts
openclaw-launcher-version.e2e.test.ts perf(plugins): reuse and bound CLI compile caches (#157528) 2026-09-24 20:18:39 +00:00
openclaw-launcher.e2e.test.ts refactor: remove Tasks and TaskFlow runtime (#159179) 2026-09-27 10:40:29 -07:00
openclaw-npm-postpublish-verify.test.ts fix(release): admit 2026.9.7 recovery helper and plugin scan inventory (#160717) 2026-09-28 14:36:10 -07:00
openclaw-npm-prepublish-verify.test.ts
openclaw-npm-release-check.test.ts chore(release): retire the internal Tideclaw alpha release track (#160261) 2026-09-28 10:01:49 -07:00
openclaw-prepack.test.ts test(runtime,ui,tooling): remove low-value tests (batch d013) (#158691) 2026-09-26 08:48:53 +00:00
outbound-sanitize-text-delivery.test.ts test(core, plugins, ui): remove low-value tests (batch d040) (#159093) 2026-09-26 18:32:26 +00:00
package-manager-config.test.ts test(runtime,ui,tooling): remove low-value tests (batch d013) (#158691) 2026-09-26 08:48:53 +00:00
package-scripts.test.ts fix(browser): read Windows browser version via environment data so spaced paths stop breaking the PowerShell probe (#160432) 2026-09-29 02:51:17 +05:30
plugin-clawhub-metadata.test.ts
plugin-clawhub-release.test.ts fix(release): skip pending ClawHub publications and surface recovery for failed ones (#161985) 2026-09-30 09:35:54 -07:00
plugin-cron-registry-owner.e2e.test.ts
plugin-extension-import-boundary.test.ts
plugin-npm-package-manifest.test.ts test(runtime,ui,tooling): remove low-value tests (batch d013) (#158691) 2026-09-26 08:48:53 +00:00
plugin-npm-release.test.ts chore(release): retire the internal Tideclaw alpha release track (#160261) 2026-09-28 10:01:49 -07:00
plugin-npm-runtime-build.test.ts fix(cli): release plugin resources when help finishes (#160181) 2026-09-30 15:28:57 -07:00
pr111899-accepted-run-transport-loss.e2e.test.ts
pr119473-real-runtime-proof.e2e.test.ts
pr126853-heartbeat-visible-lane-proof.e2e.test.ts
pr142176-real-runtime-proof.e2e.test.ts
pr154462-real-runtime-proof.e2e.test.ts fix(agents): keep active turns working through configuration reloads (#154462) 2026-09-27 15:50:52 -07:00
progress-card-channel-literals.integration.test.ts
provider-auth-method.openai-siwc.integration.test.ts perf(agents): serialize large model requests once (#159574) 2026-09-27 12:22:40 +00:00
provider-auth-method.radius.integration.test.ts
qa-channel-message-tool-delivery.test.ts
qa-convex-credential-payload-validation.test.ts test(core, plugins, ui): remove low-value tests (batch d040) (#159093) 2026-09-26 18:32:26 +00:00
release-check.test.ts test(runtime,ui,tooling): remove low-value tests (batch d013) (#158691) 2026-09-26 08:48:53 +00:00
release-version.test.ts test(core, plugins, ui): remove low-value tests (batch d040) (#159093) 2026-09-26 18:32:26 +00:00
repository-test-api-publications.ts test(state,ui,browser,agents): remove low-value tests (batch d095) (#161041) 2026-09-30 01:46:57 +00:00
runtime-agent.codex-initialization.integration.test.ts fix: keep native sessions responsive during database contention (#158396) 2026-09-26 01:05:45 +00:00
scripts-update-gateway-build.test.ts fix(update): keep native service identities during discovery (#161238) 2026-09-29 16:05:40 -07:00
scripts-update-gateway-legacy.test.ts test(update): align legacy build refusal diagnostic 2026-09-28 12:09:51 -07:00
scripts-update-gateway.test.ts fix(update): prepare source replacements before service stop (#161110) 2026-09-29 03:02:35 -07:00
setup-home-isolation.test.ts
setup-openclaw-runtime.plugin-cache.test.ts test: cover shared runtime plugin retirement 2026-09-24 13:49:45 -07:00
setup-openclaw-runtime.ts fix(test): prevent plugin cache accumulation in shared workers (#157470) 2026-09-24 13:18:36 -07:00
setup.env.ts
setup.extensions.ts fix(runtime): join unbound native workers during shutdown (#161558) 2026-09-29 22:53:01 -07:00
setup.shared.ts
setup.signal.ts
setup.ts fix(update): back up every database before migrations and restore them on rollback (#158163) 2026-09-26 02:30:17 +00:00
signal-approval-forwarding.integration.test.ts fix(channels): restore system-agent approval reactions (#159132) 2026-09-26 18:11:51 -07:00
skill-usage.codex.integration.test.ts
skills-proposal-manual-target.e2e.test.ts
slack-download-read-authority.integration.test.ts
slack-outbound-permanent-rejection-loopback.test.ts test(core, plugins, ui): remove low-value tests (batch d040) (#159093) 2026-09-26 18:32:26 +00:00
sqlite-test-lifecycle.ts fix(test): prevent SQLite pathname failures in shared Gateway shards (#160838) 2026-09-29 01:53:26 +00:00
stable-release-closeout.test.ts
status-shared-state-readonly.e2e.test.ts fix(test): keep absent Gateway status fixtures unreachable (#161032) 2026-09-29 00:58:46 -07:00
subagent-announce-origin.integration.test.ts
subagent-requester-owner.e2e.test.ts refactor: remove Tasks and TaskFlow runtime (#159179) 2026-09-27 10:40:29 -07:00
system-agent-managed-auth.e2e.test.ts
talk-browser-defaults.test.ts fix(voice): share one realtime agent context across Talk, Discord, FaceTime, and voice-call (#159548) 2026-09-27 03:24:12 -07:00
telegram-history-read.integration.test.ts
telegram-outbound-permanent-rejection-loopback.test.ts test(core, plugins, ui): remove low-value tests (batch d040) (#159093) 2026-09-26 18:32:26 +00:00
telegram-question-gateway.test.ts refactor(gateway): schedule question deadlines (#160334) 2026-09-28 05:02:09 -07:00
telegram-recovery-notice-send.test.ts
telegram-reply-conversation.test.ts
test-env.state-lifetime.test.ts
test-env.test.ts
test-env.ts
test-helper-extension-import-boundary.test.ts
test-home-context.mts
test-home-policy.mts
transcripts-discord-audio.integration.test.ts
transcripts-tool.discord-lifecycle.integration.test.ts perf(sessions): reduce recovery ownership-check allocations (#160831) 2026-09-29 03:45:31 +00:00
transcripts-tool.discord-provider.integration.test.ts
tsconfig.json
twitch-message-tool-delivery.test.ts test(runtime,ui,tooling): remove low-value tests (batch d013) (#158691) 2026-09-26 08:48:53 +00:00
ui.presenter-next-run.test.ts
vitest-boundary-config.test.ts
vitest-cli-ownership.test.ts perf(sessions): publish transcript projections off thread (#154069) 2026-09-25 10:44:21 -07:00
vitest-credential-redaction.test.ts
vitest-dependency-resolution.test.ts
vitest-light-paths.test.ts test(core, plugins, ui): remove low-value tests (batch d040) (#159093) 2026-09-26 18:32:26 +00:00
vitest-performance-config.test.ts test(runtime,ui,tooling): remove low-value tests (batch d013) (#158691) 2026-09-26 08:48:53 +00:00
vitest-pr-exempt-retention.test.ts refactor: use fs-safe for file watching and preserve Doctor plugin captures (#159226) 2026-09-29 01:05:11 -07:00
vitest-projects-config.test-support.ts
vitest-projects-config.test.ts fix: preserve owner access after child follow-up results (#160018) 2026-09-28 11:51:36 -04:00
vitest-redacting-reporter.test.ts
vitest-reporters-config.test.ts
vitest-scoped-config.test.ts fix(test): keep extension batches inside requested directories (#162009) 2026-09-30 11:58:15 -07:00
vitest-ui-e2e-config.test.ts fix(qa): Inspector collection fails when a pairing link is reused (#161540) 2026-09-30 01:48:56 -05:00
vitest-ui-e2e-prebuilt.test.ts fix(test): prepare matching Control UI assets before E2E (#159624) 2026-09-27 19:46:53 +07:00
vitest-ui-e2e-preflight.test.ts
vitest-ui-package-config.test.ts fix(ci): keep reply-preview retention proof on Node (#159991) 2026-09-27 22:32:12 -03:00
vitest-unit-config.test.ts test(core, plugins, ui): remove low-value tests (batch d040) (#159093) 2026-09-26 18:32:26 +00:00
vitest-unit-fast-config.test.ts test(ci): settle cron wakes and refresh fast-lane fixtures 2026-09-29 19:42:50 -05:00
vitest-unit-paths.test.ts perf(test): speed up literal unit exclusions (#157901) 2026-09-26 11:33:18 -07:00