Common Lisp `rt` suites (testing/*.lisp + .testvec) and Clojure `lein test-all` project.clj aliases are not recognised

未关闭
#265 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
3/5
预计耗时
半天
新手友好度
62/100
Issue 类型
缺陷
描述清晰度
描述清楚
活跃度
活跃
技术栈
python
领域
devtools

调研方向

The two false negatives come from ecosystem detection in project_validator/ecosystems/common_lisp.py (the path regex near line 50, the contains regex at lines 52-53, and _RUNS_TESTS at lines 57-58) and project_validator/ecosystems/clojure.py (lines 76-80, which match only literal lein test invocations). Check facts/roles.py:27 for how testing is already treated as a test directory. Done means the two repro cases (testing/t.lisp with rtest:deftest and a project.clj alias that expands to test) report PASS, with existing tests still passing.

由索引模型根据 Issue 内容生成。

描述

ironclad: 137 .testvec vectors + rtest:deftest forms under testing/, run by every job → FAIL "no tests found (FiveAM, Parachute, Rove or Prove tests (tests/*.lisp))". compojure: CI runs lein test-all, a project.clj alias for lein with-profile … test → WARN "no CI runs clojure -M:test, lein test …". Aliases in project.clj (and deps.edn) are readable.

Evidence from the corpus audit

sharplispers/ironclad / tests-run
  • kind: FALSE_NEGATIVE
  • actual: FAIL "Common Lisp: no tests found (FiveAM, Parachute, Rove or Prove tests (tests/*.lisp))"
  • expected: PASS: an rt test suite in testing/ (137 .testvec vectors + rtest:deftest forms) run by every CI job.
  • evidence: ironclad.asd:249-256: (defsystem "ironclad/tests" :depends-on ("ironclad" "rt") ... :perform (test-op (o s) (or (funcall (intern "DO-TESTS" (find-package "RTEST"))) ...)) :components ((:module "testing" ...;
    testing/test-vectors/ironclad.lisp:6: (rtest:deftest quotationp.1; .github/workflows/ci.yml:43:
    run: ros -e '...' -e '(ql:quickload "ironclad/tests")' -e '(unless (rt:do-tests) (uiop:quit -1))'.
    project_validator/ecosystems/common_lisp.py:50: path=re.compile(r"(?:^|/)(?:tests?|t)/.+\.lisp$|-tests?\.lisp$")
    excludes testing/ (although facts/roles.py:27 already treats testing as a test directory), and the
    contains regex (lines 52-53) knows (deftest/(rove:deftest but not (rtest:deftest/(rt:deftest; _RUNS_TESTS
    (lines 57-58) does not know (rt:do-tests).
  • repro: x.asd with (defsystem "x/tests" :depends-on ("rt") ...), testing/t.lisp containing (rtest:deftest a 1 1),
    workflow run: ros -e '(ql:quickload "x/tests")' -e '(unless (rt:do-tests) (uiop:quit -1))'
  • confidence: high
weavejester/compojure / tests-run
  • kind: FALSE_NEGATIVE
  • actual: WARN "tests found in 5 file(s), but no CI configuration runs clojure -M:test (or -X:test, lein test, kaocha, bb test)"
  • expected: PASS: CI runs lein test-all, a project.clj alias that runs lein with-profile ... test.
  • evidence: .github/workflows/test.yml:29: run: lein test-all; project.clj:17-18: :aliases {"test-all" ["with-profile" "default:+1.10:+1.11:+1.12" "test"]}. project_validator/ecosystems/clojure.py:76-80 matches only
    literal ("lein","test") etc.; Leiningen :aliases are not resolved (the BEAM profile resolves Mix aliases, the
    JS profile package scripts; docs/ecosystems/clojure.md documents only CLI aliases). lein with-profile X test
    (the expansion) is not matched either.
  • repro: project.clj with :aliases {"test-all" ["with-profile" "+a" "test"]}, test/x_test.clj with deftest,
    workflow run: lein test-all
  • confidence: high

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

主要语言
Python
星标
4
派生
1
平均合并
10 小时 41 分钟
30 天内合并 PR
79

环境准备

这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

cpp-best-practices/project_validator 的其他 Issue

查看 cpp-best-practices/project_validator 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。