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

Ouverte
#268 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
22/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
Active
Stack technique
github-actions, latex, lua, python
Domaine
testing-qa, tooling

Piste de recherche

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.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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

Langage dominant
Python
Étoiles
4
Forks
1
Merge moyen
10 h 41 min
PR mergées (30 j)
79

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de cpp-best-practices/project_validator

Toutes les issues de cpp-best-practices/project_validator

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.