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

オープン
#265 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
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分
マージ済み PR(30日)
79

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

cpp-best-practices/project_validator のほかの issue

cpp-best-practices/project_validator の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。