Skip to content

test(mcpx): darwin test-compile portability for internal/daemon (#237) - #3288

Merged
dezren39 merged 3 commits into
mainfrom
queue/4805-237-darwin-compile
Nov 1, 2026
Merged

dezren39 merged 3 commits into
mainfrom
queue/4805-237-darwin-compile

Conversation

@dezren39

@dezren39 dezren39 commented Nov 1, 2026 •

Copy link
Copy Markdown
Member

What

Darwin test-compile portability for pkgs/mcpx/internal/daemon — the compile half of #237 (queue task 4805; triage verdict by task 2054 on #237).

  • unixPair (takeover_test.go): drop the Linux-only syscall.SOCK_CLOEXEC from shared test code. The socketpair is created plainly and close-on-exec is set via syscall.CloseOnExec, which exists on both linux and darwin.
  • exeBytes (exec-change test): split into per-OS helpers. Linux keeps the /proc/<pid>/exe inode read (exe_bytes_linux_test.go); darwin, which has no /proc, resolves the child's exec path via kern.procargs2 (golang.org/x/sys/unix.SysctlRaw) and reads that file (exe_bytes_darwin_test.go). The shared test no longer assumes /proc or skips off-linux.
  • scripts/darwin-compile-check.sh: DARWIN_COMPILE_EXCEPTIONS is now empty — the internal/daemon entry was the last one.

Verification (laptop, this branch)

  • GOOS=darwin GOARCH=arm64 CGO_ENABLED=0 go test -c ./internal/daemon/ — compiles (previously: undefined: syscall.SOCK_CLOEXEC).
  • bash scripts/darwin-compile-check.sh — passed, exceptions skipped: 0 (full darwin test-compile scan, 36s).
  • go vet ./internal/daemon/ (linux + darwin) — clean; gofmt clean.
  • Linux targeted tests pass: TestExecChangeRestartsThatPoolAndNoOther, TestExecWatchOffWhenTheIntervalIsZero, TestAFrameCarriesItsDescriptorWithItsBody.

Full linux suites for internal/daemon, internal/pool, internal/e2e, internal/mcpclient ride CI on this PR.

Set

Downstream member: dezren39/nix mcpxDarwinSkip compile-driven entries — separate PR in that repo referencing #237 (same set, per the cross-repo rule; no new per-repo issue).

Refs #237 (does not close it: the darwin runtime takeover decision is the companion packet, preserved at hidden_files/packet-237-runtime.json).


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

unixPair: drop the Linux-only syscall.SOCK_CLOEXEC from shared test code; create the socketpair plainly and set close-on-exec via syscall.CloseOnExec (portable across linux/darwin).

exeBytes: split into per-OS helpers — linux keeps the /proc/<pid>/exe inode read; darwin resolves the child exec path via kern.procargs2 (x/sys/unix SysctlRaw) and reads that file. The shared exec_watch_test.go no longer assumes /proc.

darwin-compile-check.sh: DARWIN_COMPILE_EXCEPTIONS is now empty (the internal/daemon entry was the last one). Gate verified on the laptop: darwin/arm64 test-compile scan passes with 0 exceptions skipped; internal/daemon compiles for darwin/arm64; targeted linux tests pass.
@dezren39
dezren39 requested a review from a team as a code owner November 1, 2026 01:56
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 1, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-01T03:55:37.187282Z 2cb7eb8 New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@coderabbitai

coderabbitai Bot commented Nov 1, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 29 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 9a260ad6-f978-48a3-bcac-cda16ed705cf
Commits

Reviewing files that changed from the base of the PR and between a1aa07d and 2cb7eb8.

Files selected for processing: 5
  • pkgs/mcpx/internal/daemon/exe_bytes_darwin_test.go
  • pkgs/mcpx/internal/daemon/exe_bytes_linux_test.go
  • pkgs/mcpx/internal/daemon/exec_watch_test.go
  • pkgs/mcpx/internal/daemon/takeover_test.go
  • pkgs/mcpx/scripts/darwin-compile-check.sh
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 23a73750bb

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@dezren39

dezren39 commented Nov 1, 2026

Copy link
Copy Markdown
Member Author

🤖 Agent note · parked — queue task 4805 parked on this PR's queued CI (fleet runner backlog). Verified on the laptop before opening: darwin/arm64 test-compile of internal/daemon OK, full darwin-compile-check.sh passed with 0 exceptions, targeted linux tests pass. Resume: checks green → Codex disposition → merge → dezren39/nix downstream PR (pin bump + postPatch removal + one mcpxDarwinSkip entry drop) per the park note on #237.

…ex P2 on #3288)

kern.procargs2 is handler-backed: name2oid rejects the PID formatted
into the OID string with ENOENT, so the darwin exec-change test would
fail at runtime on macOS. SysctlRaw takes the PID as a numeric MIB arg.
@dezren39

dezren39 commented Nov 1, 2026

Copy link
Copy Markdown
Member Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Swish!

Reviewed commit: 007a1e7ec0

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@dezren39

dezren39 commented Nov 1, 2026

Copy link
Copy Markdown
Member Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Hooray!

Reviewed commit: 007a1e7ec0

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

…-compile

# Conflicts:
#	pkgs/mcpx/scripts/darwin-compile-check.sh
@dezren39
dezren39 merged commit 6e7f8fc into main Nov 1, 2026
2 checks passed
@dezren39
dezren39 deleted the queue/4805-237-darwin-compile branch November 1, 2026 03:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant