Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Resolve corpus compiler paths before changing the working directory

Cerrado Apto para principiantes
#808 0 comentarios 0 reacciones 1 asignado Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
78/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
python
Área
tooling

Línea de trabajo

Comienza en tools/check_wave_corpus.py y ejecuta la reproducción de Linux proporcionada para observar el fallo de ruta después del cambio del directorio de trabajo. Sigue la selección de WAVEC y verifica la corrección desde fuera del repositorio, incluidos los paths relativos al invocador que contienen espacios. Se considera terminado cuando los paths explícitos siguen seleccionándose sin recurrir a un ejecutable de PATH con el mismo nombre.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

bug good first issue needs testing

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.
Lenguaje dominante
Rust
Estrellas
56
Forks
21
Merge medio
4 h 41 min
PR fusionados (30 d)
58

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de wavefnd/Wave

Todos los issues de wavefnd/Wave

Issues similares

Más issues de Rust

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.