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

Đang mở
#268 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
22/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
github-actions, latex, lua, python
Lĩnh vực
testing-qa, tooling

Hướng nghiên cứu

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.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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

Ngôn ngữ chính
Python
Star
4
Fork
1
Merge trung bình
10 giờ 41 phút
Pull request đã merge (30 ngày)
79

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của cpp-best-practices/project_validator

Tất cả issue của cpp-best-practices/project_validator

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.