Resolve corpus compiler paths before changing the working directory
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
調査の方向性
tools/check_wave_corpus.py から始め、提供された Linux 再現手順を実行して、作業ディレクトリの変更後に発生するパスの失敗を確認します。WAVEC の選択を追跡し、リポジトリの外部から修正を検証します。これには、スペースを含む呼び出し元相対パスも含まれます。明示的なパスが選択されたままとなり、同名の PATH 実行可能ファイルにフォールバックしなければ完了です。
索引モデルが issue の本文から書いたものです。
説明
Problem
An explicit relative compiler path is validated in the caller directory but returned unchanged. Compilation later runs with cwd=ROOT; a valid ./fake-wavec becomes a bare fake-wavec executable name and cannot be launched. A compiler with that name on PATH could also be selected instead.
Starting points: tools/check_wave_corpus.py.
Reproduction
Executed on Linux amd64 with Python 3.14.7. The affected files at local ade878134519b0f957ca28a23c6f9cd98e43dff3 are byte-identical to canonical master 286dad9c8fcb0616f7c719c72cbf453a7d9925fd.
Run from the repository root:
python3 -B - <<'PYREPRO'
import os, tempfile
from pathlib import Path
from unittest.mock import patch
from tools import check_wave_corpus as c
with tempfile.TemporaryDirectory() as tmp:
p = Path(tmp) / 'fake-wavec'
p.write_text('#!/bin/sh\nexit 0\n')
p.chmod(0o700)
os.chdir(tmp)
with patch.object(c, 'corpus_files', return_value=[c.ROOT / 'examples/std/net_tcp.wave']):
c.main(['--wavec', './fake-wavec'])
PYREPRO
Observed: FileNotFoundError: [Errno 2] No such file or directory: fake-wavec. The provided executable exists and is executable.
Scope
Easy: make successfully resolved executable paths stable across the child working-directory change, including the WAVEC override. Keep explicit-selection precedence.
Completion criteria
- A caller-relative executable runs from outside the repository.
- Explicit paths cannot silently fall back to a same-named PATH executable.
- Cover relative paths containing spaces and WAVEC selection.
- 主要言語
- Rust
- スター
- 56
- フォーク
- 21
- 平均マージ
- 4時間 11分
- マージ済み PR(30日)
- 48
環境構築
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
wavefnd/Wave のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
enhancement good first issue needs testing
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
bug good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
bug good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
documentation enhancement good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
メンテナーはふだん 1 日以内に返信
似ている issue
-
documentation P2
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
メンテナーはふだん 1 日以内に返信
-
bug good first issue priority:high
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
Konfirm-xyz/konfirm-contracts#163 ·
メンテナーはふだん 1 日以内に返信
-
area:gc-repack-output bug factory:dogfood factory:triaged priority:p3 type:bug type:ux
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
gitbutlerapp/grit#1161 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
メンテナーはふだん 1 日以内に返信
-
feature performance
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
lance-format/lance#10137 ·
メンテナーはふだん 2 日以内に返信