statechart: relative-symlink launcher test fails on macOS because /var is a symlink
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 72/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- macos, node.js, typescript
調査の方向性
失敗しているケースは、pstack/skills/statechart/scripts/test/cli.test.ts の約135行目にある 'the launcher reached through an absolute and a relative symlink' というテストです。os.tmpdir() の下にリンクを作成する linkedLauncher ヘルパーと、相対ターゲットを組み立てる path.relative の呼び出しを読んでください。macOS で --test-name-pattern フィルタを使ってテストを実行します。相対リンクを作る前に一時ディレクトリを realpath で解決し、テストが macOS と Linux の両方で通れば完了です。
索引モデルが issue の本文から書いたものです。
説明
On macOS, the launcher reached through an absolute and a relative symlink writes the committed chart on this Node in pstack/skills/statechart/scripts/test/cli.test.ts fails. The test before it, which reaches the launcher by its own path, passes.
$ node --disable-warning=ExperimentalWarning --test --test-name-pattern="launcher reached" test/cli.test.ts
✔ the launcher reached by its own path writes the committed chart on this Node
✖ the launcher reached through an absolute and a relative symlink writes the committed chart on this Node
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
undefined !== ''
at cli.test.ts:135:12
Node v26.13.0, macOS. The scripts are copied verbatim from ae5650f.
Cause. linkedLauncher creates its links under os.tmpdir(), which is /var/folders/... on macOS. /var is a symlink to /private/var. path.relative(second, launcher) computes the relative target lexically from /var/folders/.../b. The kernel resolves the link's .. segments from the physical directory, /private/var/folders/.../b, which is one level deeper, so the relative link points at a path that doesn't exist and the spawn fails.
Possible fix. Resolve the temp directory before building the relative link, for example fs.mkdtempSync(path.join(fs.realpathSync(os.tmpdir()), "statechart-links-")).
- 主要言語
- TypeScript
- スター
- 14.9k
- フォーク
- 1.5k
- 平均マージ
- 3時間 22分
- マージ済み PR(30日)
- 146
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
cursor/plugins のほかの issue
-
難易度 1/5 1時間未満 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
cursor/plugins#1165 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1〜3時間 初心者へのやさしさ 82/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
pstack statechart: strict typecheck reports four errors in run.ts and CLI tests対応中かも @surlymochan が 4 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
メンテナーはふだん 1 日以内に返信
似ている issue
-
area: infrastructure bug priority: low
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
snapotter-hq/SnapOtter#4575 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
メンテナーはふだん 1 日以内に返信
-
documentation server-memory v2
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
modelcontextprotocol/servers#5457 ·
メンテナーはふだん 1 日以内に返信
-
comp: ssr comp: zones type: feature version: current (v17+)
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
angular/angularfire#3836 ·
メンテナーはふだん 3 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信