Lua/LaTeX: plenary's `-c "PlenaryBustedDirectory …"` is credited as busted's -c coverage flag (luacov false positive); Teal (.tl, tl check) unknown; l3build unknown; Neovim versions are the toolchain axis of a plugin

Abierto
#268 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
22/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
github-actions, latex, lua, python

Línea de trabajo

Four separate detection problems are bundled here. Start with _luacov in project_validator/ecosystems/lua.py, where nvim's -c is read as busted's coverage flag, then the Lua toolchain_patterns call and the LaTeX toolchain_patterns in ecosystems/latex.py. Each finding needs its own fix and a corpus entry in corpus/ showing the expected result. Split the issue before starting, since the luacov fix and the matrix or LaTeX detection changes are independent.

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

Descripción

telescope.nvim: coverage PASS "line coverage is reported with luacov" with no luacov anywhere — _luacov in ecosystems/lua.py takes nvim's -c as busted's coverage flag (affects every plenary-based plugin). luarocks' sources are Teal (117 .tl under src/luarocks/, the .lua beside them generated by tl gen; tl check is a type checker) → unrecognised, type-checking FAIL. latex3/l3build's regression tests (texlua l3build.lua check, .lvt/.tlg) on five engines → "no CI runs latexmk". telescope's matrix is 3 OSes × 2 Neovim versions (rhysd/action-setup-vim version:) → "1 Lua version (default)".

Evidence from the corpus audit

nvim-telescope/telescope.nvim / coverage
  • kind: FALSE_POSITIVE
  • actual: PASS: line coverage is reported with luacov
  • expected: FAIL: nothing in the repository mentions luacov or --coverage; CI only runs plenary's busted inside Neovim.
  • evidence: Makefile:4: nvim --headless --noplugin -u scripts/minimal_init.vim -c "PlenaryBustedDirectory lua/tests/automated/ { minimal_init = './scripts/minimal_init.vim' }";
    .github/workflows/ci.yml:48: make test; grep -rn luacov over the checkout finds nothing;
    --answers for coverage records "tools": ["luacov"], "reported": ["luacov"].
    Validator: project_validator/ecosystems/lua.py _luacov: if not _runs_busted(command): return None (true via
    _plenary, which matches nvim + PlenaryBusted), then if has_option(argv, "--coverage", "-c"): return reported(Granularity.LINE):
    nvim's -c <command> is taken for busted's -c (coverage).
  • repro: Makefile with test:\n\tnvim --headless -c "PlenaryBustedDirectory tests", a workflow step run: make test,
    one tests/a_spec.lua containing describe(.
  • confidence: high
latex3/l3build / tests-run (and detection)
  • kind: UNSUPPORTED
  • actual: FAIL: LaTeX: tests found in 3 file(s), but no CI configuration runs latexmk -pdf main.tex (...); Lua: no tests found
  • expected: PASS: CI runs the project's regression tests with l3build on five engines, and typesets the docs with it.
  • evidence: .github/workflows/main.yaml:27: run: texlua l3build.lua check -q -H --show-log-on-error;
    .github/workflows/main.yaml:43: run: texlua l3build.lua doc -q -H; .github/workflows/main.yaml:21:
    uses: zauguin/install-texlive@v4; build.lua:9: checkengines = {"pdftex", "xetex", "luatex", "ptex", "uptex"};
    test files testfiles/00-test-1.lvt, testfiles/00-test-1.tlg (map: .tlg 20 files and .lvt 11 files
    "unrecognised"; .ins 9 files unrecognised here and 1 in mtheme: docstrip installers are LaTeX sources).
    The map's CI jobs show "ecosystems": [] for every job: neither texlua, l3build nor zauguin/install-texlive
    is a LaTeX toolchain marker (project_validator/ecosystems/latex.py toolchain_patterns(... programs=("latexmk", "pdflatex", ...), actions=("latex-action", "setup-texlive-action"))).
    l3build is how latex3 and most CTAN packages test (l3build check), so this misses the LaTeX ecosystem's main test
    tool; the checkengines list is also the natural "toolchain matrix" for LaTeX, which platform-matrix could count.
  • repro: build.lua with module = "x", testfiles/a.lvt + testfiles/a.tlg, workflow step run: l3build check
    (or texlua l3build.lua check) after uses: zauguin/install-texlive@v4.
  • confidence: high
luarocks/luarocks / detection (Teal)
  • kind: UNSUPPORTED
  • actual: map unrecognised_suffixes: .tl 117 files; type-checking FAIL "no type checker runs"; committed-artifacts
    "Lua: no build outputs are committed"
  • expected: Teal recognised as the project's source language: .tl under src/luarocks/ are the sources, the
    .lua beside them are generated (tl gen), and tl check/tl gen --check is a type checker.
  • evidence: src/luarocks/build.tl, src/luarocks/cmd.tl, ... (27 .tl beside 27 generated .lua in src/luarocks/
    alone); tlconfig.lua:1-6: return { / build_dir = "build", / source_dir = "src", / include_dir = { "src", "types", "vendor" }, / gen_target = "5.1",;
    teal.sh:12: tl gen --check -I ../types -I ../vendor $tealname -o $luaname; .github/workflows/test.yml:71:
    luarocks install tl; vendor/argparse.d.tl, vendor/dkjson.d.tl (Teal declaration files).
    Not a bug: Teal is simply not in the Lua profile (nor is .moon MoonScript: busted's spec/moonscript_spec.moon).
  • repro: unclear (new language support)
  • confidence: medium
nvim-telescope/telescope.nvim / platform-matrix
  • kind: FALSE_NEGATIVE
  • actual: FAIL: CI covers 1 OS(es) (linux), 1 Lua version(s) (default), 1 combination(s); detail lines list six
    unit tests (...) jobs on linux, macos and windows, each "no Lua version"
  • expected: PASS: the test matrix is 3 OSes x 2 Neovim versions (nightly, stable); for a Neovim plugin the runtime
    version is the toolchain axis, named by rhysd/action-setup-vim's version (also neovim: true), or by
    folke/github/neovim's / MunifTanjim/setup-neovim-action's inputs.
  • evidence: .github/workflows/ci.yml:19-20: os: [ubuntu-latest, macos-latest, windows-latest] / rev: [nightly, stable];
    .github/workflows/ci.yml:32-35: uses: rhysd/action-setup-vim@v1 / with: / neovim: true / version: ${{ matrix.rev }}.
    Validator: project_validator/ecosystems/lua.py toolchain_patterns("Lua", version=_LUA_VERSION, inputs=("luaVersion", "lua-version"), ... actions=("gh-actions-lua",))
    knows only Lua interpreter versions. The one counted job is the luacheck job (lint.yml:23: sudo luarocks install luacheck, version "default").
  • repro: workflow with matrix: {os: [ubuntu-latest, macos-latest], rev: [stable, nightly]}, step
    uses: rhysd/action-setup-vim@v1 with neovim: true, version: ${{ matrix.rev }}, then run: nvim --headless -c "PlenaryBustedDirectory tests".
  • confidence: medium

Found by the regression-corpus audit (235 real repositories, one or more per ecosystem profile; corpus and expected results in corpus/). Evidence is quoted from the audited checkouts at the commits pinned in corpus/projects.toml; <checkouts>/<owner>__<repo> is such a checkout.

🤖 Generated with Claude Code

https://claude.ai/code/session_01ByTXNqDWdM7HzezrFtEvQt

Lenguaje dominante
Python
Estrellas
4
Forks
1
Merge medio
10 h 41 min
PR fusionados (30 d)
79

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

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 cpp-best-practices/project_validator

Todos los issues de cpp-best-practices/project_validator

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.