Shell: urchin tests (suffix-less files under test/), .zsh-theme scripts and .zunit tests, bash versions as a toolchain axis

Offen
#275 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
25/100
Issue-Typ
Feature
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
python, shell
Bereich
testing-qa, tooling

Rechercherichtung

Start with the Shell ecosystem profile in docs/ecosystems/shell.md, which says platform-matrix is not judged, and with the .map.json unrecognised_suffixes handling that produces the "no tests found" message. Three separate detection gaps are raised: urchin tests under test/, .zsh-theme and .zunit files, and bash versions as a platform axis. Done means the three audit cases in corpus/projects.toml produce the expected results, and the ohmyzsh repro in the issue no longer reports "no tests found" for .zunit files.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

nvm's 300+ tests are urchin tests (suffix-less shell files under test/fast, test/slow, …) run by every workflow → "no tests found". ohmyzsh's 144 .zsh-theme files are zsh scripts and plugins/dotenv/tests/*.zunit are zunit tests (not run in CI, so the FAIL stands but "no tests found" is wrong). bats-core tests 11 bash versions across linux/macos/windows/freebsd/alpine; Shell has no platform axis and the project is judged as Python "0 OS".

Evidence from the corpus audit

nvm-sh/nvm / tests-run
  • kind: UNSUPPORTED
  • actual: [FAIL] tests-run: JavaScript/TypeScript: no tests found (...); Shell: no tests found (bats tests (*.bats), shellspec specs (spec/*_spec.sh) or shunit2 tests (*_test.sh))
  • expected: nvm's 300+ tests are urchin tests (suffix-less shell files under test/fast, test/slow, ...), run by every test workflow.
  • evidence: Makefile:6: URCHIN := urchin; package.json scripts: "test": "shell=$(basename -- ...); make test-$shell"; test/fast/, test/slow/, test/sourcing/ directories.
  • repro: unclear (urchin has no file suffix convention; it runs every executable under a directory).
  • confidence: medium
ohmyzsh/ohmyzsh / detection, tests-run
  • kind: UNSUPPORTED
  • actual: .map.json unrecognised_suffixes: .zsh-theme x144, .zunit x3; Shell: no tests found
  • expected: .zsh-theme files are zsh scripts (Shell); plugins/dotenv/tests/*.zunit are zunit tests (CI does not run them, so the FAIL stands, but the message "no tests found" is wrong).
  • evidence: themes/*.zsh-theme (144 files); plugins/dotenv/tests/basic-parsing.zunit, security.zunit, compatibility.zunit; .github/workflows/main.yml:36: zsh -n "$file" || return 1 (syntax check only).
  • repro: a tests/a.zunit file.
  • confidence: low
bats-core/bats-core / platform-matrix, tests-run (docs)
  • kind: UNSUPPORTED
  • actual: [SKIP]-equivalent for Shell platform-matrix (judged only as Python: CI covers 0 OS(es)); Documentation site: tests found in 1 file(s), but no CI configuration runs sphinx-build -W docs docs/_build
  • expected: bash versions are a real toolchain axis here (11 versions x linux/macos/windows/freebsd/alpine); the docs are built by Read the Docs.
  • evidence: .github/workflows/tests.yml:199-202: bash-version: / version: ['3.2', '4.0', '4.1', '4.2', '4.3', '4.4', '4', '5.0', '5.1', '5', 'rc']; .readthedocs.yml:3-4: sphinx: / configuration: docs/source/conf.py.
    docs/ecosystems/shell.md says platform-matrix is not judged because "shells have none CI names" - this project names them.
  • repro: unclear
  • confidence: low

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

Vorherrschende Sprache
Python
Sterne
4
Forks
1
Ø Merge
10 Std. 41 Min.
Gemergte PRs (30 T.)
79

Entwicklungsumgebung

Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus cpp-best-practices/project_validator

Alle Issues in cpp-best-practices/project_validator

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.