Skip to content

scripts/test.sh: eleven test files match no glob, so the integration-point and swarm suites have never run in CI #721

Description

@lmoresi

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions