ref:bdb8027089877e708142eb75cfc90ccb9976fba9

test: stop hiding the S3 backend behind exclude/skip

Previously the S3 backend was invisible to the default `mix test`: - test/test_helper.exs had `ExUnit.start(exclude: [:s3])` — unconditional blanket exclusion of every `:s3`-tagged test. - 4 module-level conditionals like: if !@minio_available do @moduletag :skip end auto-skipped the file when MinIO wasn't reachable on localhost:9000. - Same shape for git-lfs CLI availability in 2 LFS interop tests. Net effect: the S3 backend has been continuously test-passing AND continuously not-deployed for ~2 months. Nobody noticed it wasn't in production because the tests never ran where someone might have asked "why isn't this enabled?" Drops every conditional skip: - `ExUnit.start(exclude: [:s3])` → `ExUnit.start()`. - `@minio_available`/`@git_lfs_available` compile-time probes + the `if !available do @moduletag :skip end` blocks: removed. Tests now run unconditionally; they fail loudly if the infrastructure isn't there. That's the correct UX for a precondition the dev environment is supposed to provide. Anvil's `docker-compose.yml` includes a MinIO service. The "right" way to run this suite locally has always been `docker compose up -d` first; the silent skip was excusing forgetting that step. Verified: 954 tests, 0 failures with MinIO running locally on :9000 and `git-lfs` on PATH (was 903 before with 51 hidden behind skips). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
SHA: bdb8027089877e708142eb75cfc90ccb9976fba9
Author: Cole Christensen <cole.christensen@macmillan.com>
Date: 2026-04-29 17:03
Parents: dca2cb6
5 files changed +4 -64
Type
test/test_helper.exs +1 −1
@@ -12,4 +12,4 @@
# See the License for the specific language governing permissions and
# limitations under the License.
ExUnit.start(exclude: [:s3])
ExUnit.start()