48 lines
1.7 KiB
Markdown
48 lines
1.7 KiB
Markdown
# TT-017 — Integration-Test Makefile + Go-Binary
|
|
|
|
**Type:** Task
|
|
**Priority:** Medium
|
|
**Labels:** testing, tooling
|
|
**Depends on:** TT-014, TT-015, TT-016
|
|
**Blocks:** —
|
|
|
|
---
|
|
|
|
## Summary
|
|
Verifiziere alle Makefile-Targets und das Go-Binary manuell durch atomare
|
|
Smoke-Tests. Kein automatisiertes Test-Framework — Ausgabe wird visuell geprüft.
|
|
|
|
## Test-Schritte
|
|
|
|
### Go-Binary
|
|
- [ ] `cd scripts/serve && go build -o serve .` → kein Fehler
|
|
- [ ] `./scripts/serve/serve --help` → Flags werden angezeigt
|
|
- [ ] `./scripts/serve/serve --dir build/apk --port 9999` ohne APK → Fehlermeldung klar
|
|
|
|
### Retention-Script
|
|
- [ ] `bash scripts/apk_retention.sh --dir /tmp/test_apk` mit simulierten APK-Dummy-Dateien (touch)
|
|
- [ ] 20 APKs 0.1.x → nach Lauf: 15 verbleiben
|
|
- [ ] 5 APKs 0.1.x + 3 APKs 0.2.x → 0.1.x: 1 verbleibt (Release-Marker), 0.2.x: alle 3
|
|
|
|
### Makefile Dev-Targets
|
|
- [ ] `make help` → Ausgabe ohne Fehler
|
|
- [ ] `make install` → `flutter pub get` erfolgreich
|
|
- [ ] `make test` → 37 Tests grün
|
|
- [ ] `make analyze` → No issues
|
|
- [ ] `make format` → kein Fehler
|
|
- [ ] `make clean` → build/ und coverage/ entfernt
|
|
|
|
### Makefile Build-Targets
|
|
- [ ] `make build_serve` → Binary erstellt
|
|
- [ ] `make build_web` → `build/web` vorhanden
|
|
- [ ] `make build_linux` → `build/linux/x64/release/bundle/timetrack` vorhanden
|
|
- [ ] `make db_schema` → Schema-Version + Tabellen sichtbar
|
|
|
|
### serve_apk Auto-Build
|
|
- [ ] Binary löschen, dann `make serve_apk` → Binary wird transparent neu gebaut
|
|
- [ ] Server startet, QR-Code erscheint im Terminal
|
|
|
|
## Acceptance Criteria
|
|
- [ ] Alle Smoke-Tests grün
|
|
- [ ] Kein Target bricht mit unerwartetem Fehler ab
|
|
- [ ] `make help` enthält alle implementierten Targets
|