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
維護者通常 1 天內回覆
還沒有人認領這個 Issue。
評估
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 新手友好度
- 22/100
- Issue 類型
- 缺陷
- 描述清晰度
- 基本清楚
- 活躍度
- 活躍
- 領域
- testing-qa, tooling
研究方向
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.
由索引模型根據 Issue 內容生成。
描述
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 luacovover the checkout finds nothing;
--answersfor coverage records"tools": ["luacov"],"reported": ["luacov"].
Validator:project_validator/ecosystems/lua.py_luacov:if not _runs_busted(command): return None(true via
_plenary, which matchesnvim+PlenaryBusted), thenif has_option(argv, "--coverage", "-c"): return reported(Granularity.LINE):
nvim's-c <command>is taken for busted's-c(coverage). - repro:
Makefilewithtest:\n\tnvim --headless -c "PlenaryBustedDirectory tests", a workflow steprun: make test,
onetests/a_spec.luacontainingdescribe(. - 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 filestestfiles/00-test-1.lvt,testfiles/00-test-1.tlg(map:.tlg20 files and.lvt11 files
"unrecognised";.ins9 files unrecognised here and 1 in mtheme: docstrip installers are LaTeX sources).
The map's CI jobs show"ecosystems": []for every job: neithertexlua,l3buildnorzauguin/install-texlive
is a LaTeX toolchain marker (project_validator/ecosystems/latex.pytoolchain_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; thecheckengineslist is also the natural "toolchain matrix" for LaTeX, whichplatform-matrixcould count. - repro:
build.luawithmodule = "x",testfiles/a.lvt+testfiles/a.tlg, workflow steprun: l3build check
(ortexlua l3build.lua check) afteruses: zauguin/install-texlive@v4. - confidence: high
luarocks/luarocks / detection (Teal)
- kind: UNSUPPORTED
- actual: map
unrecognised_suffixes:.tl117 files;type-checkingFAIL "no type checker runs";committed-artifacts
"Lua: no build outputs are committed" - expected: Teal recognised as the project's source language:
.tlundersrc/luarocks/are the sources, the
.luabeside them are generated (tl gen), andtl check/tl gen --checkis a type checker. - evidence:
src/luarocks/build.tl,src/luarocks/cmd.tl, ... (27.tlbeside 27 generated.luainsrc/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.moonMoonScript: busted'sspec/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 byrhysd/action-setup-vim'sversion(alsoneovim: 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.pytoolchain_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@v1withneovim: true,version: ${{ matrix.rev }}, thenrun: 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
- 主要語言
- Python
- 星號
- 4
- 分支
- 1
- 平均合併
- 10 小時 41 分鐘
- 30 天內合併 PR
- 79
環境準備
這個專案沒有提供開發容器、Dockerfile 或貢獻指南,環境需要你自己搭建:先看它的 README,通用步驟見我們的新手貢獻指南。
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
cpp-best-practices/project_validator 的其他 Issue
-
難度 2/5 1-3 小時 新手友好度 62/100
cpp-best-practices/project_validator#267 ·
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 68/100
cpp-best-practices/project_validator#263 ·
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 62/100
cpp-best-practices/project_validator#260 ·
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 74/100
cpp-best-practices/project_validator#259 ·
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 65/100
cpp-best-practices/project_validator#255 ·
維護者通常 1 天內回覆
查看 cpp-best-practices/project_validator 的全部 Issue
相似的 Issue
-
documentation type/bug
難度 2/5 1-3 小時 新手友好度 78/100
維護者通常 1 天內回覆
-
難度 1/5 1 小時以內 新手友好度 65/100
StevenBlack/hosts#3299 ·
-
`garak --report` overwrites the input report when its name has no ".report"可能已有人在做 @0z5a 今天認領。 未關閉needs-triage
難度 2/5 半天 新手友好度 72/100
維護者通常 2 天內回覆
-
trace: Pi's 1-hour cache writes are priced at 1.25x, but billed at 2x可能已有人在做 @Shizoqua 今天認領。 未關閉
難度 2/5 1-3 小時 新手友好度 82/100
microsoft/TokenEconomizer#221 ·
維護者通常 1 天內回覆
-
plot_graph crashes when a mesh node has no m2m edge可能已有人在做 @tygvi 今天認領。 未關閉
難度 2/5 1-3 小時 新手友好度 78/100
mllam/neural-lam#883 · 1 則留言 ·
維護者通常 2 天內回覆