# Test

> Test

- Skill: `soniqo/test` (Agent Skill)
- Install (CLI): `npx skillmds@latest add soniqo/test`
- Raw SKILL.md: https://api.skillmd.com/api/skills/soniqo/test/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: soniqo (https://skillmd.com/u/soniqo)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/soniqo/test

---


# Test

Run unit and/or E2E tests.

- `unit` (default): Quick tests, no model downloads. CI-safe.
- `e2e`: Full pipeline tests with real models, via `scripts/test_e2e_isolated.sh`
  — one process per E2E suite. Never use plain `swift test` for the full E2E
  suite: models accumulate in a single xctest process and can exhaust system
  memory (observed: machine reboot).
- `all`: Both unit and E2E (unit phase once, then isolated E2E suites).
- Any other argument: passed as `--filter` to swift test.

```bash
arg="${ARGUMENTS:-unit}"
case "$arg" in
  unit) swift test --skip E2E 2>&1 | tail -20 ;;
  e2e)  swift build --build-tests --disable-sandbox && ./scripts/build_mlx_metallib.sh debug && E2E_SKIP_UNIT=1 scripts/test_e2e_isolated.sh 2>&1 | tail -40 ;;
  all)  swift build --build-tests --disable-sandbox && ./scripts/build_mlx_metallib.sh debug && scripts/test_e2e_isolated.sh 2>&1 | tail -40 ;;
  *)    swift test --filter "$arg" 2>&1 | tail -20 ;;
esac
```

E2E test classes MUST be prefixed with `E2E`. Unit test classes must NOT contain `E2E`.

