What we found
scripts/test.sh selects serial tests with numeric batch globs. One of them,
$PYTEST tests/test_005[1-9]*py tests/test_006[0-1]*py || status=1
stopped covering its own band as soon as test_0062 was added. Eleven test
files currently match no glob in the script and have never run in CI:
tests/test_0062_rotated_constraint_exclusivity.py
tests/test_0063_mpi_hang_supervisor.py
tests/test_0064_quadrature_point_fe.py <- #703
tests/test_0065_integration_point_variable.py <- #703
tests/test_0066_integration_point_slcn.py <- #703
tests/test_0067_integration_point_proxy.py <- #707
tests/test_0068_swarm_repopulation.py <- #713
tests/test_0069_swarm_midtime_velocity.py <- #713
tests/test_0070_ve_stress_history_on_particles.py <- #713
tests/test_0301_meshvariable_clone.py
tests/test_1030_analytic_zhong2008.py
That is the entire integration-point suite delivered by #703 and #707, and the
repopulation / mid-time-velocity / VE-stress-on-particles tests delivered by
#713. Each of those PRs shipped green.
This is separate from test_106*/test_107*, which are deferred on purpose
and documented in the script against #504.
Why it is the shape of the problem, not one glob
A numeric range has to be widened by hand every time the band grows, and
nothing says when it wasn't. This is the #570 class. Widening
test_006[0-1] to test_00[6-9] fixes today's instance and leaves the next
one to chance.
Fix
Widen the stale globs, and add scripts/check_test_coverage.py, which fails
the run if any tests/test_*.py matches no glob. Files deferred by decision
go in a DEFERRED list carrying the reason and issue, on the same terms as
the allowlist in check_deprecated_patterns.py: it may only shrink.
Underworld development team with AI support from Claude Code
What we found
scripts/test.shselects serial tests with numeric batch globs. One of them,stopped covering its own band as soon as
test_0062was added. Eleven testfiles currently match no glob in the script and have never run in CI:
That is the entire integration-point suite delivered by #703 and #707, and the
repopulation / mid-time-velocity / VE-stress-on-particles tests delivered by
#713. Each of those PRs shipped green.
This is separate from
test_106*/test_107*, which are deferred on purposeand documented in the script against #504.
Why it is the shape of the problem, not one glob
A numeric range has to be widened by hand every time the band grows, and
nothing says when it wasn't. This is the #570 class. Widening
test_006[0-1]totest_00[6-9]fixes today's instance and leaves the nextone to chance.
Fix
Widen the stale globs, and add
scripts/check_test_coverage.py, which failsthe run if any
tests/test_*.pymatches no glob. Files deferred by decisiongo in a
DEFERREDlist carrying the reason and issue, on the same terms asthe allowlist in
check_deprecated_patterns.py: it may only shrink.Underworld development team with AI support from Claude Code