Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Suite runner never asserts PASS + FAIL == TOTAL, so a section can vanish from the tally or double-count

Abierto
#1,354 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

  • #1561 de @InauguralPhysicist — cerrado sin fusionar

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
74/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
bash, shell
Área
testing-qa

Línea de trabajo

Start with tests/run_all_tests.sh and read how each section updates PASS, FAIL, TOTAL, and skipped counts, then inspect tools/section_plan.sh for the existing skip audit. Run full, sharded, and changed-sections suites, including the three [99zb] mutations described in the issue. Done means the suite reports a named nonzero failure for mismatched counters while valid skips remain outside TOTAL.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

area:gates found-by:critic kind:gate-defect

Found by a blind critic while reviewing the #1326 fix. It is out of scope there, so it is filed here.

tests/run_all_tests.sh prints RESULTS: $PASS/$TOTAL passed, $FAIL failed, $SKIPPED skipped, but nothing asserts the three counters agree. Each section increments TOTAL and then PASS or FAIL (or gives the TOTAL back and calls section_skip) by hand. A mistake in one of those increments does not show up anywhere.

Measured with the #1326 branch, a changed-sections run, and bash32 hidden. Each case mutated only [99zb]'s skip arm:

mutation RESULTS line suite rc
section_skip ... → PASS=$((PASS+1)) (the pre-#1326 behaviour) 419/418 passed, 0 failed, 0 skipped 0
section_skip ... → : 418/418 passed, 0 failed, 0 skipped (the section vanishes) 0
drop TOTAL=$((TOTAL - 1)) 418/419 passed, 0 failed, 1 skipped 0

tools/section_plan.sh --skip-audit is static: it checks that skip lines are ROUTED through section_skip, not that the counters add up. So all three mutations pass it. It does catch a bare echo " SKIP:".

This exists only as mutants today; the real tree reads 5397/5397 on a full release run. It is still a missing invariant: the RESULTS line is the suite's verdict, and it can currently state an impossible fraction and exit 0.

Done when

  • The runner fails (nonzero exit, named reason) when PASS + FAIL != TOTAL at the RESULTS line.
  • Calibrated: each of the three mutations above makes the suite red. Shown in the PR.
  • Sharded and changed-sections runs obey the same invariant (their TOTAL is the selected sections' total).
  • A section's skip still counts only in skipped=. The invariant does not push skips back into TOTAL.
Lenguaje dominante
C
Estrellas
3
Forks
7
Merge medio
11 h 28 min
PR fusionados (30 d)
262

Preparar el entorno

Abrir en Codespaces

Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de InauguralSystems/EigenScript

Todos los issues de InauguralSystems/EigenScript

Issues similares

Más issues de C

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.