fangorn/ex_git_objectstore
public
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 |
|
||