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

Aberta
#268 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
22/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
github-actions, latex, lua, python
Domínio
testing-qa, tooling

Direção de pesquisa

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.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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

Linguagem predominante
Python
Estrelas
4
Forks
1
Merge médio
10h 41min
PRs com merge (30d)
79

Preparar o ambiente

Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de cpp-best-practices/project_validator

Todas as issues de cpp-best-practices/project_validator

Issues semelhantes

Mais issues de Python

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.